Я хочу новый String
от моего Array
, чтобы показывать в консоли каждый раз, когда я нажимаю кнопку в JFrame
. Однако, когда я нажимаю кнопку в JFrame
, она показывает мне только одну строку, которая не изменяется.JButton dosen't generat random string from ArrayList
Вот мой код:
private JFrame frame;
private JPanel panel;
private JButton rand;
private String random;
public Start() {
frame = new JFrame("Java Jar exec");
frame.setVisible(true);
frame.setSize(450, 305);
frame.setLocation(610, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
panel = new JPanel();
panel.setLayout(null);
rand = new JButton("Rand");
rand.setBounds(10, 10, 10, 10);
rand.addActionListener(this);
rand.setActionCommand("rand");
rand.addMouseListener(this);
panel.add(rand);
frame.add(panel);
ArrayList<String>arr = new ArrayList <String>();
arr.add("1");
arr.add("2");
arr.add("3");
arr.add("4");
random = arr.get(new Random().nextInt(arr.size()));
}
@Override
public void actionPerformed(ActionEvent e) {
String name = e.getActionCommand();
if (name.equals("rand")) {
System.out.print(random + '\n');
}
}
Существует больше кода, но это единственное значение.
Можете ли вы опубликовать весь метод, который вызывается при нажатии кнопки? Основываясь на вашем коде, я думаю, что вы генерируете одно значение при инициализации компонентов, а затем одно и то же значение печатается каждый раз, когда вы нажимаете кнопку. – Slimu
вам нужно повторить случайный случай на 'System.out.print (random + '\ n');' – Jerry06
как использовать re-random? Спасибо за помощь! –