Hallo zusammen,
ich möchte gerne eine GUI für ein Programm erstellen.
Oder anders gesagt, ich habe eine GUI für ein Programm und möchte dies nun verändern.
"Damals" habe ich alles mit absoluten Positionen und ohne Layout gemacht.
Nun lese ich aber immer öfter das dies nicht gut ist und man mit Layouts arbeiten soll.
Dabei stockt es aber etwas. Dazu mal zwei Bilder von zwei "Seiten" des Programms.
Bisher habe ich das mit Eclipse Composits gemacht
für jede "Seite" im Programm eine Klasse welche ein Composite erweitert und alle anzuzeigenden Elemente enthält.
Meine Menüleiste "setzt" mir dann immer das aktuelle Composite
Ist das so korrekt gelöst?
Wie könnte man es anders machen ? vor allem das "umschalten der Seiten" im Programm.
Ich habe versucht viel zu lesen :rtfm: und dazu in Erfahrung zu bringen, aber irgendwie weiß ich jetzt erst recht nicht was ein Guter Weg ist und was nicht :bahnhof:
Vielen Dank
[Edit] Ich merke gerade das ich etwas von meiner Ausgangsfrage abgedriftet bin, was aber nicht schlimm ist, da es die zweite Frage zu dem Thema gewesen wäre
Zum Thema Layouts aber noch mal.
Wie ordne ich die ganzen Buttons, TextAreas usw.. so in einem Layout an ? Mit absoluten Positionen wie bisher bei mir, oder ein Layout welches ein JPanel beinhaltet welches wieder ein Layout hat mit vll noch einem JPanel mit einem weiteren Layout ??
ich möchte gerne eine GUI für ein Programm erstellen.
Oder anders gesagt, ich habe eine GUI für ein Programm und möchte dies nun verändern.
"Damals" habe ich alles mit absoluten Positionen und ohne Layout gemacht.
Nun lese ich aber immer öfter das dies nicht gut ist und man mit Layouts arbeiten soll.
Dabei stockt es aber etwas. Dazu mal zwei Bilder von zwei "Seiten" des Programms.
Bisher habe ich das mit Eclipse Composits gemacht
Java:
public class compProjekt extends Composite {
private Text ...
public compProjekt(Composite parent, int style) {
super(parent, style);
setLayout(null);
Meine Menüleiste "setzt" mir dann immer das aktuelle Composite
Java:
//Hauptlayout festlegen und "Master" Composite
final Composite contentPanel = new Composite(shell, SWT.BORDER);
contentPanel.setBounds(0, 0, 434, 340);
final StackLayout layout = new StackLayout();
contentPanel.setLayout(layout);
// Projektseite erstellen
projektLayout = new compProjekt(contentPanel, SWT.NONE);
// Serviceseite erstellen
serviceLayout = new compService(contentPanel, SWT.NONE);
usw...
//Startseite festlegen
layout.topControl = projektLayout;
contentPanel.layout();
//Hauptmenü anlegen
Menu menu = new Menu(shell, SWT.BAR);
shell.setMenuBar(menu);
//Menübutton Projekt
MenuItem mntmProjekt = new MenuItem(menu, SWT.NONE);
mntmProjekt.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
layout.topControl = projektLayout;
contentPanel.layout();
System.out.println("Projekt");
}
});
Ist das so korrekt gelöst?
Wie könnte man es anders machen ? vor allem das "umschalten der Seiten" im Programm.
Ich habe versucht viel zu lesen :rtfm: und dazu in Erfahrung zu bringen, aber irgendwie weiß ich jetzt erst recht nicht was ein Guter Weg ist und was nicht :bahnhof:
Vielen Dank
[Edit] Ich merke gerade das ich etwas von meiner Ausgangsfrage abgedriftet bin, was aber nicht schlimm ist, da es die zweite Frage zu dem Thema gewesen wäre
Zum Thema Layouts aber noch mal.
Wie ordne ich die ganzen Buttons, TextAreas usw.. so in einem Layout an ? Mit absoluten Positionen wie bisher bei mir, oder ein Layout welches ein JPanel beinhaltet welches wieder ein Layout hat mit vll noch einem JPanel mit einem weiteren Layout ??
Zuletzt bearbeitet: