【发布时间】:2017-06-07 09:29:58
【问题描述】:
Java 和此页面的新手。 当按下 JButton 时,我试图执行某个操作。按照本教程(德语,抱歉)http://www.java-tutorial.org/actionlistener.html,我使用了 JFrame 设计功能并随后添加了内容:
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,就像使用contentPane一样。 -
请不要对研究得很糟糕的问题投赞成票。 OP假装是新人,不代表他也不会在谷歌上写几个字。
-
我陷入了编码,没有时间从头开始学习,所以谷歌搜索对我来说比对你们中的一些人来说更难。由于英语也不是我的第一语言,您通常只是不知道自己在寻找什么。但是感谢您的链接,我会尝试理解这一点。到目前为止,crazyname-guys 的回答如下!编辑:错误出现在
if(ae.getSource() == this.btnSetParameters){
标签: java eclipse swing jbutton