Wanki Geschrieben 30. Juni 2006 Teilen Geschrieben 30. Juni 2006 hallo zusammen, Ich versuche zur zeit mir Java beizubringen(hab nur in c++ ahnung) und bin jetzt auf folgendes problem gestoßen: So sieht das Programm jetzt aus: Und ich will aber, dass "Test" in der Mitte steht, darunter ein weiteres Labelfenster, indem später Daten ausgegeben werden, dann Button 1 und 2 unter dem Label, Button 3 in der Mitte unter den beiden anderen Buttons,so wie jetzt auch nur gleich groß, und Button 4 unten rechts..... Mein Quellcode sieht zur zeit so aus: Test.java: import java.awt.*; public class Test extends Frame { private GridLayout myGridLayout = new GridLayout(2,0); private MyWindowListener myWindowListener = new MyWindowListener(); private MyActionListener myActionListener = new MyActionListener(); private Button btn1 = new Button("1"); private Button btn2 = new Button("2"); private Button btn3 = new Button("3"); private Button btn4 = new Button("4"); private Panel pnlNorth = new Panel(new BorderLayout()); private Panel pnlCenter = new Panel(new GridLayout(2,0)); private Panel pnlSouth = new Panel(new FlowLayout(FlowLayout.RIGHT)); private Label lblUeberschrift = new Label("Test"); private Label lbl = new Label(""); public Test() { this.setTitle("Test"); this.lblUeberschrift.setFont(new Font("",Font.BOLD,16)); this.pnlNorth.add(lblUeberschrift); this.setSize(300,300); this.pnlNorth.add(btn1, BorderLayout.WEST); this.pnlNorth.add(btn2, BorderLayout.EAST); this.pnlCenter.add(btn3); this.pnlSouth.add(btn4); this.add(pnlNorth, BorderLayout.NORTH); this.add(pnlCenter, BorderLayout.CENTER); this.add(pnlSouth, BorderLayout.SOUTH); this.show(); this.addWindowListener(this.myWindowListener); this.btn1.addActionListener(this.myActionListener); this.btn2.addActionListener(this.myActionListener); this.btn3.addActionListener(this.myActionListener); this.btn4.addActionListener(this.myActionListener); } public static void main(String args[]) { Test f = new Test(); } } MyWindowListener: import java.awt.event.*; public class MyWindowListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } MyActionListener: import java.awt.event.*; public class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { int wert = Integer.parseInt(e.getActionCommand()); switch(wert) { case 1: System.exit(0); case 2: System.out.println("Button 2"); break; case 3: System.out.println("Button 3"); break; case 4: System.out.println("Button 4"); break; } } } Danke im voraus für eure Hilfe! Mfg Wanki Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 30. Juni 2006 Teilen Geschrieben 30. Juni 2006 Hast du dich denn bereits mit dem Konzept eines LayoutManagers befasst? Wenn nein: http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html Gerade für ein Layout wie von dir gewünscht bietet sich dann eigentlch an: http://www.jgoodies.com/freeware/forms/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wanki Geschrieben 30. Juni 2006 Autor Teilen Geschrieben 30. Juni 2006 ja habe ich! Wie man im Quellcode erkennen kann habe ich es auch schon mit Borderlayout,FlowLayout und Gridlayout probiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 30. Juni 2006 Teilen Geschrieben 30. Juni 2006 Dann mal dochmal dein Ziellayout auf einem Blatt Papier auf, und versuch dir klarzumachen, wo die groben Bereiche sind, die du über verschiedene Panels mit verschiedenen Layouts abbilden willst. Wenn du dann noch genauere Hilfe brauchst poste hier mal diesen Entwurf - deine Beschreibung ist da nämlich ein wenig ungenau bzw. nicht besonders klar. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tkdmatze Geschrieben 3. Juli 2006 Teilen Geschrieben 3. Juli 2006 Hast du dich denn bereits mit dem Konzept eines LayoutManagers befasst? zur Not gibts ja noch null mit hilfe von GUI-Editoren kann man dann ein Layout erstellen mit absoluten Positionen, allerdings reagieren die nicht mehr dynamisch auf veränderungen der fenstergrösse Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 3. Juli 2006 Teilen Geschrieben 3. Juli 2006 zur Not gibts ja noch null Null-Layout als Empfehlung? Dafür kann es nur eins geben: :-) allerdings reagieren die nicht mehr dynamisch auf veränderungen der fenstergrösseNicht nur auf Veränderungen der Fenstergröße. Wenn der User eine andere Auflösung eingestellt hat oder auch nur andere Systemschriftarten verwendet kann es schon zu Problemen kommen. Oder irgendwer kommt auf die Idee ein neues LaF verwenden zu wollen, wo die Komponenten plötzlich ganz andere Proportionen einnehmen... oder, oder, oder... mögliche Fehlerquellen ließen sich noch ein paar mehr finden. Darum: Finger weg! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tkdmatze Geschrieben 3. Juli 2006 Teilen Geschrieben 3. Juli 2006 lesen grosser zur NOT *püh* manche lesen nur was sie wollen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 3. Juli 2006 Teilen Geschrieben 3. Juli 2006 manche lesen nur was sie wollenEben! Wenn jemand sich nicht mit den Konzepten hinter der eigentlichen Logik beschäftigen möchte, dann wird er imemr zur - scheinbar - einfachsten Lösung greifen. In diesem Fall eben einem null Layout. Die Tatsache, dass du "zur Not" geschrieben hast wird da wenig ins Gewicht fallen, weil für den Betreffenden sozusagen schon längst der Notstand ausgebrochen ist. Von daher: Auch nicht zur Not! Ich habe bisher noch keinen Anwendungsfall gesehen, wo ein Null Layout wirklich sinnvoll eingesetzt worden ist bzw. sinnvoll hätte eingesetzt werden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wanki Geschrieben 6. Juli 2006 Autor Teilen Geschrieben 6. Juli 2006 So hallo.... So sollte das eigentlich aussehen..... ich bekomms aber nicht so hin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 6. Juli 2006 Teilen Geschrieben 6. Juli 2006 Ungetestet aber ziemlich sicher: FormLayout layout = new FormLayout( /* COLS */ "fill:200px, fill:200px, fill:200px", /* ROWS */ "fill:50px, 8dlu, fill:pref, 8dlu, fill:pref, fill:0px:grow, fill:pref" ); PanelBuilder builder = new PanelBuilder(layout); builder.add(label, cc.xywh(1, 1, 3, 1)): builder.add(button1, cc.xywh(1, 3, 1, 1)): builder.add(button2, cc.xywh(3, 3, 1, 1)): builder.add(button3, cc.xywh(2, 5, 1, 1)): builder.add(button4, cc.xywh(3, 7, 1, 1)): JPanel resultPanel = builder.getPanel(); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wanki Geschrieben 13. Juli 2006 Autor Teilen Geschrieben 13. Juli 2006 Und wo füg ich das jetzt ein??? Also in welchen Teil vom Quelltext....... hab das mal eingefügt da kommen dann aber zig fehler also hab ichs wohl falsch eingefügt..... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 13. Juli 2006 Teilen Geschrieben 13. Juli 2006 Und wo füg ich das jetzt ein?Na da, wo das Layout des Panels erstellt werden soll. hab das mal eingefügt da kommen dann aber zig fehlerWas mich nicht wirklich wundert. Wie gesagt: Ungetestet und mal eben auf die schnelle Hingeschrieben. Das ganze soll nicht als fertige Lösung dienen, sondern als Lösungsansatz anhand dessen du dir dein eigenes Layout zusammenstellen kannst. Und solange du nicht den Wortlaut der Fehlermeldungen postest kann dir sowieso niemand weiterhelfen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.