Hallo zusammen!
Ich sitze hier gerade an einer kleinen Swing-GUI und habe ein Problem. Folgendes soll das Programm machen (relativ simpel eigentlich, aber es hängt gerad ein wenig): In einem Fenster (JFrame) gibt es drei Buttons und eine JList in die über die Buttons entweder werde gelöscht oder hinzugefügt werden sollen. Mein Problem ist jetzt, dass "meine" JList nicht angezeigt wird, obwohl mit 2 Default-Werten befüllt, was mache ich noch falsch?
Ach ja, hier der Code:
Danke schon mal im Voraus![/code]
Ich sitze hier gerade an einer kleinen Swing-GUI und habe ein Problem. Folgendes soll das Programm machen (relativ simpel eigentlich, aber es hängt gerad ein wenig): In einem Fenster (JFrame) gibt es drei Buttons und eine JList in die über die Buttons entweder werde gelöscht oder hinzugefügt werden sollen. Mein Problem ist jetzt, dass "meine" JList nicht angezeigt wird, obwohl mit 2 Default-Werten befüllt, was mache ich noch falsch?
Ach ja, hier der Code:
Code:
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class ListFrame extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JScrollPane scrollPane = null;
private JList list = null;
private ListModel listModel = null;
private JButton cmdAddEntry = null;
private JButton cmdClearList = null;
private JButton cmdDelEntry = null;
public ListFrame() {
super();
initGUI();
}
private void initGUI() {
try {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLocation( (d.width - getSize().width ) / 2,
(d.height- getSize().height) / 2 );
getContentPane().add(getScrollPane());
getContentPane().add(getCmdAddEntry());
getContentPane().add(getCmdDelEntry());
getContentPane().add(getCmdClearList());
setSize(420, 300);
setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
private JList getList() {
if(list == null) {
list = new JList(getListModel());
list.addListSelectionListener( new ListSelectionListener() {
public void valueChanged( ListSelectionEvent e ) {
System.out.println(e);
}
});
}
return list;
}
private ListModel getListModel() {
if(listModel == null) {
listModel = new DefaultComboBoxModel(
new String[] { "Item One", "Item Two" });
}
return listModel;
}
private JScrollPane getScrollPane() {
if(scrollPane == null) {
scrollPane = new JScrollPane(getList());
}
return scrollPane;
}
private JButton getCmdAddEntry() {
if(cmdAddEntry == null) {
cmdAddEntry = new JButton("Hinzufügen");
cmdAddEntry.setBounds(10, 168, 120, 30);
cmdAddEntry.addActionListener(this);
}
return cmdAddEntry;
}
private JButton getCmdDelEntry() {
if(cmdDelEntry == null) {
cmdDelEntry = new JButton("Entfernen");
cmdDelEntry.setBounds(140, 168, 120, 30);
cmdDelEntry.addActionListener(this);
}
return cmdDelEntry;
}
private JButton getCmdClearList() {
if(cmdClearList == null) {
cmdClearList = new JButton("Liste leeren");
cmdClearList.setBounds(270, 168, 120, 30);
}
return cmdClearList;
}
@Override
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
new ListFrame();
}
}
Danke schon mal im Voraus![/code]