用户单击带编号的按钮告诉他们答案是否正确,数字更大还是更低时,如何创建一个弹出窗口,该弹出窗口在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){
}
}
最佳答案
从您提出的问题来看,您似乎想从弹出框中输入内容?如果是这样,您可以使用JOptionPane的showInputDialog方法。它非常易于使用,这是您要执行的操作的示例。
您唯一需要做的就是定义一个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/