【发布时间】:2016-08-30 10:35:15
【问题描述】:
我正在用 Java 创建配对游戏。 这个想法是我有 100 个 JButton,从 1 到 100 编号,并且它们都分配了从 1 到 50 的数字(2 倍)。当我点击任何按钮时,它应该会显示分配给该按钮的数字。并且玩家必须找到具有相同编号的第二个按钮。如何将这些数字分配给 JButtons?他们的名字(1-100)应该是可见的,所以我不能只按值命名按钮并隐藏他们的名字。
package pairgame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.KeyStroke;
public class PairGame extends JFrame implements ActionListener
{
JMenuBar menuBar = new JMenuBar();
JMenu file, help;
JMenuItem fileExit, helpAbout;
JButton buttons[];
ArrayList <Integer> numbers;
void createMenuBar()
{
file = new JMenu("File");
fileExit = new JMenuItem("Exit");
fileExit.addActionListener(this);
fileExit.setAccelerator(KeyStroke.getKeyStroke("ctrl Q"));
file.add(fileExit); file.setMnemonic('f');
help = new JMenu("Help");
helpAbout = new JMenuItem("About");
helpAbout.addActionListener(this);
helpAbout.setAccelerator(KeyStroke.getKeyStroke("ctrl H"));
help.add(helpAbout);
help.setMnemonic('h');
menuBar = new JMenuBar();
menuBar.add(file);
menuBar.add(help);
setJMenuBar(menuBar);
}
PairGame()
{
setTitle("Pair Game");
setSize(600,600);
setLocation(400,100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(10,10));
createMenuBar();
// CREATING GAME MAP
numbers = new ArrayList<Integer>();
for(int i=1; i<=50; i++)
numbers.add(i);
for(int i=51; i<=100; i++)
numbers.add(i-50);
Collections.shuffle(numbers);
buttons = new JButton[100];
for(int i=0; i<100; i++)
{
buttons[i] = new JButton(""+(i+1));
buttons[i].addActionListener(this);
add(buttons[i]);
}
setVisible(true);
}
public static void main(String[] args)
{
new PairGame();
}
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
if (source==fileExit)
System.exit(0);
if (source==helpAbout)
JOptionPane.showMessageDialog(this, "blablabla", "About", 3);
}
}
我刚开始写作,所以不要给我关于构造等方面的建议,因为它的前 alpha 版本:)
【问题讨论】:
标签: java arrays collections jbutton