Очистить фрейм (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);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д