У меня есть JFrame, в котором я настраивал свои кнопки в порядке, предпочтительном для моих предпочтений.Это выглядит так: Меню для перемещения
Какую операцию я должен использовать в своем классе ActionListener для вызова кнопки, которую я объявил?Я объявил три JButton, но я вызвал только одну кнопку в классе ActionListener, чтобы показать ошибку.Ошибка заключается в (e.getSource == b1).Не знаю, что заменить, потому что эта строка работает в моем классе JPanel.
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
class FeedTheDogMenu extends JFrame{
private JFrame f = new JFrame("Operation Menu");
Selection handle;
FeedTheDogMenu(){
handle = new Selection();
JButton b1 = new JButton("Forward Traverse");
b1.setBounds(20, 30, 150, 25);
JButton b2 = new JButton("Backward Traverse");
b2.setBounds(20, 60, 150, 25);
JButton b3 = new JButton("Random Traverse");
b3.setBounds(20, 90, 150, 25);
JLabel label = new JLabel();
label.setBounds(25, 10, 450, 15);
label.setText("Choose an operation: ");
JLabel l1 = new JLabel();
l1.setBounds(195, 28, 200, 15);
l1.setText("In this menu, you will be");
JLabel l2 = new JLabel();
l2.setBounds(195, 46, 200, 15);
l2.setText("able to witness three");
JLabel l3 = new JLabel();
l3.setBounds(195, 64, 200, 15);
l3.setText("different operations");
JLabel l4 = new JLabel();
l4.setBounds(195, 82, 200, 15);
l4.setText("in which the agent will");
JLabel l5 = new JLabel();
l5.setBounds(195, 100, 200, 15);
l5.setText("perform to find the dog.");
JLabel author = new JLabel();
author.setBounds(23, 160, 200, 15);
author.setText("Feed the Dog v 0.1.3");
JLabel pow = new JLabel();
pow.setBounds(23, 173, 200, 15);
pow.setText("Powered by BlueJ");
JLabel intelprop = new JLabel();
intelprop.setBounds(190, 173, 170, 15);
intelprop.setText("(c) 2018, James Vausch");
f.add(b1);
f.add(b2);
f.add(b3);
f.add(label);
f.add(l1);
f.add(l2);
f.add(l3);
f.add(l4);
f.add(l5);
f.add(author);
f.add(pow);
f.add(intelprop);
f.setSize(380,235);
f.setLocation(150, 150);
f.setLayout(null);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1.addActionListener(handle);
b2.addActionListener(handle);
b3.addActionListener(handle);
add(f, handle);
}
class Selection implements ActionListener{
public void actionPerformed(ActionEvent e){
if ("Forward Traverse".equals(e.getSource())) {
JOptionPane.showMessageDialog(null, "Hello");
FeedOp feed = new FeedOp();
feed.display();
feed.assignDog();
feed.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
if (e.getSource() == b1) {
//
}
}
}
}
Это было бы очень полезно, спасибо!