[英]Perform action when button clicked once and do a different action when clicked twice, three times etc. (Netbeans, Java)
我是Java編程的新手,想制作一個基本的游戲,單擊一次即可顯示圖像,單擊兩次可顯示不同的圖像,等等。我知道如何進行所有操作,但我不知道如何跟蹤任何點擊,然后根據已完成的點擊次數執行操作(很難解釋,很抱歉...)
我...想做一個基本的游戲,當單擊一次時顯示一個圖像,單擊兩次時顯示一個不同的圖像,等等。我知道如何進行所有操作,但我不知道如何跟蹤任何點擊
根據我的評論,為帶有ActionListener的類提供一個int字段,稱為buttonCount,並在每次按下按鈕時將其遞增-在按鈕ActionListener的actionPerformed方法內部: buttonCount++
然后根據已完成的點擊次數進行操作(很難解釋,很抱歉...)
在ActionListener的actionPerformed方法中,更改顯示的圖像。 如何更改所有內容取決於您如何顯示它,還沒有顯示給我們看,因此我無法提供任何代碼。
一種簡單的方法是創建一個ImageIcons的ArrayList來保存圖像(當然是ImageIcons),然后在ArrayList上調用get(buttonCount)
以獲取適當的ImageIcon,並通過setIcon(...)
在JLabel中顯示它setIcon(...)
方法。 確保buttonCount小於ArrayList的大小,以免出現ArrayIndexOutOfBoundsException。 一種方法是通過ArrayList的大小來修改buttonCount。 這將允許您循環瀏覽圖像集合。
同樣,您將需要閱讀有關如何使用JButton的Swing教程,然后將大問題分解為小步驟,一次嘗試解決每個步驟。
同樣,如果您需要更多細節和更具體的幫助,則必須顯示您嘗試過的內容,並詳細說明使用它可能遇到的問題。 我最真誠的信念和哲學是:通過腦力勞動和汗水強迫大腦去做新的和不熟悉的事情,從而使您學習最多。 因此,您將一無所獲。
您可以通過這種方式計算鼠標的點擊次數。 通過使用if-else或switch case,可以顯示圖像。
public class ButtonStart extends Frame {
private int mouseclicked = 0;
TextField objTextField;
public static void main(String args[]) {
ButtonStart BS = new ButtonStart();
}
public ButtonStart() {
Frame objFrame;
Button objButton;
TextField objTextField;
objFrame = new Frame("Clicking Buttons");
objButton = new Button("Click me!");
objTextField = new TextField("0");
objFrame.addMouseListener(new MyMouseListener());
objFrame.add(objButton);
objFrame.add(objTextField);
objFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public class MyMouseListener extends MouseAdapter {
public void mouseClicked(MouseEvent me) {
int mouseclicked = me.getClickCount();
objTextField.setText("Mouse clicked this many times:"
+ mouseclicked);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.