Java更高或更低的网格游戏

时间:2014-10-20 20:24:13

标签: java user-interface grid numbers

如果在用户点击编号按钮后告诉他们答案是否正确,数字是更高还是更低,如何创建一个在0到19之间取随机数的弹出窗口?

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GridGame implements ActionListener {
JFrame main;
int rows = 4;
int cols = 4;
JButton button; 
int winningNum;

public GridGame()  {
    main = new JFrame();
    main.setContentPane(makePanelGrid());
    main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //JFrame.EXIT_ON_CLOSE static refrence
    main.pack();
    main.setVisible(true);
}

public JPanel makePanelGrid(){
    JPanel grid = new JPanel();
    grid.setLayout(new GridLayout(rows,cols,10,10));

    for (int i=0;i<20;i++){
        grid.add(new JButton(i+""));
        winningNum= (int) (Math.random() * 19);
    }
    return grid;
}

public static void main(String[] Args){
    new GridGame();
}

public void actionPerformed(ActionEvent e) {
    if(e.getSource() == button){
    }
}

1 个答案:

答案 0 :(得分:1)

从你问的问题看来,好像你想从弹出框中输入一个输入?如果是这样,您可以使用JOptionPaneshowInputDialog方法。它非常易于使用,这是一个特定于您想要做的示例。

您唯一需要做的就是定义一个int来存储此方法的结果。

public int showDialog()
{
    int guess = 0;

    try{ 
        guess = Integer.parseInt(JOptionPane.showInputDialog("Guess a number between 0 and 19"));
    }catch(Exception ex){
        showDialog();
    }

    if(guess < 0 || guess > 19 )
        showDialog();

    return guess;
}

因此,您可以执行int answer = showDialog();

之类的操作

如果您只想在弹出框中显示消息,则可以使用showMessageDialog方法。

JOptionPane.showMessageDialog(null, "My message.");

如果猜测太高或太低,这应该可以显示。你也可以把它放在一个方法中:

public void showMessageDialog(String message)
{
    JOptionPane.showMessageDialog(null, message); 
}

这样您就可以传递要显示的消息。

我希望这会有所帮助。