Hi!
Ich mit der Suchfunktion leider nichts gefunden. Vielleicht kann mir jemand helfen.
Ich hab einen einen JFrame mit einer Menuebar. Wenn ich in der Menuebar einen Menuepunkt auswähle, soll ein Popup aufgehen, auf dem ein JPanel dargestellt wird. Auf diesem Panel wiederum sollen eine JComboBox ein JTextField und zwei JButtons dargestellt werden.Wenn ich den Menuepunkt anklicke öffnet sich das Popup, die Componenten werden alle ordentlich angezeigt. Das Textfeld und die beiden Buttons funktionieren auch, aber die JComboBox läßt sich nicht aufklappen. Wenn ich auf den Pfeil klicke reagiert er zwar, aber die Auswahl klappt nicht auf. Es ist definitiv etwas drin in der Box. Wenn ich dem Popup nur die JCombobox zuweise funktioniert sie.
Was kann der Fehler sein?
[HIGHLIGHT="Java"]
public class Gui extends JFrame implements ActionListener,ItemListener {
private JTextField jt = new JTextField();
private JComboBox cb = new JComboBox();
private JLabel jl = new JLabel("Mannschaft");
private JLabel jl1 = new JLabel("Klasse");
private JButton jb = new JButton("OK");
private JButton jb1 = new JButton("Schließen");
private String sql = new String();
private String[][] result = null;
private JPanel panel = new JPanel();
private int anz = 0;
private JMenuBar mb = new JMenuBar();
private PopupFactory factory = null;
private Popup popup = null;
DB_Connect db = new DB_Connect();
public Gui(){
super();
menue();
this.setExtendedState(MAXIMIZED_BOTH);
this.setBackground(Color.DARK_GRAY);
this.setLayout(null);
this.setJMenuBar(mb);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
factory = PopupFactory.getSharedInstance();
this.setVisible(true);
}
public void neue_mannschaft() {
panel.setSize(500, 240);
panel.setLocation(400, 160);
panel.setLayout(null);
panel.setBorder(BorderFactory.createLineBorder(Color.black,2));
cb.setSize(210,30);
cb.setLocation(180, 30);
cb.addItemListener(this);
cb.addItem("(Klasse)");
sql = "Select count(kl_id) from klasse";
try {
anz = Integer.parseInt(db.select(sql)[0][0]);
} catch (NullPointerException e1) {
anz = 0;
}
System.out.println("ANZ:" + anz);
result = new String[anz][1];
sql = "select klasse from klasse";
result = db.select(sql);
for (int i = 0; i < anz; i++) {
cb.addItem(result[0]);
}
jt.setSize(210,30);
jt.setLocation(180, 90);
jb.setSize(90,30);
jb.setLocation(180, 150);
jb1.setSize(90,30);
jb1.setLocation(300, 150);
jb.setActionCommand("mannsch");
jb.addActionListener(this);
jb1.setActionCommand("close");
jb1.addActionListener(this);
jl.setSize(120, 30);
jl1.setSize(120, 30);
jl.setLocation(50, 30);
jl1.setLocation(50, 90);
jb.setActionCommand("mannsch");
panel.add(jl);
panel.add(jl1);
panel.add(cb);
panel.add(jt);
panel.add(jb);
panel.add(jb1);
panel.setVisible(true);
this.add(panel);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equalsIgnoreCase("mannschaft")){
neue_mannschaft();
popup = factory.getPopup(this,panel, 300, 300);
popup.show();
}
}
[/HIGHLIGHT]
Vielen Dank im Vorraus
Gruß Ulf
Ich mit der Suchfunktion leider nichts gefunden. Vielleicht kann mir jemand helfen.
Ich hab einen einen JFrame mit einer Menuebar. Wenn ich in der Menuebar einen Menuepunkt auswähle, soll ein Popup aufgehen, auf dem ein JPanel dargestellt wird. Auf diesem Panel wiederum sollen eine JComboBox ein JTextField und zwei JButtons dargestellt werden.Wenn ich den Menuepunkt anklicke öffnet sich das Popup, die Componenten werden alle ordentlich angezeigt. Das Textfeld und die beiden Buttons funktionieren auch, aber die JComboBox läßt sich nicht aufklappen. Wenn ich auf den Pfeil klicke reagiert er zwar, aber die Auswahl klappt nicht auf. Es ist definitiv etwas drin in der Box. Wenn ich dem Popup nur die JCombobox zuweise funktioniert sie.
Was kann der Fehler sein?
[HIGHLIGHT="Java"]
public class Gui extends JFrame implements ActionListener,ItemListener {
private JTextField jt = new JTextField();
private JComboBox cb = new JComboBox();
private JLabel jl = new JLabel("Mannschaft");
private JLabel jl1 = new JLabel("Klasse");
private JButton jb = new JButton("OK");
private JButton jb1 = new JButton("Schließen");
private String sql = new String();
private String[][] result = null;
private JPanel panel = new JPanel();
private int anz = 0;
private JMenuBar mb = new JMenuBar();
private PopupFactory factory = null;
private Popup popup = null;
DB_Connect db = new DB_Connect();
public Gui(){
super();
menue();
this.setExtendedState(MAXIMIZED_BOTH);
this.setBackground(Color.DARK_GRAY);
this.setLayout(null);
this.setJMenuBar(mb);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
factory = PopupFactory.getSharedInstance();
this.setVisible(true);
}
public void neue_mannschaft() {
panel.setSize(500, 240);
panel.setLocation(400, 160);
panel.setLayout(null);
panel.setBorder(BorderFactory.createLineBorder(Color.black,2));
cb.setSize(210,30);
cb.setLocation(180, 30);
cb.addItemListener(this);
cb.addItem("(Klasse)");
sql = "Select count(kl_id) from klasse";
try {
anz = Integer.parseInt(db.select(sql)[0][0]);
} catch (NullPointerException e1) {
anz = 0;
}
System.out.println("ANZ:" + anz);
result = new String[anz][1];
sql = "select klasse from klasse";
result = db.select(sql);
for (int i = 0; i < anz; i++) {
cb.addItem(result[0]);
}
jt.setSize(210,30);
jt.setLocation(180, 90);
jb.setSize(90,30);
jb.setLocation(180, 150);
jb1.setSize(90,30);
jb1.setLocation(300, 150);
jb.setActionCommand("mannsch");
jb.addActionListener(this);
jb1.setActionCommand("close");
jb1.addActionListener(this);
jl.setSize(120, 30);
jl1.setSize(120, 30);
jl.setLocation(50, 30);
jl1.setLocation(50, 90);
jb.setActionCommand("mannsch");
panel.add(jl);
panel.add(jl1);
panel.add(cb);
panel.add(jt);
panel.add(jb);
panel.add(jb1);
panel.setVisible(true);
this.add(panel);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equalsIgnoreCase("mannschaft")){
neue_mannschaft();
popup = factory.getPopup(this,panel, 300, 300);
popup.show();
}
}
[/HIGHLIGHT]
Vielen Dank im Vorraus
Gruß Ulf