Java高级或低级网格游戏

Java高级或低级网格游戏

用户单击带编号的按钮告诉他们答案是否正确,数字更大还是更低时,如何创建一个弹出窗口,该弹出窗口在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){
    }
}

最佳答案

从您提出的问题来看,您似乎想从弹出框中输入内容?如果是这样,您可以使用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);
}


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

我希望这有帮助。

关于java - Java高级或低级网格游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26474265/

10-08 21:12