) 是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。...方法名及返回值类型 说明 Component add(Component comp) 将指定的组件追加到此容器的尾部 void remove(Component comp) 从容器中移除指定的组件 void...(btn1);//面板中添加按钮 jPanel.add(btn2); jPanel.add(btn3); jPanel.add(btn4);...add(jPanel); //添加面板到容器 setBounds(300,200,300,150); //设置容器的大小 setVisible(true);...容器中 add(jp); //将JPanel容器添加到JFrame容器中 setBackground(Color.pink); setSize(400,200
当用户缩放容器时,布局管理器自动地调整组件的位置使其填充可用的空间。 还可以选择在每一行上排列组件的方案。默认方式是居中显示。另外还有容器的左对齐和右对齐。...当容器缩放时,边缘组件的厚度不会改变,而中部组件的大小会发生变化。 可以通过指定BorderLayout类中的CENTER、NORTH、SOUTH、EAST和WEST常量添加组件。...首先创建一个新的JPanel的对象,然后往面板中添加单个按钮。面板的默认布局管理器是FlowLayout,这符合我们的需求。最后使用add方法将每个按钮添加到面板中。...前面讲过,JPanel类使用FlowLayout作为默认的布局管理器。对于JPanel来说,可以利用构造器为其提供不同的布局管理器。而大多数其他的容器没有这样的构造器。...所有的容器都有一个用于设置布局管理器的setLayout方法。 javax.swing.JPanel 1.2 • JPanel(LayoutManager m) 为面板设置布局管理器。
程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器。...(new JButton(“按钮”)); 从容器中删除组件: container.remove(new JButton(“按钮”)); package swing; import java.awt.*;...icon, int aligment):创建一个带文本、带图标的JLabel对象,并设置标签内容的水平对齐方式。...jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭方式 } } 运行结果: 12.4 常用布局管理器 12.4.1 绝对布局 绝对布局,就是硬性指定组件在容器中的位置和大小...BorderLayout类的主要成员变量: BorderLayout.NORTH:置于顶端; BorderLayout.SOUTH:置于底端; BorderLayout.EAST:置于右端; BorderLayout.WEST
RIGHT ,默认是左对齐。 FlowLayout 中组件中间距通过整数设置,单位是像素,默认是5个像素。...接着,将Frame容器的布局方式修改为FlowLayout,并指定了左对齐方式以及水平和垂直间距为20。...三、BorderLayout 布局管理器 BorderLayout 将容器分为 EAST 、 SOUTH 、 WEST 、 NORTH 、 CENTER五个区域,普通组件可以被放置在这 5 个区域的任意一个中...注意点 使用BorderLayout 有如下两个注意点: 当向使用 BorderLayout 布局管理器的容器中添加组件时 , 需要指定要添加到哪个区域中 。...frame容器中 frame.add(hBox,BorderLayout.NORTH); frame.add(vBox); //5.设置frame最佳大小并可见
在这篇博客中,我将和大家分享我是如何设计和实现这个贺卡的,以及我在这个过程中遇到的一些挑战和收获❤️ ✨引言 儿童节快乐!在这个特殊的日子里,我想向所有的孩子们致以最诚挚的祝福。...Swing最初是作为一个可选的扩展包提供的,后来在1998年被集成到了Java 2平台中,并成为了Java标准图形用户界面技术。...提供的各种图形用户界面元素,如按钮、文本框等,它们都继承自javax.swing.JComponent类,这个类又继承自java.awt.Component类,因此Swing组件也可以使用AWT的一些特性,如容器...布局是指Swing组件在容器中的排列方式,如水平对齐、垂直对齐等,它们都实现了java.awt.LayoutManager接口,并提供了一些常用的布局管理器,如流式布局、网格布局等。...); add(formPanel, BorderLayout.CENTER); add(buttonPanel, BorderLayout.SOUTH);
本实例使用随机数字生成5位抽奖号码,并显示在窗体的5个文本框中。当用户单击”开始”按钮时,将启动一个线程对象为5个文本框生成随机数字。...单击”抽奖”按钮时,线程对象停止运行,并且将准确的中奖号码显示在信息文本框中。 开发一个抽奖小工具的实例。 (1)自定义文本框组件,把5个生成随机数的文本框的公共属性抽象定义到该文本框。...{ super(); //执行父类构造方法 setHorizontalAlignment(SwingConstants.CENTER); //设置文本居中对齐...contentPanel = new JPanel(); //创建中间的内容面板 final BorderLayout borderLayout = new BorderLayout(); borderLayout.setVgap...infoPanel = new JPanel(); //创建显示抽奖号码的面板 infoPanel.setLayout(new BorderLayout()); //设置面板布局管理器 contentPanel.add
文章目录 java的容器 数组 Collection 实例 java的容器 容器中可以保含多个对象,每个对象称为容器的一个元素.容器是用对象封装的数据结构....Collection 表(List)和集合(set)是java.util中定义的两个接口(interface); 集合(set)也是元素的集合。...集合中不允许有等值的元素,集合的元素没有顺序 map是键值对结合.map中的每个元素是一个键值对,即一个键值对,即一个键和他对应的对象值....JPanel panel1 = new JPanel(new BorderLayout()); JPanel panel2 = new JPanel(new BorderLayout...cp.add(panel1); panel2.add(label, BorderLayout.EAST); cp.add(panel2); // JList
27 JButton [] grid_button ; //扫雷里面的按钮 28 Container mycontainer; 29 /* 30 * 添加到容器中的组件放在一个列表中...如果将组件 32 * 添加到容器中时未指定索引,则该索引将被添加到列表尾部 33 * (此后它位于堆栈顺序的底部)。...(jpanel1,BorderLayout.NORTH); 96 mycontainer.add(jpanel2,BorderLayout.CENTER); 97...//炸弹的位置 30 public static int boombs_number ; //炸弹的数量 31 32 /* 33 * 添加到容器中的组件放在一个列表中...如果将组件 35 * 添加到容器中时未指定索引,则该索引将被添加到列表尾部 36 * (此后它位于堆栈顺序的底部)。
在使用BorderLayout的时候,如果容器的大小发生变化,其变化规律为:组件的相对位置不变,大小发生变化。...示例代码如下: 1 JPanel jpanel=new JPanel(); 2 3 Jpanel.setLayout(new BoxLayout(jpanel,BoxLayout.Y_AXIS...(testArea); 10 11 jpanel.add(button); //容纳testArea和button的容器,对他们沿Y轴(从上往下)放置,并且文本域和按纽左对齐,也就是两个控件的最左端在同一条线上...因为GridBagLayout中每个网格都相同大小并且强制组件与网格大小相同,使得容器中的每个组件也都是相同的大小,显得很不自然,而且组件假如容器中必须按照固定的行列顺序,不够灵活。...在GridBagLayout中,可以为每个组件指定其包含的网格个数,组件可以保留原来的大小,可以以任意顺序随意地加入容器的任意位置,从而实现真正自由地安排容器中每个组件的大小和位置。
(面板)【中间层容器】 刚刚是将所有的组件添加到继承至JFrame的类中,JFrame叫做底层容器,然而在实际开发和为了更好的使用【例如实现同一个窗口切换选项卡有不同的面板】 这些组件并不是直接添加在底层容器...而是添加到中间层容器。当然,这个中间层容器也必须添加到底层容器JFrame中才会启作用。否则显示不出来 即必须有一个类继承至JFrame,且这个类将面板或是布局,add进去。...1:JPanel面板:常用JPanel作为一个面板,最普通的面板,向该面板中添加组件。.../面板通过调用setLayout(布局对象)来设置布局 1:FlowLayout布局:表示默认居中对齐,使用该布局方式的容器,用add函数向里面加组件,就会根据先后顺序从左向右排列,一行排完后就提行...FlowLayout.RIGHT 2:BorderLayout布局:表示将这个容器划分为5个部分,东西南北中【上下左右中】 中间的区域最大,所加入的组件都应该指明其属于哪一个区域。
) 设置组件的宽度和高度,单位是像素 表12.3中列举了JPanel类常用方法,接下来演示JPanel的使用,如例12-3所示。...例12-3运行结果 图12.5中,运行程序结果,先创建了JFrame窗体,然后设置布局,创建一个容器JPanel,最后将中间容器添加进JFrame窗体。...如果需要在JScrollPane面板中放置多个组件,需要先将多个组件放置在JPanel面板容器上,然后将JPanel面板作为一个整体组件添加到JScrollPane面板中。...; 9 jPanel.setBorder(new EmptyBorder(5,5,5,5));// 设置边距 10 jPanel.setLayout(new BorderLayout...jPanel.add(scrollPane,BorderLayout.CENTER); 14 scrollPane.setViewportView(textArea); 15
关于面板的解释,你可以认为它也是一个容器,但是这个容器必须添加在其他的容器中,在Swing中常用的面板有两种,分别是JPanel面板和JScrollPane面板,下面分别对这两种面板的用途进行介绍: JPanel...面板 在JPanel面板中我们可以添加一些组件来对该面板中的内容进行布局,之所以它具备这样的功能,是因为JPanel面板同样也继承了java.awt.Container类,因此它同样是具有Container...容器的功能, 但是与Container容器不同的就是:Container容器不需要添加在其他容器中,而JPanel面板必须添加在其他容器中。...含义 BorderLayout.NORTH 在容器中添加组件时,组件置于顶端 BorderLayout.SOUTH 在容器中添加组件时,组件置于底端 BorderLayout.EAST 在容器中添加组件时...,组件置于右端 BorderLayout.WEST 在容器中添加组件时,组件置于左端 BorderLayout.CENTER 在容器中添加组件时,组件置于中间开始填充,直到与其他组件边界连接 关于边界布局管理器的具体使用可以参考如下实例
import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent...import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel...centerP = new JPanel();//JPanel 是轻量级容器 centerP.setLayout(new FlowLayout()); c.add(centerP,BorderLayout.CENTER...); JPanel southP = new JPanel(); JLabel console = new JLabel("点击组件"); southP.add(console)...; c.add(southP, BorderLayout.SOUTH); JButton btn = new JButton("按钮"); centerP.add(btn); btn.addActionListener
同时设置按钮文字和图标 JButton jb=new JButton("button"+i,icon); container.add(jb);//将按钮添加到容器中...JOptionPane.showMessageDialog(null, "弹出对话框"); } }); container.add(jb2);//将按钮添加到容器中...//设置布局管理器 container.setLayout(new BorderLayout());//初始化边界布局管理器...container.add(jp1,BorderLayout.NORTH);//添加到容器中 final JScrollPane js=new JScrollPane(jt);//创建JScrollPane...(jp);//将面板添加到容器中 //设置容器的特性 setTitle("单选按钮的简单练习");//容器的标题 setVisible(true);//可视化
通过CardLayout,你可以将多个面板组合到一个容器中,然后通过一系列的动作来控制它们的显隐。这种方式非常适合于多个互不影响的界面之间的切换。...secondPanel, \secondPanel\ cardPanel.add(thirdPanel, \thirdPanel\ pane.add(cardPanel, BorderLayout.CENTER...我们使用了三个面板,并使用CardLayout将它们组合到了一个容器中。...在每个面板中,我们添加了一个按钮,点击按钮会跳转到其它面板。在actionPerformed方法中,我们使用CardLayout的show方法来实现面板跳转。 2....tabbedPane.addTab(\Second\ secondPanel); tabbedPane.addTab(\Third\ thirdPanel); pane.add(tabbedPane, BorderLayout.CENTER
Java图形化界面设计——布局管理器之BorderLayout 转载自: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。...本文链接:https://blog.csdn.net/liujun13579/article/details/7772215 边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、....*; public class BorderLayoutDemo1 extends JFrame { private JPanel innerWindow = new JPanel();...如果想要更复杂的布局可以在东、西、南、北和中间位置添加中间容器,中间容器中再进行布局,并添加相应的组件,已达到复制补间的效果。 实例二:在中间位置中添加9个按钮。....*; public class BorderLayoutDemo2 extends JFrame { JPanel p = new JPanel(); //同名构造函数
.*; public class Volume extends JFrame implements ActionListener,ItemListener{ JPanel p1,p2,p3; JRadioButton...JButton b1,b2; JLabel l1,l2,l3,l4; JTextField tf1,tf2,tf3,tf4; public Volume(){ init(); this.add(p1,BorderLayout.NORTH...); this.add(p2,BorderLayout.CENTER); this.add(p3,BorderLayout.SOUTH); this.setTitle(“Volume Calculator...); this.add(p2,BorderLayout.CENTER); this.add(p3,BorderLayout.SOUTH); this.setTitle(“帮助…”); this.setSize...例如多加几个容器(圆锥体等)对象,多加几个公式(表面积等)。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
jp = new JPanel(new BorderLayout()); //东西南北中,面板 JPanel jp1 = new JPanel(new FlowLayout()); JPanel jp2...= new JPanel(new FlowLayout()); JPanel jp3 = new JPanel(new GridLayout(10,2)); JPanel jp4 = new JPanel...(new FlowLayout()); JPanel jp5 = new JPanel(new FlowLayout()); //加入主面板 jp.add(BorderLayout.NORTH,jp1)...; jp.add(BorderLayout.SOUTH,jp2); jp.add(BorderLayout.CENTER,jp3); jp.add(BorderLayout.EAST,jp4); jp.add...,边界布局 5个子Panel,东西南北中 最后将主Panel加入Container中,但最后执行结果,Frame显示却是空白,如图: 新手,老鸟请教,谢谢!
. ---》 代码: 1 package dialog_color; 2 3 import java.awt.BorderLayout; 4 import java.awt.Color...class Caculate extends JFrame implements ActionListener 38 { 39 Container mycon; //设置重量级容器...40 JPanel jpanel_1,jpanel_2,jpanel_3; //设置轻量级布局 41 myJButton button []= new myJButton..._2.add(button[2+i*4+j]); 74 } 75 mycon.add(jpanel_1,BorderLayout.CENTER); 76...mycon.add(jpanel_3,BorderLayout.NORTH); 77 mycon.add(jpanel_2,BorderLayout.SOUTH); 78
import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent...this.pack(); } /** 初始化计算器 */ private void init() { // 文本框中的内容采用右对齐方式 resultText.setHorizontalAlignment...3象素 panel1.setLayout(new BorderLayout(3, 3)); panel1.add("North", commandsPanel); panel1.add("Center...", calckeysPanel); // 建立一个画板放文本框 JPanel top = new JPanel(); top.setLayout(new BorderLayout()); top.add...("Center", resultText); // 整体布局 getContentPane().setLayout(new BorderLayout(3, 5)); getContentPane(
领取专属 10元无门槛券
手把手带您无忧上云