JavaGUI游戏:使用Jframes的帮助
我一直在玩一些代码来自学。我把这个游戏的编码搞得一团糟。我试图实现的是将当前代码放在一个jframe中,它不支持重新调整大小,并将其放在一个构造更好的窗口中。有3个面板,一个用于游戏按钮,一个用于状态标签,一个用于状态标签,另一个用于按钮 目前,这个类扩展了Jframe,但没有引入makeFrame方法,我一直在尝试这样做。以下代码在构造函数中初始化。相应的字段在那里,我没有包括它们,但它们都是编译的JavaGUI游戏:使用Jframes的帮助,java,swing,user-interface,jframe,Java,Swing,User Interface,Jframe,我一直在玩一些代码来自学。我把这个游戏的编码搞得一团糟。我试图实现的是将当前代码放在一个jframe中,它不支持重新调整大小,并将其放在一个构造更好的窗口中。有3个面板,一个用于游戏按钮,一个用于状态标签,一个用于状态标签,另一个用于按钮 目前,这个类扩展了Jframe,但没有引入makeFrame方法,我一直在尝试这样做。以下代码在构造函数中初始化。相应的字段在那里,我没有包括它们,但它们都是编译的 buttons = new JButton[boardsize][boardsize]
buttons = new JButton[boardsize][boardsize];
mineBoard = new int[9][9];
setSize(boardsize * gridsize + 60, boardsize * gridsize + 180);
getContentPane().setLayout(null);
getContentPane().add(namelabel);
getContentPane().add(scorelabel);
getContentPane().add(gamesPlayed);
// LABEL POSITIONING ON BOARD
scorelabel.setBounds(30, 30 + gridsize * boardsize, 130, 30);
namelabel.setBounds(40, 40 + gridsize * boardsize, 130, 30);
gamesPlayed.setBounds(60, 60 + gridsize * boardsize, 130, 30);
for (int a = 0; a < boardsize; a++) {
for (int b = 0; b < boardsize; b++) {
buttons[a][b] = new JButton("");
getContentPane().add(buttons[a][b]);
buttons[a][b].setBounds(30 + gridsize * a, 30 + gridsize * b, gridsize, gridsize);
buttons[a][b].addMouseListener(new MouseListener(a, b));
//buttons[a][b].setIcon( new ImageIcon( "images/rock.jpg" ) );
setx(a);
sety(b);
settried(false);
setmine(false);
}
}
assignmines();
setVisible(true);
updateGamesPlayed();
UpdateName();
updatescore();
如果有人能以任何方式帮助我,告诉我如何使用makeFrame方法实现目标,那就太好了。您的第一个问题是getContentPane.setLayoutnull;。避免使用空布局,像素完美布局在现代ui设计中是一种错觉。影响零部件单个尺寸的因素太多,您无法控制。Swing的设计目的是与布局管理器一起工作,丢弃这些将导致问题层出不穷,您将花费越来越多的时间试图纠正这些问题。1为了更快地获得更好的帮助,发布一个最小的完整可验证示例或简短、自含、正确的示例。另外,问一个问题也会很有用。谢谢,我会记住这两个问题,并想出一个更好的提问方式。