[Java] JComboBox: alles wir 2mal ausgeführt? =(
lima-city → Forum → Programmiersprachen → Java
beitrag
container
deswegen
fragen
fram
import
item
layout
lein
mache
main
packen
stil
universelle klasse
-
Ich habe ein kleines Script mit einer JCombobox:
/** * @author Planschkuh */ //imports import javax.swing.*; import java.awt.event.*; import java.awt.*; public class index { public static void main(String[] args) { JFrame frame = new JFrame( "Neues CSS-Layout" ); Container c = frame.getContentPane() ; c.setLayout(new GridLayout( 2, 1 ) ); c.add( new JLabel( "Sie haben noch lein Layout erstellt!" ) ); JComboBox frage = new JComboBox(); frage.addItemListener( new ItemListener() { public void itemStateChanged( ItemEvent e ) { JComboBox bla = (JComboBox) e.getSource(); if( bla.getSelectedItem().equals( "Neuen Div-Container erstellen" ) ) { JFrame f = new JFrame(); f.setSize( 500, 500 ); f.setVisible( true ); } } }); frage.addItem( "---Ausw?hlen---" ); frage.addItem( "Neuen Div-Container erstellen" ); frage.addItem( "Neue universelle Klasse erstellen" ); c.add( frage ); frame.pack(); frame.setVisible( true ); } }
.
Allerdings wird der frame f 2 mal ge?ffnet!
Wir ?brigens auch sonst gemacht.
Bei allem, was ich mache, wird es 2 mal aufgef?hrt und ich wollte eben fragen, on und wie ich das verhindern kann.
MfG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Tja, das ist leicht beantwortet. Derzeit erzeugst du die Frames sobald das State des ListItems sich ge?ndert hat. Wenn du es selektierst wird es zu SELECTED und erzeugt das Frame. Danach erh?lt das neue Frame den Focus und das ListItem ist nicht mehr selektiert. Dies ist dann aber wieder ein StateChange und und es wird erneut ein Frame erzeugt. Deswegen hast du 2 Frames. Du musst also expliziet abfragen ob das Item selektiert ist.
//edit: und gew?hn dir einen anderen Stil an. Alles in die Main zu schreiben ist nicht gerade sch?n.
Beitrag ge?ndert am 21.08.2006 11:11 von evil-devil -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage