当前位置: 首页 > 知识库问答 >
问题:

在JPanel中间添加JComponents

欧桐
2023-03-14

我想在FlowLayout和GridBagLayout之间进行权衡。简而言之,我有一些组件要添加到我的JPanel中(我不知道有多少,这是在运行时创建的),我希望这些组件垂直居中。FlowLayout非常适合我的目标,但它在JPanel的顶部添加了组件。所以,我决定使用GridBagConstraints,正如有人在这里建议的那样(Java layout manager垂直中心),但这个解决方案的问题是GridBagLayout不会自动创建新行,所以我只有一行(垂直中心,至少!!!)插入超出屏幕大小的组件的位置。有人能给我一些技巧吗???

共有1个答案

巢海
2023-03-14

我希望这些组件垂直居中。FlowLayout非常适合我的目标,但它在JPanel的顶部添加了组件

您永远不会被迫使用单个面板或布局管理器。可以使用嵌套面板。例如:

JPanel centered = new JPanel( choose your layout manager );

Box vertical = Box.createVerticalBox();
vertical.add( Box.createVerticalGlue() );
vertical.add( centered );
vertical.add( Box.createVerticalGlue() );
frame.add( vertical );

垂直面板中的胶水将占用等量的额外空间,使“居中”面板垂直居中。因此,您可以使用所需的任何布局将组件添加到居中面板。

 类似资料:
  • 我不知道为什么会发生这种情况。Plz帮助.. 任何帮助都很感激。提前谢谢...

  • 问题内容: 如果我有我的Jpanel和我的JFreeChart。如何将此图表添加到JPanel中? 现在,如何在JPanle中添加图表? 问题答案: 从旧的Java论坛线程

  • 问题内容: 如何在jpanel中动态添加组件?当我单击按钮时,我应该有添加按钮,组件应该添加到JPanel。 我的问题是,当我单击添加按钮时,将文本字段和按钮添加到jpanel时,用户可以根据需要将它们添加到jpanel中的任意次数单击添加按钮。我已将scrollerpane添加到我的jpanel,并且jpanel布局管理器设置为null。 问题答案: 像往常一样,除了必须调用: 完成后,因为容器

  • 我是java swing的新手,现在我使用NetBeant使用NetBeans中内置的拖放设计器构建GUI。我现在面临的问题是,我有下面发布的代码,它是在Eclipse中编写的,正如您所看到的,我有一个扩展JPanel的类,我将从WEB_CAM捕获的图像添加到该JPanel中。现在,自从我切换到NetBeans,我使用设计器创建了JFrame、JPanel和JButtons,在我用NetBeans

  • 这段代码来自试图创建JPanel子类的对象的JFrame子类(JPanel子类称为WalkAndJump3)。 我试图通过重写paintComponent来做我在JPanel子类中所做的事情,但它不起作用,我确实将WalkAndJump3 wj声明为实例变量,所以第一行应该没有问题。怎么了?同样,问题是绘制的矩形太小,位置不合适。

  • 我创建了一个JPanel,上面有我需要的所有JRadioButtons(称为PortSettings)。我还有一个按钮,叫做端口设置,当用户单击该按钮时,我需要JPanel上来显示单选按钮。我尝试将JPanel添加到actionlistener中,但没有效果。我的代码在下面。除了portsettings按钮之外,我已经从其他按钮中删除了所有其他ActionListener。如果这个问题让人困惑,我