簡體   English   中英

Eclipse中的JButton:“按鈕無法解析或不是字段”

[英]JButton in Eclipse: “Button cannot be resolved or is not a field”

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的其他文章對我沒有幫助,或者我聽不懂。 我覺得像thisif(ae.getSource() == this.btnSetParameters){有問題,但我不能找到一種方法來解決它。

朝正確方向前進的任何努力,深表感謝,並在此先感謝您,

奧利

您有范圍問題,必須將btnSetParameters聲明為框架成員字段

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

並且在構造函數內部沒有,而是使用構造函數來初始化按鈕!

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

您必須將JButton btnSetParameters設置為類的字段-當前它僅在構造函數的上下文中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM