Layout-Problem

faustdonner

Mitglied
Also ich habe ein Problem mit dem Layout von meinem Launcher (für ein Onlinegame). Es sah mal ordentlich aus aber jetzt...

Naja ich zeigs euch mal. So soll es aussehen:

Screenshot_1.png


und so sieht es aus:

Screenshot_2.png


und das Passwort-Feld ist auch ein fail...

Screenshot_3.png


und hier sind die Klassen die die ganze GUI erstellen und die Hauptfensterklasse. (Ich frage nach einer Lösung nicht nach Kritik zu meinem Programmierstil...)

MainWindow.class:

Java:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class MainWindow extends JFrame implements WindowListener, MouseListener, MouseMotionListener, Runnable {
	// Serial Version ID
	private static final long serialVersionUID = -3880026026104218593L;
	
	// globale Variablen
	int x, y;					// Position des Fensters
	int width=700, height=600;	// Breite und Höhe des Fensters
	int mouseX=0, mouseY=0;		// Variablen für Mausposition
	
	boolean mouseDown;
	
	String trenner=System.getProperty("file.separator");
	String lineSep=System.getProperty("line.separator");
	String userDir;
	
	ImageHandler imgHandler=new ImageHandler(this);
	ButtonHandler buttonHandler=new ButtonHandler(this, imgHandler);
	GUI gui=new GUI(this, imgHandler, buttonHandler, this.getGraphics());
	
	Initialize init;
	
	// Login-Variablen
	Login login;
	
	String session;
	
	Container cont=getContentPane();
	
	// Konstruktor-Methode
	public MainWindow() {
		// Verzeichnis laden
		try {
			BufferedReader reader=new BufferedReader(new FileReader(new File("path.txt")));
			userDir=reader.readLine();
			reader.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "Die Datei path.txt ist nicht vorhanden!", "Fehler!", JOptionPane.ERROR_MESSAGE);
			try {
				new Download(this).downloadFile(new URI("http://localhost/ef/mail_error.php?error="+e.getStackTrace()), false);
			} catch (URISyntaxException e1) {
				e.printStackTrace();
			}
			int returnVal=JOptionPane.showConfirmDialog(null, "Möchtest du diese Datei erstellen? (Achtung: Nur Ja drücken wenn du die .jar Datei direkt ausführst!)", "Datei erstellen?", JOptionPane.YES_NO_OPTION);
			if(returnVal==JOptionPane.NO_OPTION) {
				System.exit(-1);
			}
			else {
				try {
					userDir=System.getProperty("user.dir");
					
					OutputStream out=new FileOutputStream(new File("path.txt"));
					
					byte[] buffer = userDir.getBytes();
				    out.write(buffer, 0, userDir.length());
				    out.close();
				} catch (IOException e1) {
					e1.printStackTrace();
					JOptionPane.showMessageDialog(null, "Datei konnte nicht erstellt werden!", "Fehler!", JOptionPane.ERROR_MESSAGE);
					System.exit(-1);
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "Die Datei path.txt ist fehlerhaft!", "Fehler!", JOptionPane.ERROR_MESSAGE);
			try {
				new Download(this).downloadFile(new URI("http://localhost/ef/mail_error.php?error="+e.getStackTrace()), false);
			} catch (URISyntaxException e1) {
				e.printStackTrace();
			}
			System.exit(-1);
		}
		
		// hinzufügen von Listenern
		this.addWindowListener(this);
		this.addMouseListener(this);
		this.addMouseMotionListener(this);
		
		// Thread starten
		Thread thread=new Thread(this);
		thread.start();
		
		gui.repaint();
	}
	
	// Initialisierung des Fensters (sichtbar machen, Größe festlegen, etc.)
	public void initialize() {
		// Fenster sichtbar machen
		this.setVisible(true);
		// Fenstergröße festlegen
		this.setSize(width, height);
		// Titel festlegen
		BufferedReader reader=null;
		try {
			reader=new BufferedReader(new FileReader(new File(userDir+trenner+"version.txt")));
			this.setTitle("Elementar Fighters V"+reader.readLine());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// Icon laden
		String path=userDir+trenner+"img"+trenner+"logo.ico";
		Image icon=Toolkit.getDefaultToolkit().getImage(path);
		this.setIconImage(icon);
		// mittlere Bildschirmposition erfassen und Fenster dort positionieren
		x=(int) this.getToolkit().getScreenSize().getWidth()/2-width/2;
		y=(int) this.getToolkit().getScreenSize().getHeight()/2-height/2;
		this.setLocation(x, y);
		this.setResizable(false);
	}
	
	public Dimension getScrSize() {
		return this.getToolkit().getScreenSize();
	}
	
	public void destroyContent() {
		buttonHandler.buttons=new MenuButton[100];
		imgHandler.images=new ImageObject[100];
		gui.cont=new Container();
	}
	
	// WindowListener-Funktionen
	public void windowActivated(WindowEvent evt) {
		
	}
	public void windowClosed(WindowEvent evt) {
		
	}
	public void windowClosing(WindowEvent evt) {		// Beim drücken auf "X" oder drücken von Alt+F4 o.ä. Programm beenden
		this.dispose();
		System.exit(0);
	}
	public void windowDeactivated(WindowEvent evt) {
		
	}
	public void windowDeiconified(WindowEvent evt) {
		
	}
	public void windowIconified(WindowEvent evt) {
		
	}
	public void windowOpened(WindowEvent evt) {
		
	}
	
	// MouseMotionListener-Funktionen
	public void mouseDragged(MouseEvent evt) {			// Falls die Maus gezogen wird Position erfassen und speichern
		mouseX=evt.getX();
		mouseY=evt.getY();
	}
	public void mouseMoved(MouseEvent evt) {			// Falls die Maus bewegt wird Position erfassen und speichern
		mouseX=evt.getX();
		mouseY=evt.getY();
	}
	
	// MouseListener-Funktionen
	public void mouseClicked(MouseEvent evt) {
		try {
			for(int i=0;i<buttonHandler.maxObjects;i++) {
				int imgNum=buttonHandler.getButton(i).getImgNum();
				if(mouseX>=imgHandler.getImageObject(imgNum).getX() && mouseY>=imgHandler.getImageObject(imgNum).getY() && mouseX<buttonHandler.getButton(i).getWidth()+imgHandler.getImageObject(imgNum).getX() && mouseY<buttonHandler.getButton(i).getHeight()+imgHandler.getImageObject(imgNum).getY()) {
					post(buttonHandler.getButton(i).getAction());
				}
			}
		} catch(NullPointerException e) {
			
		}
	}
	
	private void post(String action) {
		if(action.equals("Login")) {
			gui.setActual("logging in");
			login=new Login(this, imgHandler, gui.launch.username, gui.launch.password);
			gui.launch.username=null;
			gui.launch.password=null;
		}
		if(action.equals("Nochmal_versuchen")) {
			gui.setActual("startLauncher");
		}
	}

	public void mouseEntered(MouseEvent evt) {
		
	}
	public void mouseExited(MouseEvent evt) {
		
	}
	public void mousePressed(MouseEvent evt) {
		mouseDown = true;
	}
	public void mouseReleased(MouseEvent evt) {
		mouseDown = false;
	}
	
	public void run() {
		int winState = this.getExtendedState();
		for(;;) {
			if(winState!=this.getExtendedState()) {
				gui.repaint();
			}
			winState = this.getExtendedState();
			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

	public void paint(Graphics g) {
		for (int i=0; i<imgHandler.maxObjects; i++) {
			try {
				if (imgHandler.images[i].getVisible()==true && !imgHandler.images[i].button) {
					g.drawImage(imgHandler.images[i].getImage(), imgHandler.images[i].getX(), imgHandler.images[i].getY(), this);
				}
			} catch (NullPointerException e) {
				
			}
		}
	}
}

GUI.class:

Java:
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;

public class GUI {
	//globale Variablen
	MainWindow win;
	ImageHandler imgHandler;
	ButtonHandler buttonHandler;
	Graphics g;
	
	Container cont;
	
	String actual="startLauncher";
	
	LauncherGUI launch;
	GameGUI game;
	
	public GUI(MainWindow win, ImageHandler imgHandler, ButtonHandler buttonHandler, Graphics g) {
		this.win=win;
		this.imgHandler=imgHandler;
		this.buttonHandler=buttonHandler;
		this.g=g;
		this.cont=win.cont;
		
		launch=new LauncherGUI(win, imgHandler, buttonHandler, this);
		game=new GameGUI(win, imgHandler, buttonHandler, this);
	}
	public void repaint() {
		if(actual.equals("startLauncher")) {
			launch.startLauncher();
		}
		if(actual.equals("logging in")) {
			launch.loggingIn();
		}
		if(actual.equals("login failed")) {
			launch.loginFailed();
		}
		if(actual.equals("login succesful")) {
			launch.loginSuccess();
		}
		if(actual.equals("game loading")) {
			game.loading();
		}
		if(actual.equals("main menu")) {
			game.mainMenu();
		}
		win.repaint();
		win.setBackground(Color.WHITE);
		win.setContentPane(win.cont);
	}
	public void setActual(String actual) {
		this.actual=actual;
		repaint();
	}
}

LauncherGUI.class (Hier habe ich die verschiedenen "Pages" gespeichert):

Java:
import java.io.File;

import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class LauncherGUI {
	//globale Variablen
	MainWindow win;
	ImageHandler imgHandler;
	ButtonHandler buttonHandler;
	GUI gui;
	
	String normImg;
	String hoverImg;
	String activeImg;
	
	JTextField username;
	JPasswordField password;
	
	News news;
	
	public LauncherGUI(MainWindow win, ImageHandler imgHandler, ButtonHandler buttonHandler, GUI gui) {
		this.win=win;
		this.imgHandler=imgHandler;
		this.buttonHandler=buttonHandler;
		this.gui=gui;
		
		this.news=new News(win);
	}
	public void startLauncher() {
		win.destroyContent();
		
		news.drawNews();
		
		int launcherBG=imgHandler.freeImgID();
		imgHandler.images[launcherBG]=new ImageObject(win, launcherBG);
		imgHandler.images[launcherBG].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"launcher_bg.png"), 0, 0, "left", "bottom");
		imgHandler.images[launcherBG].setVisible(true);
		
		// Login-Button
		normImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Login_normal.png";
		hoverImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Login_hover.png";
		activeImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Login_active.png";
		
		buttonHandler.quickButton(normImg, hoverImg, activeImg, "Login", -20, 503, 120, 20, "right", "top");
		
		// Optionen-Button
		normImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Optionen_normal.png";
		hoverImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Optionen_hover.png";
		activeImg=win.userDir+win.trenner+"img"+win.trenner+"120x20_Optionen_active.png";
		
		buttonHandler.quickButton(normImg, hoverImg, activeImg, "Optionen", -20, 535, 120, 20, "right", "top");
		
		// Username-Feld
		username=new JTextField();
		username.setBounds(420, 508, 120, 20);
		win.cont.add(username);
		username.setText("username");
		
		// Passwort-Feld
		password=new JPasswordField();
		password.setBounds(420, 540, 120, 20);
		win.cont.add(password);
		password.setText("passwort");
	}
	public void loggingIn() {
		win.destroyContent();

		news.drawNews();
		
		int launcherBG=imgHandler.freeImgID();
		imgHandler.images[launcherBG]=new ImageObject(win, launcherBG);
		imgHandler.images[launcherBG].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"launcher_bg.png"), 0, 0, "left", "bottom");
		imgHandler.images[launcherBG].setVisible(true);
		
		// Login-Label
		int login=imgHandler.freeImgID();
		imgHandler.images[login]=new ImageObject(win, login);
		imgHandler.images[login].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"logging_in.png"), 570, 515, "left", "top");
		imgHandler.images[login].setVisible(true);
	}
	public void loginFailed() {
		win.destroyContent();

		news.drawNews();
		
		int launcherBG=imgHandler.freeImgID();
		imgHandler.images[launcherBG]=new ImageObject(win, launcherBG);
		imgHandler.images[launcherBG].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"launcher_bg.png"), 0, 0, "left", "bottom");
		imgHandler.images[launcherBG].setVisible(true);
		
		// Fehlgeschlagen-Label
		int login=imgHandler.freeImgID();
		imgHandler.images[login]=new ImageObject(win, login);
		imgHandler.images[login].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"login_failed.png"), 532, 500, "left", "top");
		imgHandler.images[login].setVisible(true);
		
		// Nochmal versuchen-Button
		normImg=win.userDir+win.trenner+"img"+win.trenner+"180x20_Nochmal_versuchen_normal.png";
		hoverImg=win.userDir+win.trenner+"img"+win.trenner+"180x20_Nochmal_versuchen_hover.png";
		activeImg=win.userDir+win.trenner+"img"+win.trenner+"180x20_Nochmal_versuchen_active.png";
		
		buttonHandler.quickButton(normImg, hoverImg, activeImg, "Nochmal_versuchen", -18, 535, 180, 20, "right", "top");
	}
	public void loginSuccess() {
		win.destroyContent();

		news.drawNews();
		
		int launcherBG=imgHandler.freeImgID();
		imgHandler.images[launcherBG]=new ImageObject(win, launcherBG);
		imgHandler.images[launcherBG].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"launcher_bg.png"), 0, 0, "left", "bottom");
		imgHandler.images[launcherBG].setVisible(true);
		
		int patch=imgHandler.freeImgID();
		imgHandler.images[patch]=new ImageObject(win, patch);
		imgHandler.images[patch].createImage(new File(win.userDir+win.trenner+"img"+win.trenner+"patch.png"), 532, 500, "left", "top");
		imgHandler.images[patch].setVisible(true);
	}
}

ButtonHandler.class:

Java:
import java.io.File;

/*
 * 	Button Verwaltung - ButtonHandler
 */

public class ButtonHandler implements Runnable {
	// globale Variablen
	int objectNum=0;										// Anzahl der existierenden Buttons
	int maxObjects=100;										// Anzahl der maximalen Buttons
	MenuButton[] buttons=new MenuButton[maxObjects];		// Die MenuButton-Instanzen
	MainWindow win;
	ImageHandler imgHandler;
	
	public ButtonHandler(MainWindow win, ImageHandler imgHandler) {
		this.win=win;
		this.imgHandler=imgHandler;
		
		Thread thread=new Thread(this);
		thread.start();
	}
	
	public int freeButtonID() {
		int num=0;
		try {
			for(int i=0;i<maxObjects;i++) {
				num=i;
				if(buttons[i]==null) {
					return i;
				}
			}
		} catch(NullPointerException e) {
			return num;
		}
		return -1;
	}
	
	public void quickButton(String normImg, String hoverImg, String activeImg, String action, int x, int y, int width, int height, String halign, String valign) {
		int buttonID=freeButtonID();
		
		buttons[buttonID]=new MenuButton(win, win.imgHandler, buttonID);
		getButton(buttonID).createButton(normImg, action);
		
		int imgIDhover=imgHandler.freeImgID();
		imgHandler.images[imgIDhover]=new ImageObject(win, imgIDhover);
		imgHandler.images[imgIDhover].button=true;
		imgHandler.images[imgIDhover].createImage(new File(hoverImg), x, y, halign, valign);
		
		int imgIDactive=imgHandler.freeImgID();
		imgHandler.images[imgIDactive]=new ImageObject(win, imgIDactive);
		imgHandler.images[imgIDactive].button=true;
		imgHandler.images[imgIDactive].createImage(new File(activeImg), x, y, halign, valign);

		buttons[buttonID].setBounds(x, y, width, height);
		buttons[buttonID].setHorizontalAlignment(halign);
		buttons[buttonID].setVerticalAlignment(valign);
		buttons[buttonID].setHoverButton(imgIDhover);
		buttons[buttonID].setActiveButton(imgIDactive);
		buttons[buttonID].setVisible(true);	
	}
	
	// new-Methoden
	public void newButton(int buttonNum, String img, String action) {
		buttons[buttonNum]=new MenuButton(win, win.imgHandler, buttonNum);
		getButton(buttonNum).createButton(img, action);
	}
	public void newButton(int buttonNum, String img, String action, int x, int y, int width, int height) {
		buttons[buttonNum]=new MenuButton(win, win.imgHandler, buttonNum);
		getButton(buttonNum).createButton(img, action);
		getButton(buttonNum).setBounds(x, y, width, height);
	}
	
	// remove-Methoden
	public void remove(int ID) {
		buttons[ID]=null;
	}
	public void removeAll() {
		buttons=new MenuButton[maxObjects];
	}
	
	// setter-Methoden
	
	// getter-Methoden
	public MenuButton getButton(int ID) {
		return buttons[ID];
	}

	public void run() {
		for(;;) {
			for(int i=0;i<maxObjects;i++) {
				try {
					if(buttons[i] != null) {
						if(win.mouseX>=buttons[i].getX() && win.mouseY>=buttons[i].getY() && win.mouseX<getButton(i).getWidth()+buttons[i].getX() && win.mouseY<getButton(i).getHeight()+buttons[i].getY()) {
							if(win.mouseDown) {
								imgHandler.images[buttons[i].normButton].setVisible(false);
								imgHandler.images[buttons[i].hoverButton].setVisible(false);
								imgHandler.images[buttons[i].activeButton].setVisible(true);
								win.getGraphics().drawImage(imgHandler.images[buttons[i].activeButton].getImage(), buttons[i].getX(), buttons[i].getY(), win);
							} else {
								imgHandler.images[buttons[i].normButton].setVisible(false);
								imgHandler.images[buttons[i].hoverButton].setVisible(true);
								imgHandler.images[buttons[i].activeButton].setVisible(false);
								win.getGraphics().drawImage(imgHandler.images[buttons[i].hoverButton].getImage(), buttons[i].getX(), buttons[i].getY(), win);
							}
						}
						else {
							imgHandler.images[buttons[i].normButton].setVisible(true);
							imgHandler.images[buttons[i].hoverButton].setVisible(false);
							imgHandler.images[buttons[i].activeButton].setVisible(false);
							win.getGraphics().drawImage(imgHandler.images[buttons[i].normButton].getImage(), buttons[i].getX(), buttons[i].getY(), win);
						}
					}
				} catch(NullPointerException e) {
					
				} catch(ArrayIndexOutOfBoundsException e) {
					
				}
			}
			try {
				Thread.sleep(13);
			} catch (InterruptedException e) {
				
			}
		}
	}
}

Ich freue mich auf eure Hilfe :toll:. Ich verzweifel echt ;(
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Ojehmine, das kommt dabei raus wenn man sich nicht an das Prinzip der Kapselung hält. Was soll dein ButtonHandler machen, ein Controller ist das nicht und eine Factory auch nicht. Was soll deine GUI- bzw. LauncherGUI-Klasse machen? Du benutzt Klassen als wären sie Funktionen, dadurch wird das ganze auch extrem unübersichtlich.
Es ist viel einfacher und übersichtlicher, wenn du z.B ein eine Klasse LoginPanel machst die von JPanel erbt: Du baust im Konstruktor alle GUI Elemente die in diesem Panel sind zusammen. In deinem HauptFenster erzeugst du einfach ein new LoginPanel() und fügst es hinzu. Etwaige Buttons gehen nur das LoginPanel an.
Wenn du mir den Sinn von deinem ButtonHandler erläuterst, kann ich auch dazu noch meinen Senf dazu geben, so ist das ganze aber einfach zu unübersichtlich. Ich finde in dem ganze Code ja noch nichmal das Wort Layout...
 

GUI-Programmer

Top Contributor
Doch noch was viel Schlimmers:
Du rufst getGraphics auf eine JFrame - Instanz auf!!!

Ich denke das ist wohl das größte Problem. Niemals mit den Graphics - Objekt einer von Window, Applet oder Component erbenten Klasse auserhalb der Zeichenmethoden "herumhantieren".
Schau dir dazu mal das Zeichnen in Swing Tutorial am Anfang dieses Unterforums an.

Wenn du das gemacht hast, dann können wir weiter über möglich Layout-Probleme reden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Layout - Problem AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
A SWT Layout Problem AWT, Swing, JavaFX & SWT 15
K Swing Layout-Problem mit JTables und JLists (Mindestgrößen) AWT, Swing, JavaFX & SWT 11
N SWT Einfaches Problem beim Layout AWT, Swing, JavaFX & SWT 8
V Layout Problem AWT, Swing, JavaFX & SWT 5
M JPanel Layout Problem AWT, Swing, JavaFX & SWT 11
I Layout Problem beim Skalieren AWT, Swing, JavaFX & SWT 3
T Null Layout Problem. AWT, Swing, JavaFX & SWT 3
M Layout Problem: Zentriern in Panel AWT, Swing, JavaFX & SWT 3
M Layout-Problem: JTable AWT, Swing, JavaFX & SWT 3
A Layout-Problem AWT, Swing, JavaFX & SWT 5
W SWT, Anordung von Elementen - Layout Problem ? AWT, Swing, JavaFX & SWT 2
I Null-Layout-Problem AWT, Swing, JavaFX & SWT 2
M Problem mit NULL-Layout AWT, Swing, JavaFX & SWT 2
M Problem mit Layout wegen Textarea AWT, Swing, JavaFX & SWT 3
G Layout Problem AWT, Swing, JavaFX & SWT 6
M Layout / setSize Problem AWT, Swing, JavaFX & SWT 15
M Layout Problem (GrudBag- + BorderLayout) AWT, Swing, JavaFX & SWT 6
M Layout-Problem, Größe von Komponenten AWT, Swing, JavaFX & SWT 3
S Wiedermal SWT-Layout-Problem AWT, Swing, JavaFX & SWT 6
S SWT - Simples Layout Problem AWT, Swing, JavaFX & SWT 9
M Layout Problem, Ideen gesucht AWT, Swing, JavaFX & SWT 7
H Problem mit Layout Fenstern (Swing) AWT, Swing, JavaFX & SWT 3
M Layout Problem AWT, Swing, JavaFX & SWT 3
D Layout Problem / JTree und JPanel AWT, Swing, JavaFX & SWT 4
N Layout-Problem (JScrollPane, GridBagLayout) AWT, Swing, JavaFX & SWT 3
D Layout-Problem AWT, Swing, JavaFX & SWT 8
M Problem mit Layout/JLabel AWT, Swing, JavaFX & SWT 5
D Layout Problem mit Überdeckung AWT, Swing, JavaFX & SWT 6
J Kleines Layout Problem AWT, Swing, JavaFX & SWT 5
S Problem mit dem Layout - 3 JPanel's AWT, Swing, JavaFX & SWT 3
G Layout-Problem AWT, Swing, JavaFX & SWT 4
G Problem mit JDialog-Layout AWT, Swing, JavaFX & SWT 4
F Problem mit Panel-Layout AWT, Swing, JavaFX & SWT 3
M Layout Problem. AWT, Swing, JavaFX & SWT 6
E Problem mit GridBag Layout AWT, Swing, JavaFX & SWT 2
G Layout Problem AWT, Swing, JavaFX & SWT 3
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben