2016-08-30 8 views
0

私はJavaでペアゲームを作成しています。 アイデアは、100個のJButtonが1から100まで番号付けされており、すべてが1から50(2倍)の番号を割り当てられているということです。そして、ボタンをクリックすると、そのボタンに割り当てられている番号が表示されます。そして、プレイヤーは同じ番号の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);   

} 

}

私はちょうどので、その前のアルファ版ので、私の建設などについて助言を与えるいけない:)

答えて

0

あなたはその独自のクラスを作成することにより、テストから値を区切ることができ書き始めました

public class PairButton extends JButton { 

private final int myRealValue; 

public PairButton(int myRealValue){ 
    this.myRealValue = myRealValue; 
} 

public int getMyRealValue() { 
    return myRealValue; 
} 

}

+1

厥良いアイデアB:のJButtonは、例えば、延在しut setName()とgetName()は私の問題を解決しました:) – Kurczaksky

関連する問題