Java 全屏显示JPanel

Java 全屏显示JPanel,java,swing,jpanel,Java,Swing,Jpanel,你好,我有一个JPanel,它包含一个JTable和一个TextField。我希望显示屏幕以全屏显示,因为在我的情况下,它显示屏幕的一半。这里不是我必须指定或更改的屏幕大小参数 结果是: 使用componentResistized()方法添加一个ComponentListener。当大小更改时,使JPanel和JTable的大小与JFrame的大小相等。此外,在定义JPanel和JTable时,使它们的大小与JFrame的大小相等。框架有一个setSize方法,您可以通过该方法传递所需的尺寸。

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

结果是:


使用
componentResistized()
方法添加一个
ComponentListener
。当大小更改时,使JPanel和JTable的大小与JFrame的大小相等。此外,在定义JPanel和JTable时,使它们的大小与JFrame的大小相等。

框架有一个setSize方法,您可以通过该方法传递所需的尺寸。 要获得屏幕大小,可以使用

Toolkit.getDefaultToolkit().getScreenSize()
代码中的一些问题:

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

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

    我建议您查看Swing教程中的
    FrameDemo
    ,了解如何使用工作代码。我不知道您在哪里找到了当前的代码示例,但我会丢失代码并学习如何正确地进行Swing编码。为Swing教程添加书签,以获取所有Swing基础知识的示例。

    setExtendedState(JFrame.MAXIMIZED\u两者)

    发布你尝试过的代码。我添加了它,但我不想把它放在哪里。你会发布你添加了jpanel的代码吗?这个问题看起来像一些布局问题不要这样做!如果使JTable的大小等于框架的大小,那么就没有空间容纳任何其他组件(如TextField)。您应该使用适当的LayoutManager在帧大小更改时自动调整子帧的大小。据我所知,TextField位于JTable中。我错了吗?不,文本字段不在我帖子的JTable中我在图片上显示结果第一个代码生成错误getContendPane()未定义类型可能是因为我使用的是JPanel notJFrame@Georgio对我告诉过你代码是错误的,然后给了你正确的代码来使用。但是我使用的是JPanel而不是JFrame。你是在向JFrame添加JPanel。如果使框架成为窗口的最大尺寸,则布局管理器将使面板成为框架的最大尺寸。使用Swing是关于学习如何使用适当的布局管理器来实现布局。你必须声明可变框架吗?我正在使用JPanelw,而这段代码可能会回答这个问题,提供有关如何和/或为什么它解决问题的附加上下文将提高答案的长期价值。
    getContentPane().setPreferredSize(Toolkit.getDefaultToolkit().getScreenSize());
    pack();
    setResizable(false);
    show();
    
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setResizable(false);
    frame.pack();
    frame.setVisible(true);