/** * */ package kuki.swingdice; import java.awt.FlowLayout; import java.awt.Font; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.event.ListDataEvent; import javax.swing.event.ListDataListener; /** * @author mk * */ public class MainFrame extends JFrame { /** * */ private static final long serialVersionUID = 1471854542495370461L; private JComboBox pocetKociek = new JComboBox(new String[] { "1", "2", "3", "4", "5" }); private JLabel[] kocky; private JButton generujButton = new JButton("Generuj"); /** * @throws HeadlessException */ public MainFrame() throws HeadlessException { super(); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setLayout(new FlowLayout()); this.add(new JLabel("Počet kociek:")); this.add(pocetKociek); this.add(generujButton); pocetKociek.getModel().addListDataListener(new ListDataListener() { public void contentsChanged(ListDataEvent e) { if (kocky != null && kocky.length > 0) { for (int i = 0; i < kocky.length; i++) { MainFrame.this.remove(kocky[i]); System.out.println("Mazem " + i); } } int pocet = Integer.parseInt((String) pocetKociek .getSelectedItem()); kocky = new JLabel[pocet]; for (int i = 0; i < kocky.length; i++) { System.out.println("Pridavam " + i); kocky[i] = new JLabel("X"); kocky[i].setFont(new Font("Helvetica", Font.BOLD, 20)); MainFrame.this.add(kocky[i]); kocky[i].setText("X"); //kocky[i].repaint(); } MainFrame.this.pack(); } public void intervalAdded(ListDataEvent e) { } public void intervalRemoved(ListDataEvent e) { } }); generujButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { for (int i = 0; i < kocky.length; i++) { int cislo = (int) (Math.random() * 6) + 1; kocky[i].setText("" + cislo); } } }); pocetKociek.setSelectedIndex(0); this.setSize(300, 70); } /** * @param args */ public static void main(String[] args) { MainFrame mainFrame = new MainFrame(); mainFrame.setVisible(true); } }