0
저는 Java로 페어 게임을 만들고 있습니다. 아이디어는 1에서 100까지 번호가 매겨진 100 개의 JButton이 있으며, 모두 1에서 50까지의 숫자를 배정 받았습니다 (2 배). 아무 버튼이나 클릭하면 해당 버튼에 할당 된 번호가 표시됩니다. 그리고 플레이어는 같은 번호의 두 번째 버튼을 찾아야합니다. JButton에 그 번호를 어떻게 할당 할 수 있습니까? 그들의 이름 (1-100)은 볼 수 있어야만 값에 의한 이름 버튼을 숨기고 이름을 숨길 수 있습니다.JButton을 배열에 연결 하시겠습니까?
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);
}
}
난 그냥 그렇게 그 전 알파 버전 :
그게 좋은 아이디어 B : JButton에 예를 들어, 확장 ut setName() 및 getName() 내 문제가 해결 된 :) – Kurczaksky