Swing z-Order von Komponenten beibehalten.

Volvagia

Top Contributor
Ich hoffe, ihr könnt mir helfen.
Ich habe ein JApplet, was in etwa so aufgebaut ist:

Code:
JApplet
	JPanel
		JPanel
			JPanel
				....
		JPanel
			JPanel (x (n + 2)) (0)
				....
		JPanel (2)
			JPanel (x 9)
				JLabel (1)

Wenn das JPanel (0) angezeigt wird, sieht man manchmal ein JLabel (1) durch. Wenn ich es bewege passt es wieder. Wenn ich scrolle (also 2 in die gegengesetzte Richtung bewege) flackert auch manchmal 1 durch, wenn sich 0 an der Position befindet wo sich 1 bewegt.

Hat jemand vielleicht eine Idee, wie man das beheben kann? Ich weiß nicht, ob und wenn ja welcher Source euch dabei weiterhelfen könnte. :bahnhof:
 

Marco13

Top Contributor
Schwer nachzuvollziehen. Sicher, dass du nicht irgendwo versehentlich eine AWT-Component verwendet hast? (Applet, Panel oder Label statt JApplet, JPanel und JLabel)? Ansonsten kannst du mal schauen, ob du nicht vielleicht eine JLayeredPane brauchst...
 

Volvagia

Top Contributor
Ups.
PicFront - spiel.gif

Ich habe einen Testsource geschrieben, wo das Problem allerdings nicht auftritt. ???:L
Ich wüsste aber nicht, was der Unterschied im Aufbau zwischen dem und meinem Projekt ist. Fällt dir vielleicht etwas auf? Ich wüsste echt nicht, wo ich mit der Fehlersuche beginnen soll.

Java:
import java.awt.Color;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Main
{
	public static void main(String[] args)
	{
		JFrame frame = new JFrame();
		frame.setSize(640, 480);
		frame.setLayout(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setResizable(false);
		
		JPanel upperPanel = new JPanel(null);
		upperPanel.setOpaque(false);
		upperPanel.setBounds(0, 0, frame.getWidth(), frame.getHeight());
		frame.add(upperPanel);
		
		JLabel upperLabel = new JLabel();
		upperLabel.setOpaque(true);
		upperLabel.setBounds(200, 200, 200, 200);
		upperLabel.setBackground(Color.YELLOW);
		upperPanel.add(upperLabel);
		
		final JPanel lowerPanel = new JPanel(null);
		lowerPanel.setBounds(0, 0, frame.getWidth(), frame.getHeight());
		lowerPanel.setFocusable(true);
		lowerPanel.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent arg0)
			{
				if(arg0.getKeyCode() == KeyEvent.VK_UP)
					lowerPanel.setLocation(lowerPanel.getX(), lowerPanel.getY() - 5);
				else if(arg0.getKeyCode() == KeyEvent.VK_DOWN)
					lowerPanel.setLocation(lowerPanel.getX(), lowerPanel.getY() + 5);
				else if(arg0.getKeyCode() == KeyEvent.VK_LEFT)
					lowerPanel.setLocation(lowerPanel.getX() - 5, lowerPanel.getY());
				else if(arg0.getKeyCode() == KeyEvent.VK_RIGHT)
					lowerPanel.setLocation(lowerPanel.getX() + 5, lowerPanel.getY());
			}
		});
		frame.add(lowerPanel);
		
		JLabel lowerLabel = new JLabel();
		lowerLabel.setOpaque(true);
		lowerLabel.setBounds(0, 200, 200, 200);
		lowerLabel.setBackground(Color.RED);
		lowerPanel.add(lowerLabel);
		
		lowerPanel.requestFocus();
		frame.setVisible(true);
	}
}
 
M

maki

Gast
Ich habe einen Testsource geschrieben, wo das Problem allerdings nicht auftritt.
Ist das der Code von deinem Test-Program, in dem der Fehler nicht auftritt, oder der Code von dem Programm in dem der Fehler auftritt?
 

Volvagia

Top Contributor
Der vom Testprogramm.
Der vom eigendlichen Projekt ist ein wenig komplizierter.

Java:
package at.kai.applet.game.spaceView.planet;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

/**
 * Abstract class for planet. Handle mouseaction and covering.
 * @author Kai
 */
abstract class AbstractPlanet extends JLabel implements MouseListener, MouseMotionListener
{
	private static final long serialVersionUID = 1L;

	/**
	 * Color to cover planet.
	 */
	private static final Color COVER_COLOR = new Color(127, 127, 127, 255 - 80);
	
	/**
	 * Is true, if the mouse on non-alpha sector on label. False otherwise.
	 */
	private boolean mouseOn;
	/**
	 * True, if the planet is painting covered, false otherwise.
	 */
	private boolean cover;
	
	/**
	 * Called from subclasses per super.
	 */
	AbstractPlanet()
	{
		super();
		addMouseListener(this);
		addMouseMotionListener(this);
	}
	
	/**
	 * Set covered or discovered.
	 * @param b
	 */
	public void setCover(boolean b)
	{
		cover = b;
		repaint();
	}
	/**
	 * Paint the planet or his cover.
	 */
	public void paint(Graphics g)
	{
		super.paint(g);
		
		if(cover)
		{
			g.setColor(COVER_COLOR);
			g.fillOval(0, 0, getWidth(), getHeight());			
		}
	}
	
	/**
	 * Called, if the mouse has pressed on a avaible pixel.
	 * @param arg0
	 */
	abstract void mouseHasPressed(MouseEvent arg0);
	
	/**
	 * Call mouseHasPressed, if the mouse is on a avaible pixel on label and is pressed.
	 */
	public void mousePressed(MouseEvent arg0)
	{
		if(mouseOn)
			mouseHasPressed(arg0);
	}
	/**
	 * Method from MouseMotionListener, called if the mouse on label is moved.<br>
	 * Check wheter the mouse is on alpha pixel and set mouseOn on true or false.
	 */
	public void mouseMoved(MouseEvent arg0)
	{
		BufferedImage bufferedImage = bufferedImageFromLabel();

		int x = arg0.getX();
		int y = arg0.getY();

		if(!mouseOnAlphaPixel(x, y, bufferedImage))
		{
			if(!mouseOn)
				mouseOn = true;
		}
		else
		{
			if(mouseOn)
				mouseOn = false;
		}
	}
	/**
	 * Get the BufferedImage from Icon from label.<br>
	 * If the Icon contain not a BufferedImage, a new BufferedImage will be created<br>
	 * and set as Icon to Label.
	 * @return BufferedImage from Icon from label.
	 */
	private BufferedImage bufferedImageFromLabel()
	{
		boolean repeat = false;
		BufferedImage bufferedImage = null;
		
		do
		{
			repeat = false;
			Image image = null;
			
			try
			{
				ImageIcon imageIcon = (ImageIcon) getIcon();
				image = imageIcon.getImage();
				bufferedImage = (BufferedImage)image;
			}
			catch (ClassCastException e)
			{
				setIcon(new ImageIcon(imageToBufferedImage(image)));
				repeat = true;
			}
		}
		while(repeat);
		return(bufferedImage);
	}
	/**
	 * Return true if the pixel on BufferedImage is full alpha, false otherwise. 
	 * @param x X-Coordinates of pixel.
	 * @param y Y-Coordinates of pixel.
	 * @param image Image to check.
	 * @return true if the pixel on BufferedImage is full alpha, false otherwise.
	 */
	private boolean mouseOnAlphaPixel(int x, int y, BufferedImage image)
	{
		int rgb = image.getRGB(x, y);
		return((alphaFromRgb(rgb) == 0 ? true : false));
	}
	/**
	 * Get alpha from rgb-value from image.
	 * @param rgb The rgb-value to check.
	 * @return The alpha from rgb.
	 */
	private int alphaFromRgb(int rgb)
	{
		return((rgb >> 24) & 0x000000FF);
	}
	/**
	 * Convert a image to a BufferedImage.
	 * @param image Image to paint on BufferedImage.
	 * @return A new BufferedImage.
	 */
	private BufferedImage imageToBufferedImage(Image image)
	{
		int width = image.getWidth(this);
		int height = image.getWidth(this);
		
		BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
		Graphics g = bufferedImage.getGraphics();
		g.drawImage(image, 0, 0, this);
		g.dispose();
		return(bufferedImage);
	}
	/**
	 * Set mouseOn to false, if the label is exited.
	 */
	public void mouseExited(MouseEvent arg0)
	{
		if(mouseOn)
			mouseOn = false;
	}

	public void mouseEntered(MouseEvent arg0) {}
	public void mouseReleased(MouseEvent arg0) {}
	public void mouseClicked(MouseEvent arg0) {}
	public void mouseDragged(MouseEvent arg0) {}
}
///////////////////////////////////////////////////////////////////////////////////////
package at.kai.applet.game.spaceView.planet;

import java.awt.event.MouseEvent;

import javax.swing.JPanel;

import at.kai.applet.Applet;
import at.kai.applet.game.spaceView.planet.planetInfoFrame.PlanetInfoFrame;

public class Planet extends AbstractPlanet
{
	private static final long serialVersionUID = 1L;

	private long population;
	private long iron;
	private long copper;
	private long steel;
	private long deuterium;
	private long hydrogen;
	private PlanetInfoFrame planetInfoFrame;
	
	public Planet(Applet applet, JPanel framePanel)
	{
		super();
			
		planetInfoFrame = new PlanetInfoFrame(this);
		framePanel.add(planetInfoFrame);
	}
	void mouseHasPressed(MouseEvent arg0)
	{
		planetInfoFrame.fadeIn();
	}
	
	public long getPopulation()
	{
		return population;
	}
	public long getIron()
	{
		return(iron);
	}
	public long getCopper()
	{
		return(copper);
	}
	public long getSteel()
	{
		return(steel);
	}
	public long getDeuterium()
	{
		return(deuterium);
	}
	public long getHydrogen()
	{
		return(hydrogen);
	}
}
///////////////////////////////////////////////////////////////////////////////////////
package at.kai.applet.game.spaceView.menu.planetInfoFrame;

import java.util.concurrent.TimeUnit;

/**
 * Fade the InfoFrame in and out.
 * @author Kai
 */
class FadeThread extends Thread
{
	private static final byte FADE_IN = -128;
	private static final byte FADE_OUT = -127;
	
	private byte fade;
	private PlanetsInfoFrame planetsInfoFrame;
	private Thread thread;
	
	FadeThread(PlanetsInfoFrame planetsInfoFrame)
	{
		super();
		this.planetsInfoFrame = planetsInfoFrame;
	}
	public void run()
	{
		int fullWidth = PlanetsInfoFrame.SIZE.width;
		int fullHeight = PlanetsInfoFrame.SIZE.height;
		
		if(fade == FADE_IN)
		{
			planetsInfoFrame.setSize(2, 2);
			planetsInfoFrame.setVisible(true);
			
			for(; planetsInfoFrame.getWidth() < fullWidth;)
			{
				planetsInfoFrame.setSize(planetsInfoFrame.getWidth() + 2, planetsInfoFrame.getHeight());
				planetsInfoFrame.setLocation(planetsInfoFrame.getX() - 1, planetsInfoFrame.getY());
				sleep(TimeUnit.NANOSECONDS, 500L);
			}
			
			for(; planetsInfoFrame.getHeight() < fullHeight;)
			{
				planetsInfoFrame.setSize(planetsInfoFrame.getWidth(), planetsInfoFrame.getHeight() + 2);
				planetsInfoFrame.setLocation(planetsInfoFrame.getX(), planetsInfoFrame.getY() - 1);
				sleep(TimeUnit.NANOSECONDS, 500L);
			}
		}
		
		if(fade == FADE_OUT)
		{
			for(; planetsInfoFrame.getWidth() > 2;)
			{
				planetsInfoFrame.setSize(planetsInfoFrame.getWidth() - 2, planetsInfoFrame.getHeight());
				planetsInfoFrame.setLocation(planetsInfoFrame.getX() + 1, planetsInfoFrame.getY());
				sleep(TimeUnit.NANOSECONDS, 500L);
			}
			
			for(; planetsInfoFrame.getHeight() > 2;)
			{
				planetsInfoFrame.setSize(planetsInfoFrame.getWidth(), planetsInfoFrame.getHeight() - 2);
				planetsInfoFrame.setLocation(planetsInfoFrame.getX(), planetsInfoFrame.getY() + 1);
				sleep(TimeUnit.NANOSECONDS, 500L);
			}
			planetsInfoFrame.setVisible(false);
		}
	}
	synchronized void faidIn()
	{
		fade = FADE_IN;
		
		try
		{
			if(thread != null)
				thread.join();
		}
		catch (InterruptedException e) {}
		thread = new Thread(this);
		thread.start();
	}
	synchronized void faidOut()
	{
		fade = FADE_OUT;
		
		try
		{
			if(thread != null)
				thread.join();
		}
		catch (InterruptedException e) {}
		thread = new Thread(this);
		thread.start();
	}
	
	public void sleep(TimeUnit tu, long timeFaktor)
	{
		try
		{
			tu.sleep(timeFaktor);
		}
		catch (InterruptedException e)
		{
			e.printStackTrace();
		}
	}
}
 

Marco13

Top Contributor
Nur kurz überflogen: Dort wird schon mit einem Applet (und keinen JApplet rumhantiert, aber vielleicht ist es ja in Wirklichkeit ein JApplet (erbt ja von Applet).

Dann ist da an einigen stellen in JComponents "paint" überschrieben. Eigentlich überschreibt man in JComponents paintComponent, aber es KÖNNTE sein, dass bei den tricky Grafiksachen, die du da machst, ein Überschreiben von paint notwendig ist (so weit habe ich das jetzt nicht nachvollzogen).

Das mit dem bufferedImageFromLabel sieht schon sehr gewagt aus. Das sollte einfacher und eleganter gehen, man sollte da doch ggf. immer GLEICH BufferedImages reinlegen können?!

In dem FadeThread werden setSize und setLocation aufgerufen, aber NICHT vom Event-Dispatch-Thread aus. Dort sollte man ggf. überlegen, die man die seltsam formulierten [c]for(; planetsInfoFrame.getWidth() < fullWidth;)[/c] Schleifen umgehen, und das eigentliche setzen von size und location mit
Code:
final int x = ...
final int y = ...
SwingUtilities.invokeLater(new Runnable()
{
    public void run()
    {
        xxx.setLocation(x,y);
        ...
    }
});
in den EDT auslagern kann.

Wenn's nichts davon ist... muss man halt nochmal schauen...


EDIT: Ich weiß nicht, was gegen eine JLayeredPane spricht... aber gut...
 

Volvagia

Top Contributor
Vielen Dank für die Tips. :)

Ich habe vergessen zu erwähnen, dass ich die Klasse, die von JApplet erbt auch Applet genannt habe. Bei der Klasse, die ich gepostet habe habe ich zwar falsch importiert, aber es wird ja immer meine Klasse übergeben, deshalb spielt das ja eigendlich keine Rolle.

Das mit der paintComponent hat echt geholfen.

Hab auch das mit dem BufferedImage geändert. Fand es am Anfang nur besser, da ich sie einfach per new ImageIcon(byte[]) erstellt habe. Jetzt mache ichs beim laden so:

Java:
private static synchronized BufferedImage bytesToBufferedImage(byte[] b)
{
	Image image = Toolkit.getDefaultToolkit().createImage(b);
	MEDIA_TRACKER.addImage(image, 0);
	
	boolean interrupted = false;
	do
	{
		interrupted = false;

		try
		{
			MEDIA_TRACKER.waitForID(0);
		}
		catch (InterruptedException e)
		{
			interrupted = true;
		}
	}
	while(interrupted);

	BufferedImage newImage = new BufferedImage(image.getWidth(CONTAINER), image.getHeight(CONTAINER),
			BufferedImage.TYPE_INT_ARGB);
	Graphics g = newImage.getGraphics();
	g.drawImage(image, 0, 0, CONTAINER);
	g.dispose();
	return(newImage);
}

Ich weiß zwar nicht, warum du den FadeThread seltsam formuliert findest (gut, Variablennamen sind nicht mein Ding, will statt der statischen morgen die MaximumSize verwenden, um die Standartgröße festzulegen), aber habe das Umsetzen mal dem EDT erledigen lassen. Weiß nicht ob es was gebracht hat, aber schadet sicher nicht. Vor allem wenn später vielleicht noch ein paar Threads dazukommen.

Ich habe zwar nichts gegen JLayeredPane, aber hat in dem Fall nichts gebracht. Soll ich sie lieber allgemein statt JPanel die verwenden?

Dem Planeten sieht man jetzt nicht mehr durch das "Frame" durch, und beim scrollen flackert es nur noch sehr gering. Ich denke, so kann ich es lassen. :toll:
 

Marco13

Top Contributor
Mit dem Toolkit kann's noch Probleme geben, wenn das Applet später auch als Applet verwendet werden soll. In Applets muss man Bilder mit sowas laden wie
Image image = applet.getImage(applet.getDocumentBase(),"image.gif");
Genaue Syntax und weitere Details über Websuche.

EDIT: Also mich würde ja auch ein "sehr geringes" Flackern noch stören... ;)

EDIT2: Ähm. Mit getClass().getResource() sollte das Bild-Laden im Applet auch gehen, ich bin mir gerade nicht sicher, ob das da oben funktioniert wenn das Applet in einer JAR liegt ???:L Bin aus Appletspezifischen Sachen ein bißchen raus...
 
Zuletzt bearbeitet:
G

Guest2

Gast
Moin,

hab es auch nur überflogen, aber bezüglich des Image aus dem JAR / Applet, würde ich noch folgendes einwerfen wollen:

Java:
private static final String IMAGE = "late/resources/images/fly.png";

[..]

BufferedImage image = ImageIO.read(getClass().getClassLoader().getResourceAsStream(IMAGE));

(Hat bei mir noch nie Probleme gemacht, solange der Pfad stimmt ;))

Gruß,
Fancy
 

Marco13

Top Contributor
Ach ja, als Nachtrag zu den Schleifen: Das hier
[c] for(; planetsInfoFrame.getHeight() < fullHeight;)[/c]
ist so eigentlich eine while-Schleife
[c] while(planetsInfoFrame.getHeight() < fullHeight)[/c]
Mit "umformulieren" meinte ich, dass man halt schauen muss, wie man das getHeight() und das setSize() mit den SwingUtilities in Einklang bringt...


@Fancy: Falls du bei deinen GL-Basteleien bis zur Oberfläche durchgedrungen bist (also, die Zeichenoberfläche, den Bildschirm ;) ) und dir vielleicht das Zeichnen in Swing näher angesehen hast, hast du vielleicht einige Ideen dazu, warum ein http://www.java-forum.org/awt-swing-swt/103420-volatileimage-langsam.html#post659118 sein könnte.
 

Volvagia

Top Contributor
Oh, das ist schade. Ich habe die Planeten nämlich serverseitig in einer Access-DB. Darin stehen auch die Bilder als hexadezimale Zeichen. Clientseitig werden sie zu bytes geparst und eben so geladen.

Java:
private static byte[] parseHexToByte(String hex)
{
	byte[] bytes = null;

	String[] hexArr = toHexArray(hex);
	bytes = new byte[hexArr.length];

	for(int i = 0; i < hexArr.length; i++)
		bytes[i] = (byte)Integer.parseInt(hexArr[i], 16);
	return(bytes);
}
private static String[] toHexArray(String hex)
{
	String[] hexArr = new String[(int)Math.ceil((double)hex.length() / 2)];

	for(int i = 0, j = 0; i < hexArr.length; i++, j += 2)
		if(j + 2 > hex.length())
			hexArr[i] = "0" + hex.charAt(j);
		else
			hexArr[i] = hex.substring(j, j + 2);
	return(hexArr);
}

Soll ich doch lieber ein LayeredPane verwenden, und die Panels per 0, -1 und -2 hinzufügen? (Wenn ich die Erklärung richtig verstanden habe)
Und nicht mit add() auf das Applet sondern mit getRootPane().setLayeredPane hinzufügen?
 

Marco13

Top Contributor
Byte Arrays kann man mit
InputStream i = new ByteArrayInputStream(byteArray);
zu einem InputStream machen, damit könnte das auch gehen.

Zur JLayeredPane: Da kann man keine pauschalen Empfehlungen abgeben, außer vielleicht: Schau' dir mal JLayeredPanes an ;) und überleg' dann, ob die für dich nicht vielleicht das passendere sind, als sich auf die z-Order zu verlassen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing Z-Order in einer JDesktopPane AWT, Swing, JavaFX & SWT 15
H Z-Order von JPanels in JFrames AWT, Swing, JavaFX & SWT 2
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
F Gebundene Eigenschaften bei Komponenten mit NetBeans verarbeiten AWT, Swing, JavaFX & SWT 3
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
P Gleichmäßige Anodnung von Komponenten im migLayout AWT, Swing, JavaFX & SWT 2
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
D JavaFX GUI Komponenten werden langsam bei größerer Datenmenge AWT, Swing, JavaFX & SWT 6
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
D JavaFX Welche Komponenten vermisst ihr? Welche wären essenziell notwendig? AWT, Swing, JavaFX & SWT 8
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
J MouseOver bei Komponenten AWT, Swing, JavaFX & SWT 9
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
H Swing Getter für GUI-Komponenten AWT, Swing, JavaFX & SWT 3
B Komponenten in Fenster verdrängen sich untereinander AWT, Swing, JavaFX & SWT 6
N Komponenten übereinander AWT, Swing, JavaFX & SWT 3
S Anordnung von GUI-Komponenten mit LayouManger (Problem beim anzeigen von JTextField) AWT, Swing, JavaFX & SWT 5
M Swing Komponenten enablen? AWT, Swing, JavaFX & SWT 4
X Java Komponenten jeder Zeit hinzufügen können AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
D Grafische Komponenten komplett neu aufbauen (Neukonstruktion) AWT, Swing, JavaFX & SWT 5
A AWT Komponenten in JavaFX einbetten AWT, Swing, JavaFX & SWT 9
M Swing Komponenten erscheinen beim darüberfahren? AWT, Swing, JavaFX & SWT 7
H Komponenten unmittelbar nach dem Ausführen teilweise unsichtbar AWT, Swing, JavaFX & SWT 3
K GUI in Komponenten aufteilen (MVC) AWT, Swing, JavaFX & SWT 2
W Funktionen, sowie aufruf einiger Komponenten AWT, Swing, JavaFX & SWT 4
J Alle Komponenten eines JFrames durchlaufen AWT, Swing, JavaFX & SWT 2
R Swing Komponenten bleiben bei Animation unsichtbar AWT, Swing, JavaFX & SWT 7
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
morphesus Swing Komponenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 8
C Swing Reihenfolge der Initialisierung von Komponenten AWT, Swing, JavaFX & SWT 6
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 7
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 2
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing Komponenten organisieren AWT, Swing, JavaFX & SWT 9
S Überlappung zweier Komponenten AWT, Swing, JavaFX & SWT 12
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
C GUI-Komponenten skalieren AWT, Swing, JavaFX & SWT 10
M Seltsames Problem mit Resize eines Fensters und seiner Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Komponenten verstecken AWT, Swing, JavaFX & SWT 4
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
T Swing Font für alle Komponenten ändern AWT, Swing, JavaFX & SWT 2
S Problem mit Swing Komponenten AWT, Swing, JavaFX & SWT 11
A Swing Alle Komponenten auf JFrame ermitteln AWT, Swing, JavaFX & SWT 4
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
M Komponenten übereinander prüfen AWT, Swing, JavaFX & SWT 3
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
M Komponenten in anderer Reihenfolge anzeigen AWT, Swing, JavaFX & SWT 4
G swing Komponenten verrutschen ständig... AWT, Swing, JavaFX & SWT 6
D Mit GridBayLayout Komponenten anordnen AWT, Swing, JavaFX & SWT 6
N Window transparent, Komponenten nicht transparent AWT, Swing, JavaFX & SWT 11
R Farbänderung von Komponenten wird nicht wirksam AWT, Swing, JavaFX & SWT 7
P Swing Hierachie oder Reihenfolge von Komponenten AWT, Swing, JavaFX & SWT 5
T Sich überlappende Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
R Swing Komponenten klein angezeigt AWT, Swing, JavaFX & SWT 10
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Komponenten nach Skalierung nicht mehr ansprechbar AWT, Swing, JavaFX & SWT 9
Kr0e AWT Komponenten in JPanel AWT, Swing, JavaFX & SWT 6
JuliaOne Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet! AWT, Swing, JavaFX & SWT 7
xehpuk Swing Komponenten werden durch setFont() winzig AWT, Swing, JavaFX & SWT 3
O Größe von Komponenten im JFrame manuell verändern AWT, Swing, JavaFX & SWT 2
H Komponenten anwendugsweit formatieren AWT, Swing, JavaFX & SWT 6
M Swing Komponenten mit fester Größe an Fensterrand(JFrame) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben