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