Java: Как передать переменные из JButton ActionListener в основной класс?
Я пытаюсь создать программу, которая генерирует случайное число при нажатии кнопки, а затем вывод отображается на экране. Тем не менее, я могуПередайте переменную, которая содержит случайное число, в класс с помощью JLabel, чтобы его можно было использовать в этом классе. Я написал программу, которая настолько проста, насколько я мог сделать, чтобы продемонстрировать:
import java.awt.BorderLayout;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Main{
public static void main(String[] args){
JFrame mainFrame = new JFrame("Experiment");
mainFrame.setSize(500,500);
mainFrame.setVisible(true);
Panel panel = new Panel();
mainFrame.getContentPane().add(panel);
JLabel output = new JLabel("This is where the result from the num variable in the numGenerator class would go");
panel.add(output);
JButton numGenerator = new JButton("Generate Number");
panel.add(numGenerator);
numGenerator.addActionListener(new numGenerator());
}
static class numGenerator implements ActionListener{
public void ActionPerfomed (ActionEvent e){
int num; //This is the variable I want to be passed to the
//Main class so it can be displayed in the "output" Jlabel.
Random dice = new Random();
num = dice.nextInt(3);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
}
В Интернете я видел другую помощь для создания объекта класса, а затем использовал его в классе, в котором вы хотите, чтобы переменная была, но я не смогчтобы это работало в этой ситуации.