gpt4 book ai didi

java - Eclipse 中的 JButton : "Button cannot be resolved or is not a field"

转载 作者:行者123 更新时间:2023-11-30 02:30:32 25 4
gpt4 key购买 nike

Java 和此页面的新手。我试图在按下 JButton 时执行特定操作。按照本教程(德语,抱歉)http://www.java-tutorial.org/actionlistener.html ,我使用了 JFrame Design 功能并随后添加了内容:

public class JFrame extends javax.swing.JFrame implements ActionListener
{

private JPanel contentPane;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFrame frame = new JFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public JFrame()
{

this.setTitle("BMS Anpassen");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JButton btnFlush = new JButton("Flush!");
btnFlush.setBounds(170, 209, 89, 23);
contentPane.add(btnFlush);

JSpinner spinner = new JSpinner();
spinner.setToolTipText("Gib die Spannung ein!");
spinner.setModel(new SpinnerNumberModel(new Float(3000), new Float(2700), new Float(4100), new Float(100)));
spinner.setBounds(56, 49, 52, 20);
contentPane.add(spinner);

JLabel lblMv = new JLabel("mV");
lblMv.setFont(new Font("Tahoma", Font.PLAIN, 13));
lblMv.setBounds(113, 51, 24, 14);
contentPane.add(lblMv);

JButton btnSetParameters = new JButton("Set Parameters");
btnSetParameters.setBounds(152, 175, 130, 23);
contentPane.add(btnSetParameters);

//Buttons dem Listener zuordnen
btnFlush.addActionListener(this);
btnSetParameters.addActionListener(this);

}

public void actionPerformed(ActionEvent ae){

if(ae.getSource() == this.btnSetParameters){

// Parameter in Config schreiben/Write parameters in Config
FileWriter fw = new FileWriter("ConfigBMS.txt");
BufferedWriter bw = new BufferedWriter(fw);

bw.write("25000");
bw.newLine();
bw.write("42000");
bw.newLine();
bw.write("27000");
bw.newLine();
bw.write("41000");

bw.close();
}
else
{
}
}

}

它现在给我错误消息“btnSetParameters 无法解析或不是字段”。阅读有关 JButtons 的其他帖子对我没有帮助,或者我不明白。我觉得 if(ae.getSource() == this.btnSetParameters){ 中的 this 是问题所在,但我找不到解决方法。

我们非常感谢任何朝正确方向的插入,并提前感谢您,

奥利

最佳答案

您遇到范围问题,btnSetParameters 必须声明为 Frame 成员字段

public class JFrame extends javax.swing.JFrame implements ActionListener {
private JButton btnSetParameters;

并且构造函数内部没有,请使用构造函数来初始化按钮!

public JFrame() {
....
btnSetParameters = new JButton("Set Parameters");
}

关于java - Eclipse 中的 JButton : "Button cannot be resolved or is not a field",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44408746/

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