Очистить фрейм (SWING) - Java

Узнай цену своей работы

Формулировка задачи:

Только недавно начал учить Java. Решил создать простенькую программку для генерации рандомных чисел. Решил сделать её с помощью swing. Вроде, всё более-менее получилось, но не могу понять, как сбросить уже полученный результат. Т.е, когда я генерирую число, новый результат накладывается на предыдущие. Так и не придумал, как можно это исправить. И гугл ничего не подсказал. Вот сам код:
Листинг программы
  1. public static String s;
  2. public static int a;
  3. private static JTextField text = new JTextField(30);//создаём поле ввода
  4. public static JFrame frame2 = new JFrame();
  5. public static JPanel panel5 = new JPanel();
  6. public static void main(String[] args) throws Exception{
  7.  
  8. JFrame frame = new JFrame(); //создаём фрейм
  9. frame.setSize(350, 115); //размер
  10. frame.setTitle("Рандомка"); //название
  11. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  12. frame.setLocationRelativeTo(null);
  13. frame.setResizable(false);
  14. frame.setVisible(true);
  15. frame.setLayout(new BorderLayout());
  16. // Создание предметов
  17.  
  18. JLabel label = new JLabel("Введите число"); //создаём лейбл
  19.  
  20. JButton button2 = new JButton();//создаём кнопку
  21. button2.setText("Ввод");
  22. button2.setCursor(new Cursor(Cursor.HAND_CURSOR));//изменяем курсор
  23. button2.addActionListener(new ButtonActionListener2());//при нажатии на кнопку происходит действие
  24. JPanel panel = new JPanel(); //создаём панель
  25.  
  26. //добавление
  27. frame.add(label, BorderLayout.PAGE_START); //лейбл
  28. frame.add(panel, BorderLayout.CENTER); //добавляем панель
  29. panel.add(text, BorderLayout.CENTER); //добавляем на панель поле ввода
  30. panel.add(button2, BorderLayout.PAGE_END);
  31.  
  32. }
  33. public static class ButtonActionListener2 implements ActionListener{
  34. @Override
  35. public void actionPerformed(ActionEvent event){
  36.  
  37. String s = text.getText();
  38.  
  39. frame2.setSize(350, 200);
  40. frame2.setTitle("Начинаем рандомить=)");
  41. frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  42. frame2.setLocationRelativeTo(null);
  43. frame2.setResizable(false);
  44. frame2.setVisible(true);
  45. frame2.setLayout(new BorderLayout());
  46. a=Integer.parseInt(s);
  47. Random rand = new Random();
  48. int n;
  49. n = rand.nextInt(a + 1);
  50. JLabel label3 = new JLabel(" ");
  51. frame2.add(label3, BorderLayout.PAGE_START);
  52. JLabel label2 = new JLabel("Побеждает №" + n);
  53. frame2.add(label2, BorderLayout.PAGE_START);
  54. JButton button = new JButton();
  55. button.setText("Ещё раз!");
  56. button.setCursor(new Cursor(Cursor.HAND_CURSOR));
  57. button.addActionListener(new ButtonActionListener2());
  58. frame2.add(button, BorderLayout.PAGE_END);
  59.  
  60. }
  61. }

Решение задачи: «Очистить фрейм (SWING)»

textual
Листинг программы
  1. public class JavaApplication1 {
  2. public static String s;
  3.     public static int a;
  4.     private static JTextField text = new JTextField(30);//создаём поле ввода
  5.     public static JFrame frame2 = new JFrame();
  6.     public static JPanel panel5 = new JPanel();
  7.     public static JLabel label2 ;
  8.     public static void main(String[] args) throws Exception{
  9.  
  10.  
  11.         JFrame frame = new JFrame();  //создаём фрейм
  12.  
  13.         frame.setSize(350, 115);  //размер
  14.         frame.setTitle("Рандомка"); //название
  15.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16.         frame.setLocationRelativeTo(null);
  17.         frame.setResizable(false);
  18.         frame.setVisible(true);
  19.         frame.setLayout(new BorderLayout());
  20. // Создание предметов
  21.  
  22.  
  23.         JLabel label = new JLabel("Введите число"); //создаём лейбл
  24.  
  25.  
  26.  
  27.          JButton button2 = new JButton();//создаём кнопку
  28.          button2.setText("Ввод");
  29.          button2.setCursor(new Cursor(Cursor.HAND_CURSOR));//изменяем курсор
  30.          button2.addActionListener(new ButtonActionListener2());//при нажатии на кнопку происходит действие
  31.  
  32.         JPanel panel = new JPanel(); //создаём панель
  33.  
  34.  
  35. //добавление
  36.  
  37.         frame.add(label, BorderLayout.PAGE_START); //лейбл
  38.         frame.add(panel, BorderLayout.CENTER); //добавляем панель
  39.         panel.add(text, BorderLayout.CENTER); //добавляем на панель поле ввода
  40.         panel.add(button2, BorderLayout.PAGE_END);
  41.         label2 = new JLabel("Побеждает №");
  42.         frame2.add(label2, BorderLayout.PAGE_START);
  43.  
  44.  
  45.         }
  46.  
  47.     public static class ButtonActionListener2 implements ActionListener{
  48.  
  49.         public void actionPerformed(ActionEvent event){
  50.  
  51.        
  52.             s = text.getText();
  53.  
  54.  
  55.             frame2.setSize(350, 200);
  56.             frame2.setTitle("Начинаем рандомить=)");
  57.             frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  58.             frame2.setLocationRelativeTo(null);
  59.             frame2.setResizable(false);
  60.             frame2.setVisible(true);
  61.             frame2.setLayout(new BorderLayout());
  62.  
  63.             a=Integer.parseInt(s);
  64.  
  65.             Random rand = new Random();
  66.  
  67.             int n;
  68.  
  69.             n = rand.nextInt(a + 1);
  70.  
  71.             JLabel label3 = new JLabel(" ");
  72.             frame2.add(label3, BorderLayout.PAGE_START);
  73.             label2.setText("Побеждает №" + n);
  74.            
  75.  
  76.             JButton button = new JButton();
  77.             button.setText("Ещё раз!");
  78.             button.setCursor(new Cursor(Cursor.HAND_CURSOR));
  79.             button.addActionListener(new ButtonActionListener2());
  80.             frame2.add(button, BorderLayout.PAGE_END);
  81.  
  82.         }
  83.  
  84.     }
  85.    
  86. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут