亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

actionPerformed 函數中的 if/else 語句不起作用

actionPerformed 函數中的 if/else 語句不起作用

心有法竹 2023-12-13 16:23:41
我有這個 Java 類,其中 actionPerformed 中的 if/else 語句不起作用。如果我刪除 if 語句并只放置一些語句(即顯示消息對話框),則會成功調用/執行。import javax.swing.*;import java.awt.*;import java.awt.event.*;public class CarsAndVans extends JFrame implements ActionListener {final JButton carBtn = new JButton("Car");final JButton vanBtn = new JButton("Van");final JButton reset = new JButton("Reset");JTextField carTex = new JTextField(10);JTextField vanTex = new JTextField(10);int cars = 0, vans = 0;CarsAndVans() {    setLayout(new FlowLayout());    setSize(400, 300);    setTitle("Cars and Vans Applet");    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    setLocationRelativeTo(null);    setVisible(true);    JButton carBtn = new JButton("Car");    JButton vanBtn = new JButton("Van");    JButton reset = new JButton("Reset");    JTextField carTex = new JTextField(10);    carTex.setEditable(false);    JTextField vanTex = new JTextField(10);    vanTex.setEditable(false);    int cars = 0, vans = 0;    carTex.setEditable(false);    vanTex.setEditable(false);    add(new Label("Cars"));    add(carTex);    add(new Label("Van:"));    add(vanTex);    add( carBtn);    add( vanBtn);    add( reset);    carBtn.addActionListener(this);    vanBtn.addActionListener(this);    reset.addActionListener(this);}@Overridepublic void actionPerformed(ActionEvent actionEvent) {    if (actionEvent.getSource() == carBtn){        cars++;    } else if (actionEvent.getSource() == vanBtn) {        vans++;    } else if ((actionEvent.getSource() == reset)) {        vans = 0;        cars = 0;    }    carTex.setText(""+cars);    vanTex.setText(""+vans);}}不確定是什么問題 !我在這里查看了一些問題,但沒有一個是相似的。感謝您的幫助。
查看完整描述

2 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

你正在隱藏你的變量......


final JButton carBtn = new JButton("Car");

final JButton vanBtn = new JButton("Van");

final JButton reset = new JButton("Reset");


CarsAndVans() {

    //...

    JButton carBtn = new JButton("Car");

    JButton vanBtn = new JButton("Van");

    JButton reset = new JButton("Reset");

看看你是如何聲明它們兩次的。這意味著傳遞給您的actionPerformed方法的操作源與您的類所具有的實例不同,因此==不起作用。


刪除構造函數中的重新減速


查看完整回答
反對 回復 2023-12-13
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

問題是您正在構造函數內重新定義按鈕類型。所以你正在跟蹤它們并在你的 ActionListener 中使用錯誤的那些。


final JButton carBtn = new JButton("Car");

final JButton vanBtn = new JButton("Van");

final JButton reset = new JButton("Reset");


    JButton carBtn = new JButton("Car");

    JButton vanBtn = new JButton("Van");

    JButton reset = new JButton("Reset");


查看完整回答
反對 回復 2023-12-13
  • 2 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號