現在、ゲームの基本的なゲーム メニューを作成しようとしています。今のところ、メニューをテストしているところです。私が書いたオプションのほとんどは、メニューが実際に機能するかどうかをテストするためのものです。したがって、Menu クラスと OptionPanel クラスもあります。
メニュークラスは次のとおりです。
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Main extends JFrame {
JPanel cardPanel;
public Main(String title) {
super(title);
setBounds(100, 100, 800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cardPanel = new JPanel();
CardLayout cl = new CardLayout();
cardPanel.setLayout(cl);
OptionPanel panel1 = new OptionPanel(this);
Board panel2 = new Board();
Rules panel3 = new Rules();
cardPanel.add(panel1,"1");
cardPanel.add(panel2,"2");
cardPanel.add(panel3,"3");
add(cardPanel);
setVisible(true);
}
public static void main(String[] args)
{
Main w = new Main("AP Animation Demo");
}
public void changePanel() {
((CardLayout)cardPanel.getLayout()).next(cardPanel);
requestFocus();
}
}
そして、これが私のオプションパネルクラスです:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class OptionPanel extends JPanel implements ActionListener {
Main w;
public OptionPanel(Main w) {
this.w = w;
JButton button = new JButton("Press me!");
button.addActionListener(this);
add(button);
JButton button2 = new JButton("Game rules");
button2.addActionListener(this);
add(button2);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
setBackground(Color.BLACK);
}// Call JPanel's paintComponent method to paint the background
public void actionPerformed(ActionEvent e) {
w.changePanel();
}
}
メニューがポップアップしたときに、ゲームにつながるボタンをクリックし、別のボタンをクリックすると別の画面にリンクできるようにするにはどうすればよいですか。actionPerformed と関係があると思うので、if (e.getSource == button) などを追加してみましたが、ボタン変数が見つかりませんでした。アドバイス/フィードバックはありますか?