Nevykresli se GUI po pridani JComboBoxu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nevykresli se GUI po pridani JComboBoxu – Java – Fórum – Programujte.comNevykresli se GUI po pridani JComboBoxu – Java – Fórum – Programujte.com

 

Honza
~ Anonymní uživatel
451 příspěvků
14. 10. 2012   #1
-
0
-

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");            
        }
    }
  }
}
Nahlásit jako SPAM
IP: 85.132.178.–
riso90
~ Anonymní uživatel
1 příspěvek
15. 10. 2012   #2
-
0
-

Premiestni tieto dva riadky:

jf.setVisible(true);
jf.setSize(600, 300);

na koniec konštruktora. Malo by to pomôcť. setSize() sa volá vždy na konci, dáva sa ním signál Layout Manageru aby sa vytvoril layout z komponentov.

Nahlásit jako SPAM
IP: 95.103.38.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Podobná vlákna

Přidaní tabulky — založil kadla

Přidání komentáře — založil xeonikx

Přidání knihy do DB — založil Mortem

Přidání řádku — založil Komi

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý