Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

А именно при нажатии на кнопку "Генерировать больше" в текстовом поле 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();
 
            }
        }
    }
}
Изображения
 
kompildan вне форума   Ответить с цитированием
Старый 02.03.2019, 20:35   #2
kompildan
Пользователь
 
Регистрация: 16.02.2019
Сообщений: 14
Репутация: 10
По умолчанию

вот я собственно сделал, оно работает, а как это можно было бы сделать это более правильно, т.к. вот эта строчка: 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, 15:47   #3
s86
 
Регистрация: 25.04.2019
Сообщений: 5
Репутация: 10
По умолчанию

можно просто взять тип 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


09:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru