全屏显示JPanel

时间:2016-05-05 13:49:55

标签: java swing jpanel

您好我有一个包含JTable和TextField的JPanel。我希望显示屏全屏显示,因为在我的情况下它显示屏幕的一半。这不是我必须指定或更改的屏幕尺寸参数吗?

结果如下:

http://i.stack.imgur.com/bmUZX.png

 public MainWindow()
 {
super("Fullscreen");
getContentPane().setPreferredSize(      

Toolkit.getDefaultToolkit().getScreenSize());
pack();
setResizable(false);
show();

4 个答案:

答案 0 :(得分:2)

getContentPane().setPreferredSize(Toolkit.getDefaultToolkit().getScreenSize());
pack();
setResizable(false);
show();

代码存在一些问题:

  1. 您不能将内容窗格的大小设置为屏幕大小。框架具有需要考虑的装饰(标题栏,边框)。
  2. pack()和setResizable(...)的顺序错误。在将组件添加到屏幕之后以及在设置框架的可调整大小属性之后,需要调用pack()语句。
  3. 不再使用show()方法。
  4. 如果您只想显示最大化的帧,则代码为:

    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setResizable(false);
    frame.pack();
    frame.setVisible(true);
    

    我建议您查看How to Make Frames上Swing教程中找到的FrameDemo,了解工作代码以帮助您入门。我不知道你在哪里找到了你当前的代码示例,但我会丢失代码并学习如何正确地进行Swing编码。将Swing教程收藏为所有Swing基础知识的示例。

答案 1 :(得分:0)

框架有一个setSize方法,您可以在其中传递所需的尺寸。 获取您可以使用的屏幕尺寸

Toolkit.getDefaultToolkit().getScreenSize()

答案 2 :(得分:0)

setExtendedState(JFrame.MAXIMIZED_BOTH);

答案 3 :(得分:-1)

使用ComponentListener方法添加componentResized()。当改变大小使您的JPanel和JTable的大小与JFrame的大小相等时。而且,在定义JPanel和JTable的同时,他们的尺寸也是如此。等于JFrame的大小。