gpt4 book ai didi

java - 程序无法识别java中的内部类

转载 作者:行者123 更新时间:2023-12-01 21:40:33 25 4
gpt4 key购买 nike

我想在同一个 JFrame 上使用 2 个按钮来分别执行不同的任务。一种用于更改右侧标签,另一种用于更改中间圆圈的颜色。 (随机变化的颜色属于另一个类。)

出于某种未知的原因,程序似乎无法识别主类(类 TwoButtons)中存在的内部类。我对 java 很陌生,我找不到我做错了什么......你能帮我解决我的问题吗?

package twoButtonsPackage;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TwoButtons {
JFrame frame;
JLabel label;


public static void main(String[] args) {
TwoButtons gui = new TwoButtons();
gui.go();

}
public void go(){
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton labelButton = new JButton("Change label");
labelButton.addActionListener(new LabelListener());

JButton colorButton = new JButton("Change cirle");
colorButton.addActionListener(new ColorListener());

label = new JLabel("I'm a labele");
MyDrawPanel drawPanel = new MyDrawPanel();

frame.getContentPane().add(BorderLayout.SOUTH, colorButton);
frame.getContentPane().add(BorderLayout.CENTER, drawPanel);
frame.getContentPane().add(BorderLayout.WEST, labelButton);
frame.getContentPane().add(BorderLayout.EAST, label);
frame.setSize(300, 300);
frame.setVisible(true);

class LabelListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
label.setText("Ouch!");

}
}
class ColorListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
frame.repaint();
}
}


}


}

我收到错误

labelButton.addActionListener(new LabelListener());

然后

colorButton.addActionListener(new ColorListener());

它在这两种情况下都表示 LabelListener 和 ColorListener 都无法解析为类型。
提前非常感谢您..!!

最佳答案

您需要将 LabelListenerColorListener 类移出 public void go() 方法

class LabelListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
label.setText("Ouch!");
}
}

class ColorListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
frame.repaint();
}
}

关于java - 程序无法识别java中的内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com