Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2019, 18:38   #1
kompildan
Пользователь
 
Регистрация: 16.02.2019
Сообщений: 14
По умолчанию Как в текстовом поле при нажатии на кнопку выводить рандомно числа ?

А именно при нажатии на кнопку "Генерировать больше" в текстовом поле input - выводились числа больше 254, а при нажатии "Генерировать меньше" выводились числа меньше 125. Я думаю это нужно сделать в методе actionPerformed, но не понимаю как.

Main.java
Код:
public class Main {
 
    public static void main (String[]argc){
      SimpleGUI app = new SimpleGUI();
      app.setVisible(true);
 
    }
}
SimpleGUI.java
Код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SimpleGUI extends JFrame {
    private JButton button = new JButton("Генерировать больше");
    private JButton button2 = new JButton("Генерировать меньше");
 
    private  JTextField input = new JTextField("",5);
    private JLabel label = new JLabel("254");
    private JLabel label2 = new JLabel("125");
    private JLabel label3 = new JLabel("");
 
 
    public SimpleGUI(){
        super("Simple Example");
        this.setBounds(100, 100, 390, 150);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        Container container = this.getContentPane()
        container.setLayout(new GridLayout(3,10,10,5));
 
        container.add(input);
        container.add(label3);
 
        button.addActionListener(new ButtonEventListener());
        container.add(button);
        container.add(label);
 
 
        button2.addActionListener(new ButtonEventListener());
        container.add(button2);
        container.add(label2);
 
    }
 
 
    public class  eHandler implements ActionEvent{
        public void actionPerformed(ActionEvent e){
            if (e.getSource()==button){
                int i = Integer.parseInt(input.getText());
              
     // ???
 
              input.setText();
 
            }
        }
    }
}
Изображения
Тип файла: png Снимок экрана от 2019-03-02 18-35-09.png (54.8 Кб, 122 просмотров)
kompildan вне форума Ответить с цитированием
Старый 02.03.2019, 19:35   #2
kompildan
Пользователь
 
Регистрация: 16.02.2019
Сообщений: 14
По умолчанию

вот я собственно сделал, оно работает, а как это можно было бы сделать это более правильно, т.к. вот эта строчка: a = ""+i, мне кажется очень "кастыльной"
Код:
public class ButtonEventListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
            if (e.getSource()==button){
               i =254 + (int) (Math.random()*(500-254));
               a = ""+i;
               input.setText(a);
            }
            
            if(e.getSource()==button2){
               k = 0 +(int)(Math.random()*(125-0));
               b = ""+k;
               input.setText(b);
            }
        }
    }
kompildan вне форума Ответить с цитированием
Старый 29.04.2019, 14:47   #3
s86
 
Регистрация: 25.04.2019
Сообщений: 5
По умолчанию

можно просто взять тип Integer
Код:
Integer i =254 + (int) (Math.random()*(500-254));
input.setText(i.toString());
или сразу
Код:
input.setText(new Integer(254 + (int) (Math.random()*(500-254))).toString())
s86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меняем местами числа в таблице при нажатии на кнопку marinalekan Microsoft Office Word 2 15.11.2017 22:34
Сделать кнопку при нажатии показывался объект, при повторном нажатии пропадал. nyqpblcTuk Microsoft Office Excel 3 31.08.2017 14:32
Выводить вопросы из БД рандомно,а не по порядку. Bergamot Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 31.01.2016 16:41
Каждый час рандомно прибавлять к числу и выводить на экран vnaumenko JavaScript, Ajax 1 16.07.2012 21:16
в поле ввести число и при нажатии кнопки получить рандом от этого числа NIQK HTML и CSS 4 03.03.2010 10:51