JPanel是面板组件,非顶层容器,一个界面只有可以有一个JFrame窗体组件,但可以有多个Jpanel面板,而JPanel上也可以使用FlowLayout,BorderLayout,GirdLayout等布局管理器,这样可以组合使用达到比较复杂的布局效果。
注意事项
Ⅰ.JPanel是JComponent的子类
Ⅱ.属于容器组件,可以加入别的组件
Ⅲ.默认布局管理器是流式布局(FlowLayout)
/* * 作者:白客C * 时间:2020年03月05日 * 内容:gui窗体 * 步骤: * 1.继承JFrame容器 * 2.定义需要的组件 * 3.创建组件 * 4.设置布局管理器 * 5.添加组件 * 6.对窗体设置 * 7.显示窗体 */ package com.beekc.www; import javax.swing.*; import java.awt.*; //继承JFrame public class Beekc extends JFrame{ //定义组件 JPanel jp1,jp2; JButton jb1,jb2,jb3,jb4,jb5,jb6; public static void main(String[] args){ Beekc beekc = new Beekc(); } public Beekc(){ //创建组件 jp1 = new JPanel(); jp2 = new JPanel(); jb1 = new JButton("葡萄"); jb2 = new JButton("榴莲"); jb3 = new JButton("狗肉"); jb4 = new JButton("龙虾"); jb5 = new JButton("螃蟹"); jb6 = new JButton("鱼翅"); //布局 //添加JPanel jp1.add(jb1); jp1.add(jb2); jp2.add(jb4); jp2.add(jb5); jp2.add(jb6); //添加组件到边界布局BorderLayout this.add(jp1, BorderLayout.NORTH); this.add(jb3,BorderLayout.CENTER); this.add(jp2,BorderLayout.SOUTH); //窗体设置 this.setTitle("JPanel组件与布局"); this.setSize(300,200); this.setResizable(false); this.setLocation(200,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //显示 this.setVisible(true); } }
运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
*label1:combo1 label2:combo2 label3:combo3 label4:text1 label5:text2 label6:text3*
在互联网上阅读了一段时间关于的内容后,我觉得我仍然需要澄清。我的问题: 什么是主要用于? 哪个布局管理器使用起来最灵活? 如何使用布局管理器在特定区域定位组件? 我发现使用布局管理器在容器内的某些区域定位组件非常困难。 您建议我使用哪种布局管理器,还是必须混合使用不同的布局管理器?
我需要在中制作这样的表。 有什么想法如何做到这一点,以获得像下面图片上的布局吗?
我试图使用创建一个厨房显示系统,并试图找出一种方法,当第一行已经满了时,在第二行添加另一个面板。GUI的宽度将根据用户的喜好而改变。当更宽时,它应该每行显示更多的组件。
问题内容: 您的Java Swing工具集中有哪些库/工具? XUL 布局经理 打包机/安装程序 图书 等等..... 问题答案: 这是我用的: “框架” :Swing应用程序框架并没有做很多,但是做得很好(如果使用它,您可能想看看我去年做过的一个演示文稿) JTables :处理表通常很麻烦(很多样板代码…);我通常使用GlazedLists,这大大简化了工作(并带来了许多改进) EventBu
问题内容: 我有使用小组布局来组织一些标签的面板。调整大小后,我想将此面板保持在屏幕中央。如果我使用流布局将面板放置在另一个面板中,则可以使标签水平居中,而不能垂直居中。哪个布局管理器允许我将面板保持在屏幕中央? 我还尝试了边框布局,并将其放置在中心,但其大小调整为窗口大小。 问题答案: 尝试使用a 并添加带有空对象的面板。 例如: