Очистить фрейм (SWING) - Java
Формулировка задачи:
Только недавно начал учить Java. Решил создать простенькую программку для генерации рандомных чисел. Решил сделать её с помощью swing. Вроде, всё более-менее получилось, но не могу понять, как сбросить уже полученный результат. Т.е, когда я генерирую число, новый результат накладывается на предыдущие. Так и не придумал, как можно это исправить. И гугл ничего не подсказал.
Вот сам код:
public static String s; public static int a; private static JTextField text = new JTextField(30);//создаём поле ввода public static JFrame frame2 = new JFrame(); public static JPanel panel5 = new JPanel(); public static void main(String[] args) throws Exception{ JFrame frame = new JFrame(); //создаём фрейм frame.setSize(350, 115); //размер frame.setTitle("Рандомка"); //название frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); frame.setLayout(new BorderLayout()); // Создание предметов JLabel label = new JLabel("Введите число"); //создаём лейбл JButton button2 = new JButton();//создаём кнопку button2.setText("Ввод"); button2.setCursor(new Cursor(Cursor.HAND_CURSOR));//изменяем курсор button2.addActionListener(new ButtonActionListener2());//при нажатии на кнопку происходит действие JPanel panel = new JPanel(); //создаём панель //добавление frame.add(label, BorderLayout.PAGE_START); //лейбл frame.add(panel, BorderLayout.CENTER); //добавляем панель panel.add(text, BorderLayout.CENTER); //добавляем на панель поле ввода panel.add(button2, BorderLayout.PAGE_END); } public static class ButtonActionListener2 implements ActionListener{ @Override public void actionPerformed(ActionEvent event){ String s = text.getText(); frame2.setSize(350, 200); frame2.setTitle("Начинаем рандомить=)"); frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); frame2.setLocationRelativeTo(null); frame2.setResizable(false); frame2.setVisible(true); frame2.setLayout(new BorderLayout()); a=Integer.parseInt(s); Random rand = new Random(); int n; n = rand.nextInt(a + 1); JLabel label3 = new JLabel(" "); frame2.add(label3, BorderLayout.PAGE_START); JLabel label2 = new JLabel("Побеждает №" + n); frame2.add(label2, BorderLayout.PAGE_START); JButton button = new JButton(); button.setText("Ещё раз!"); button.setCursor(new Cursor(Cursor.HAND_CURSOR)); button.addActionListener(new ButtonActionListener2()); frame2.add(button, BorderLayout.PAGE_END); } }
Решение задачи: «Очистить фрейм (SWING)»
textual
Листинг программы
public class JavaApplication1 { public static String s; public static int a; private static JTextField text = new JTextField(30);//создаём поле ввода public static JFrame frame2 = new JFrame(); public static JPanel panel5 = new JPanel(); public static JLabel label2 ; public static void main(String[] args) throws Exception{ JFrame frame = new JFrame(); //создаём фрейм frame.setSize(350, 115); //размер frame.setTitle("Рандомка"); //название frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); frame.setLayout(new BorderLayout()); // Создание предметов JLabel label = new JLabel("Введите число"); //создаём лейбл JButton button2 = new JButton();//создаём кнопку button2.setText("Ввод"); button2.setCursor(new Cursor(Cursor.HAND_CURSOR));//изменяем курсор button2.addActionListener(new ButtonActionListener2());//при нажатии на кнопку происходит действие JPanel panel = new JPanel(); //создаём панель //добавление frame.add(label, BorderLayout.PAGE_START); //лейбл frame.add(panel, BorderLayout.CENTER); //добавляем панель panel.add(text, BorderLayout.CENTER); //добавляем на панель поле ввода panel.add(button2, BorderLayout.PAGE_END); label2 = new JLabel("Побеждает №"); frame2.add(label2, BorderLayout.PAGE_START); } public static class ButtonActionListener2 implements ActionListener{ public void actionPerformed(ActionEvent event){ s = text.getText(); frame2.setSize(350, 200); frame2.setTitle("Начинаем рандомить=)"); frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); frame2.setLocationRelativeTo(null); frame2.setResizable(false); frame2.setVisible(true); frame2.setLayout(new BorderLayout()); a=Integer.parseInt(s); Random rand = new Random(); int n; n = rand.nextInt(a + 1); JLabel label3 = new JLabel(" "); frame2.add(label3, BorderLayout.PAGE_START); label2.setText("Побеждает №" + n); JButton button = new JButton(); button.setText("Ещё раз!"); button.setCursor(new Cursor(Cursor.HAND_CURSOR)); button.addActionListener(new ButtonActionListener2()); frame2.add(button, BorderLayout.PAGE_END); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д