所以,现在每当Game
类运行(包含一个MainPanel
对象)时,我只得到一个足够大的小盒子以适应“最小化”,“恢复”和“关闭“按钮,而不是1280x720屏幕。我的所有其他JFrame/JPanel
组合除了这个之外都有效,我似乎无法弄清楚原因。这很可能只是一个小错误,但我在这个问题上已经被困了很长时间。谢谢!
public class Game extends JFrame{
public static MainPanel mp = new MainPanel();
public static void main( String[] args){
Game g1 = new Game();
g1.play();
}
public Game(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle( "Game" );
setResizable( false );
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setPreferredSize(new Dimension(1280, 720));
setLocation(dim.width/2-getSize().width/2, dim.height/2-getSize().height/2);
setUndecorated(false);
mp.setBackground( Color.BLACK );
mp.setPreferredSize( new Dimension(1280, 720) );
mp.setLocation(dim.width/2-getSize().width/2, dim.height/2-getSize().height/2);
mp.setLayout( null );
mp.repaint();
getContentPane().add( mp );
}
private void play(){
EventQueue.invokeLater(new Runnable() {
public void run() {
setVisible(true);
}
});
}
}
和
public class MainPanel extends JPanel{
private JPanel jp = new JPanel();
public MainPanel(){
jp.setBackground( Color.BLACK );
jp.setPreferredSize( new Dimension(1280,720) );
jp.setLayout( null );
}
private void play(){
EventQueue.invokeLater(new Runnable() {
public void run() {
setVisible(true);
}
});
}
}
答案 0 :(得分:1)
而不是使用:
setPreferredSize(Dimension dimension);
使用:
setSize(int width, int height);
setPreferredSize(维度维度);不能在JFrame中工作,只适用于JPanel等组件。
我希望有所帮助!!