我正在嘗試創建一個簡單的Tic-Tac-Toe程序,它使用終端和遊戲之前的用戶界面。我很喜歡這個,所以請放輕鬆。當我嘗試在我調用的方法使用的ActionListener,我得到這個錯誤:Non static variable this cannot be referenced from a static context.
如何在Java中使用ActionListener(this)命令
這裏是我的代碼:
import java.util.Random ;
import java.util.Scanner ;
import javax.swing.JOptionPane ;
import javax.swing.JFrame ;
import javax.swing.JPanel ;
import java.util.InputMismatchException ;
import java.awt.BorderLayout ;
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.JTextArea ;
import javax.swing.JButton ;
import javax.swing.JRadioButton ;
class TicTacToe
{
public int inp1 ;
public int inp2 ;
public static void main(String []args)
{
popupintroscreen();
}
public static void popupintroscreen()
{
JTextArea introtext = new JTextArea("Hello and welcome to TicTacToe v.1.0");
introtext.setEditable(false);
introtext.setLineWrap(true);
introtext.setWrapStyleWord(true);
JButton startgamebutton = new JButton("Start Game");
JButton.addActionListener(this);
JPanel content = new JPanel(new BorderLayout());
content.add(introtext);
content.add(startgamebutton);
JFrame introscreen = new JFrame("Tic Tac Toe");
introscreen.setSize(400,400);
introscreen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
introscreen.setLocationRelativeTo(null);
introscreen.add(content);
introscreen.setVisible(true);
}
}`
先謝謝了!
'this'指的是當前對象上下文,但你在其中定義未在'static'方法是有一個對象上下文,所以'this'不存在。 「this」引用的對象(如果首先解決靜態問題)還需要實現ActionListener接口和任何必需的方法,然後才能按照您的需要使用它。 – JonK
好的,謝謝JonK,但你可以用簡單的術語解釋一下嗎?我是一個真正的新手:( – RoboticMoneylender
你知道靜態關鍵字是什麼意思嗎?如果你是面嚮對象語言的新手,那麼你可能會很難找到自己的頭腦 – JonK