5个按钮注册监听器跳转不同页面,要求不用匿名类,减少代码冗余
时间: 2023-05-29 20:01:14 浏览: 89
代码如下:
```
public class ButtonClickListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source instanceof JButton) {
JButton button = (JButton) source;
switch (button.getText()) {
case "Button 1":
// 跳转页面1
break;
case "Button 2":
// 跳转页面2
break;
case "Button 3":
// 跳转页面3
break;
case "Button 4":
// 跳转页面4
break;
case "Button 5":
// 跳转页面5
break;
default:
break;
}
}
}
}
```
在创建按钮时,将监听器实例化并设置到按钮中,如下所示:
```
JButton button1 = new JButton("Button 1");
button1.addActionListener(new ButtonClickListener());
JButton button2 = new JButton("Button 2");
button2.addActionListener(new ButtonClickListener());
JButton button3 = new JButton("Button 3");
button3.addActionListener(new ButtonClickListener());
JButton button4 = new JButton("Button 4");
button4.addActionListener(new ButtonClickListener());
JButton button5 = new JButton("Button 5");
button5.addActionListener(new ButtonClickListener());
```
这样做的好处是可以复用同一个监听器实例,减少代码冗余和内存使用。同时,在监听器中使用switch语句判断按钮的文本,可以在不用创建多个监听器的情况下处理不同按钮的逻辑。
阅读全文