alsooo,
ja ich habe schon einen Artiekl geschrieben, in dem ging es darum, warum ich einen Fensteraufbau nihct mit Thread.sleep(); aufhalten kann., so dfass er weiter ginge. Bei meinem Code konnte er das Fenster erst komplett nach Thread.sleep() zeichnen.
Die hilfe war naja, weil jetzt habe ich das Problem erneut, niemlich wenn ich eine CheckBox über einen ActionListender selektiere, will ich, das weitere Elemente auf ein JPanel, das auf einem JFrame platz gefunden hat, erscheinen. Es läuft aber nicht und so komme ich langsam darauf, dass cih ein grundlegendes Problem mit Frames habe. Stimmt an meiner herangehensweise etwas nicht, einen Aufbau einfach zu unterbrechen, oder durch IF-Strukturen zu erweitern. Ich sende noch den Code und vielen Dank:
//panel ist ein JPanel , das auf einem JFrame sitzt
//drei Label auf dem JPanel
JLabel label = new JLabel(„Java E-Books“);
label.setFont(new Font(„Dialog“, 0, 50));
label.setForeground(new Color(255,255,255));
panel.add(label, grid1);
JLabel label2 = new JLabel(„Internet-Adresse“);
label2.setForeground( new Color(255,255,255));
panel.add(label2);
JLabel label3 = new JLabel(„E-Book“);
label3.setForeground( new Color(255,255,255));
//Arrays die den Inhalt für die JComboBoxes liefert
String[] url = {"http://www.addisonwesley.de/Service/Krueger/httoc.htm"};
String[] inhalt = { „Guido Krüger - JAVA 1.1 lernen“};
//Zwei JComboBoxes
JComboBox combo1 = new JComboBox();
for ( String s : url ) combo1.addItem( s );
combo1.setPreferredSize(new Dimension(600,20));
panel.add(combo1, grid3);
combo1.addActionListener( new ActionListener() {
@Override public void actionPerformed( ActionEvent e ) {
JComboBox selectedChoice = (JComboBox) e.getSource();
if ( "[http://www.addison-wesley.de/Service/Krueger/httoc.h…](http://www.addison-wesley.de/Service/Krueger/httoc.htm".equals() selectedChoice.getSelectedItem() ) ) {
//!!!Achtung!!!
//hier wöllte ich Code einfügen
//z.B. (nachdem ich die Komponenten auf final // gesetzt): panel.add(label3, grid1);
//funktioniert aber nicht
} } } );
JComboBox combo2 = new JComboBox();
for ( String s : inhalt ) combo2.addItem( s );
combo2.setPreferredSize(new Dimension(600,20));
panel.add(combo2, grid2);
P.S: könntet ihr mir bitte noch erklären, warum ich Objekte immer mit Final deklarieren muss, wenn ich sie in einer inneren Funktion verwenden möchte. Ich verstehe den Syntax nicht ganz genau, weil final ja lediglich eine Veränderung der Komponente zuläßt, was hat das mit einer inneren Methode zu tun???
Merciiiii