我有一個學校專案,我想用 Java 做一個在線購物車。它有一個框架,4 種不同型別的帶有 JLabels 的服裝,一個文本欄位在每個欄位的開頭顯示 0,以及兩個 JButton,每個文本欄位都有加號和減號圖示。我想用加號按鈕增加文本欄位中的數字,用減號按鈕減少它。它還需要計算我想買多少衣服,以計算錢。
pa = JButton 其中有一個加號,需要增加 Pants 的數量。pt = JTextField 顯示褲子的數量。
pa.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
pt.setText(String.valueOf(Integer.valueOf(pt.getText() 1)));
}
});
輸出:褲子:0(按 按鈕一次)褲子:1(按 按鈕一次)褲子:11
我的期望:褲子:0(按 按鈕一次)褲子:1(按 按鈕一次)褲子:2
此外,使用 - 按鈕同樣減少,但我不能。
另外,我嘗試了這個,但沒有用:
int counter = 0;
pa.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
counter ;
pt.setText(String.valueOf(counter));
}
});
錯誤:java:從內部類參考的區域變數必須是最終的或有效的最終的
uj5u.com熱心網友回復:
您的第一種方法并不遙遠。行中只有一個小錯誤pt.setText(String.valueOf(Integer.valueOf(pt.getText() 1)));: 1不應該在里面Integer.value(...),而是在它之后。您當前的代碼獲取文本,將字符附加1到文本,并將修改后的文本決議為數字。但是你需要獲取文本,將文本決議為數字,然后添加1到決議的數字。在單獨的行中執行每個步驟并將每個中間結果分配給區域變數可能會有所幫助,而不是在一個陳述句中執行所有操作。
不過,第二種方法的想法更好。將您int counter從區域變數更改為類的欄位,它將起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/532089.html
標籤:爪哇摇摆动作监听器
上一篇:Pytest試圖收集錯誤的類
下一篇:java表單不顯示
