Ahoj mám takovej problém při vykreslování GUI.Všechno se mi v pořádku vykresluje až do chvíle kdy vytvořím komponentu JComboBox a pak mi všechny komponenty, který se předtím zobrazovaly zmizí a objeví se pouze prázdnej JFrame a nemám moc tušení co to způsobuje.Díky za radu
public class ZkusebniOkno {
Data data;
public ZkusebniOkno() {
data = new Data();
JFrame jf = new JFrame();
JPanel jp = new JPanel();
DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);
jf.setVisible(true);
jf.setSize(600, 300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create some data
model.addColumn("ID");
model.addColumn("Zanr");
model.addColumn("Interpret");
model.addColumn("Nazev alba");
model.addColumn("Rok vydani");
model.addColumn("Pocet skladeb");
/*
* Pridani tabulky
*/
jp.setLayout(new BoxLayout(jp, BoxLayout.PAGE_AXIS));
jp.add(new JScrollPane(table));
/**
* Pridani komponent na ovladani
*/
JPanel buttnonPane = new JPanel();
buttnonPane.setLayout(new GridLayout(2 , 4));
String[] cb_item= {"ID","Zanr","Interpret","Nazev alba","Rok vydani","Pocet skladeb"};
JComboBox cb = new JComboBox(cb_item);
cb.setSelectedIndex(0);
JButton nacti = new JButton("Nacist(Obnovit) evidenci");
JButton konec = new JButton("Konec bez ulozeni");
JButton ulozit = new JButton("Ulozit zmeny");
JButton smazat = new JButton("Smazat zaznam");
JButton pridat = new JButton("Pridat zaznam");
JButton hledat = new JButton("Hledat...");
nacti.addActionListener(new ButtonListener(model,data));
smazat.addActionListener(new ButtonListener(model,data));
buttnonPane.add(nacti);
buttnonPane.add(konec);
buttnonPane.add(ulozit);
buttnonPane.add(smazat);
buttnonPane.add(pridat);
buttnonPane.add(hledat);
//buttnonPane.add(cb);
Container contentPane = jf.getContentPane();
contentPane.add(jp,BorderLayout.CENTER);
contentPane.add(buttnonPane,BorderLayout.PAGE_END);
table.setAutoCreateColumnsFromModel(true);
}
}
class ButtonListener implements ActionListener {
DefaultTableModel model;
Data data;
ButtonListener(DefaultTableModel model,Data data) {
this.model = model;
this.data = data;
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Nacist evidenci")) {
System.out.println("Nacist evidenci has been clicked");
}
}
if(e.getActionCommand().equals("Smazat zaznam")){
while(model.getRowCount()!=0){
System.out.println("smazu radek");
}
}
}
}