Java JFrame未使用JPanel调整大小
我正在制作一个扫雷程序,我需要实现一个功能,用户可以选择调整地雷所在网格的大小。我已经完成了这个,但是当我做一个更大的板时,JFrame并没有变得更大 这是当用户想要调整电路板大小时发生的方法Java JFrame未使用JPanel调整大小,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我正在制作一个扫雷程序,我需要实现一个功能,用户可以选择调整地雷所在网格的大小。我已经完成了这个,但是当我做一个更大的板时,JFrame并没有变得更大 这是当用户想要调整电路板大小时发生的方法 public void mouseClicked(MouseEvent e) { if(e.getSource() == quitButton && e.getButton() == 1){ System.exit(0); } // if I hit
public void mouseClicked(MouseEvent e) {
if(e.getSource() == quitButton && e.getButton() == 1){
System.exit(0);
}
// if I hit the reset size button this happens
if(e.getSource() == setDimension){
for (int r = 0; r < size; r++)
for (int c = 0; c < size; c++){
gameBoard.remove(board[r][c]); // removes the buttons from the board
}
inputSizeAndMines(); // lets the user choose the size and amount of mines
game = new MineSweeperGame(size, mines); // remakes the game
setBoard(); // adds new buttons based on what the user entered
displayBoard(); // makes visuals for the board
revalidate();
repaint();
}
如果有任何帮助,请在重新计算面板的首选尺寸后,再次呼叫将
打包到框架上当框架在单独的课堂上时,我该怎么做?你的框架是静态的我认为这不是一个好主意,或者你可以使用哦,那是我的错,我在尝试其他不起作用的东西,却忘了改变它。这有区别吗?谢谢,谢谢你的帮助,这意味着任何东西都可以从任何地方访问你的框架引用…但鉴于我可以使用SwingUtilities
来做同样的事情,这没有什么问题。唯一的问题是,如果您更改了引用(意外或其他)或想要多个游戏框架,我在我的中进行了编辑,但没有将JFrame作为静态或实例变量。有什么不同的我可以做的吗?
public class MineSweeper {
/**********************************
* Main class that does everything
**********************************/
public static void main(String[] args) {
JFrame frame = new JFrame("MineSweeper");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MineSweeperPanel panel = new MineSweeperPanel();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}