2014-06-08 76 views
0

我是一位15歲的新成員,我目前正在嘗試獨立開發一個使用java的Rock Paper Scissors遊戲。我認爲在這個項目上工作將是一個信息體驗,幫助我學習Java及其基礎知識。我對Java編程語言有點新,所以請不要批評我,我正在通過試驗和錯誤慢慢學習。對於這個特定的項目,我決定使用Eclipse,因爲我比其他IDE更喜歡它的用戶界面。無論如何,我決定實施JPanel以使遊戲更具視覺效果。我的代碼如下複製和從我的Eclipse項目粘貼:如何實現ActionListeners到我的遊戲?

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import java.awt.*; 
import java.awt.event.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

public abstract class prompt extends JPanel implements ActionListener {  
    public static void main(String []args) { 
     JPanel panel = new JPanel(); 
     JButton rockButton = new JButton("ROCK"); 
     JButton scissorsButton = new JButton("SCISSORS"); 
     JButton paperButton = new JButton("PAPER"); 
     JFrame choicePrompt = new JFrame("Rock, Paper, Scissors Game"); 

     choicePrompt.add(panel); 
     choicePrompt.setSize(300, 300); 
     choicePrompt.setVisible(true); 

     panel.add(rockButton); 
     panel.add(scissorsButton); 
     panel.add(paperButton); 
    } 
} 

請閱讀:我做了提示一種抽象類,因爲顯然它固定的一個錯誤。然而,我正在尋找的是一種添加方法,當在JPanel上單擊rock,paper或scissors按鈕時,它會記錄該點擊。我知道這可以通過Mouse或者ActionListener來實現,但是我無法自己想出來。所有其他的「shtuff」就像我可以自己做的電腦選擇一樣。

+1

http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html – Masudul

+1

通過[創建GUI隨着JFC /擺動]具有讀啓動( http://docs.oracle.com/javase/tutorial/uiswing/),[如何使用按鈕,複選框和單選按鈕](http:// docs.oracle.com/javase/tutorial/uiswing/components/button.html)和[如何編寫Action Listener](http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html) – MadProgrammer

+0

一般情況下,我會投票結束這種類型的問題,因爲它可以通過閱讀教程或尋找類似的問題很容易地得到解答,但是我會爲了試圖教導自己和缺乏經驗而削減一些鬆懈,因爲任意向新來者提出問題可以被視爲相當反社會的。將來,您可能需要突出顯示您爲解決問題所做出的努力;) – MadProgrammer

回答

2

請閱讀:我提示類爲抽象類,因爲它顯然修復了一個錯誤

它可能已經修復了comp iler錯誤,但它不會解決問題。

您的班級實施interface在這種情況下的ActionListener接口。基本上,interface是指類實現interface將履行接口的要求,在這種情況下,合同協議,這意味着由具有提供由ActionListener接口

開始宣佈actionPerformed方法的實現通過What Is an Interface?Creating a GUI With JFC/SwingHow to Use Buttons, Check Boxes, and Radio ButtonsHow to Write an Action Listener

+0

謝謝,至少我是這樣解決的;然而,我仍然沒有得到任何運用您發送給我的「如何編寫Action Listener」java教程。可能需要詳細說明。 – Stilicho

-1

爲什麼你的班級抽象?我假設你忘記實現一些東西,並且抽象並不一定能解決這個問題。

-1

到的ActionListener添加到JButton的...這是我最常做的...:

public class ButtonHandler implements ActionListener 
{ 
    public void actionPerformed(ActionEvent event) 
    { 

    if(event.getActionCommand().equals("0"))//.getActionCommand() returns the text in the component 
     { 
      //do what you want here... 
     } 
      } 
} 

現在,使其功能只是

btn0.addActionListener(new ButtonHandler());//ButtonHandler is the name of the class that implements the ActionListener, btn0 is the name of the JButton