既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 本篇内容,将说明java JFrame窗体里容器中几类布局。...说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器的setLayout()方法,设置为null值,这样就是绝对布局。...默认情况下,布局都是绝对布局。 在绝对布局下,设置的所有组件,都必须设置坐标和大小。坐标不设置,那么组件将会在最左上角显示,但是如果大小不设置,组件将不可见。...而且在绝对布局中,宽度若是不够给组件显示的空间,组件将不会显示。 流布局 流布局有一个好处,它可以自动的为组件分配位置。 它还提供了对于对齐方式设置的方法。...边界布局 边界布局,实例化BorderLayout - 边界布局提供了5块区域,分别是:东南西北和中间区域; 其中,北和南的布局要比东西布局要长,但是东西两布局的宽度要比北南布局要宽。
.*; public class Demo extends JFrame{//继承父类 public Demo(){ setVisible(true);//设置窗体可见 setTitle...也不会停止运行 * HIDE_ON_CLOSE 隐藏窗体 * DISPOSE_ON_CLOSE 点 X一段时间停止程序,释放窗体 */ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
.*; 4 public class test 5 { 6 public static void main(String args[]) 7 { 8 JFrame window1..., window2; 9 window1 = new JFrame("第一个"); 10 window2 = new JFrame("第二个"); 11 Container...90, 70, 60); 15 window1.setVisible(true); //窗口是否可见 16 window1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE...); //注销释放掉这个窗口 17 window2.setVisible(true); 18 window2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE...); 19 20 21 } 22 } JFrame类的一些基本用法.
Swing组件的窗体通常和组件的容器相关,所以在JFrame对象创建完成后, *需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件 *或设置布局管理器,通常这个容器用来包含和显示组件...* * *过程如下 *第一创建一个JFrame窗体对象 *第二通过getContentPane()方法将窗体转化为容器 *第三在容器中添加组件或设置布局管理器 *第四通常这个容器用来包含和显示组件...JFrame类 public void CreateJFrame(String title){//定义一个CreateJFrame方法 JFrame jf=new JFrame...窗体"); } } //实例演示JLabel标签的使用,实例化JLabel对象,然后将标签实例添加到容器中,然后可以设置容器的布局, package com.swing; import java.awt.Color...对象 Container container=jf.getContentPane();//将窗体转化为容器 //接下来就可以在容器中添加组件或者设置布局管理器
回顾 在上一篇中说明了JFrame窗体的创建、退出操作、窗体的显示。 这一篇中,将说明在窗体里,常用的几个组件的作用; 什么是组件?...如果深入了解了组件,那么它有着非常多的组件,这些组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入; 另:在使用组件前
.*; 出现错误,请查看: 解决无法使用java.awt.和javax.swing. 1.JFrame窗体 package number; import java.awt.*; import javax.swing....*; public class Xuexi extends JFrame{ public void CreateJFrame(String title) { JFrame jf =new JFrame...(title);//实例化一个JFrame对象 Container container =jf.getContentPane();//获取一个容器 JLabel jl =new JLabel("...弹出对话框 import java.awt.event.*; import java.awt.*; import javax.swing.*; public class MyFrame extends JFrame...Container container =getContentPane();//创建一个容器 container.setLayout(null); JLabel jl =new JLabel("这是一个JFrame
12.1 常用布局管理器 布局管理器也就是GUI中的布局设置,是指窗口上的组件遵循一定的规则来排列,并会随着窗口大小的变化来变化组件大小和位置的布局方式。...在java.awt包中提供了五种布局管理器,每种布局管理器对应一种布局策略,分别是FlowLayout(流式布局管理器)、BorderLayout(边界布局管理器)、GridLayout(网格布局管理器...javax.swing包中提供的布局管理器有盒式布局管理器BoxLayout、重叠布局管理器OverlayLayout和弹簧布局管理器SpringLayout等。...jFrame = new JFrame("JFrame窗口下的流式布局管理器"); 6 // 创建JFrame对象 7 // 设置窗体中布局管理器为FlowLayout...对象 6 JFrame jFrame = new JFrame("JFrame窗口下的边框式布局管理器"); 7 // 设置窗体中布局管理器为BorderLayout
JFrame这个类,那么他的构造方法就是一个窗体。...在这个构造方法中我们无需再实例化JFrame这个类,我们可以直接调用关于JFrame类中的方法,例如设置大小和坐标; 同时,在主类中继承JFrame时,我们也可以在非主类上实现,如: class windowDemo...没关系,java还提供了实例化的方式来创建窗体: public static void main(String[] args){ JFrame jf = new JFrame();// 实例化JFrame...JFrame中的方法!...小提:上述的代码,虽然我都是用JFrame类来说明创建,如果将JFrame类替换成JDialog,程序将不提供窗体退出的方法,因为JDialog是一个对话框,本质是配合JFrame来使用的,这点需要注意
回顾 这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。 在这一篇中,我会说明下拉框和列表框 什么是组件? 自行百度:java中JFrame窗体里的组件是什么?
BoxLayout布局管理器,这种布局方式是在行或列中楞放组件.如果沿用水平方向排列组件,当组件的总宽度超出容器的宽度时,组件不会换行,而是继续沿同一行排列组件。...该布局管理器里的组件按 axis 方向排列。...布局管理器的使用,如例12-21所示。...对象 6 JFrame jFrame = new JFrame("JFrame窗口下的BoxLayout布局管理器"); 7 //获取窗口jFrame的内容窗格 8...Container app=jFrame.getContentPane(); 9 //2.创建BoxLayout布局管理器,指定组件排列方向为纵向 10 BoxLayout
jFrame = new JFrame("Frame窗口下的网格式布局管理器"); 8 // 设置窗体中布局管理器为GridLayout 9 jFrame.setLayout...JFrame("JFrame窗口下的网格包布局管理器"); 13 //创建GridBagLayout布局管理器 14 GridBagLayout gbaglayout =...=new JFrame("JFrame窗口下的卡片式布局管理器"); 8 JPanel jPanel1=new JPanel(); 9 JPanel jPanel2=new...JPanel(); 10 11 jFrame.setLayout(null); 12 //将面板对象jPanel2设置为1行4列的网格式布局 13 jPanel2...jFrame调用add()方法将两个面板添加到窗口jFrame中,jPanel1调用add()方法将三个对象添加到面板jPanel1中,将名字为jTextField的文本框显示在卡片式布局的页面上,将4
如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入;...JTextField 文本框,输入字符串用的 常规方法不说了,说说setColumns()方法,他采用的值是列数,设置列数也可以增加减少文本框的长度是真的,但是,设置后,该文本框将无效化布局。
Java Swing是Java GUI编程库的一部分,提供了丰富的组件和布局管理器来构建桌面应用程序。在Swing中,JFrame、JPanel和JButton是构建用户界面的基础组件。...JFrame JFrame是Swing中的顶级容器,用于展示应用程序的主窗口。通常,你的应用程序会有一个JFrame实例。...它可以有自己的布局管理器,也可以自定义绘制。...如果直接将组件添加到JFrame,可能会导致布局混乱。 避免方法:先创建JPanel,再将组件添加到JPanel,最后将JPanel添加到JFrame。 3....在实践中,结合不同的布局管理器和组件,你可以构建出各种复杂的界面。
*;public class HelloSwing { public static void main(String[] args) { JFrame frame = new JFrame...); frame.setVisible(true); }}️ 图示:按钮 + 标签点击后变更内容五、布局管理器详解5.1 FlowLayout(流式布局)组件从左到右排列,超出换行:...());frame.add(button, BorderLayout.SOUTH);5.3 GridLayout(网格布局)java复制编辑frame.setLayout(new GridLayout(...2, 2)); // 两行两列️ 图示:按钮在南边、输入框在中部、布局均匀分布六、综合实战:登录窗口开发我们来实现一个带有“用户名 + 密码 + 登录按钮”的简易登录界面。...*;public class LoginForm { public static void main(String[] args) { JFrame frame = new JFrame
JPanel类的常用方法 常用方法 功能描述 public JPanel() 创建包括双缓冲和流布局的新Jpanel public JPanel(LayoutManager layout) 创建包括指定布局管理器的新缓冲...jFrame=new JFrame("JPanel框架"); 7 jFrame.setSize(300,200); 8 jFrame.setLocation(500,400...例12-3运行结果 图12.5中,运行程序结果,先创建了JFrame窗体,然后设置布局,创建一个容器JPanel,最后将中间容器添加进JFrame窗体。...JScrollPane是一个带滚动条的面板容器,只能放置一个组件,并且不能使用布局管理器。...在第8行代码处设置了边界宽度,距离外部边界距离都是5px;第10行代码处设置了布局方式为BorderLayout,组件之间的水平和垂直距离都是0px。
void setLayout(LayoutManager lmg) 设置容器使用lmg页面布局设置 public void setDefaultCloseOperation(int operation....*; public class Demo1201{ public static void main(String[] args) { JFrame jFrame = new JFrame("JFrame...容器窗口"); // 创建JFrame窗体 setLayout(new FlowLayout()); // 设置布局 setSize(400, 250); setDefaultCloseOperation...案例Demo1201先创建了一个空白窗体,然后设置窗体布局和大小,通过调用setDefaultCloseOperation(int operation)方法来传入参数JFrame.EXIT_ON_CLOSE...jFrame = new JFrame("JFrame容器窗口"); // 创建JFrame窗体 setLayout(new FlowLayout()); // 设置布局 setDefaultCloseOperation
*;public class HelloSwing { public static void main(String[] args) { JFrame frame = new JFrame...*;public class ButtonDemo { public static void main(String[] args) { JFrame frame = new JFrame...五、Swing 布局管理器布局决定了组件在窗口中的排布方式。...布局管理器描述FlowLayout流式,从左到右BorderLayout东西南北中五个区域GridLayout网格布局,等宽高分布BoxLayout横向或纵向排列GridBagLayout灵活复杂的网格布局...5.1 BorderLayout 示例java复制编辑JFrame frame = new JFrame("布局示例");frame.setLayout(new BorderLayout());frame.add
、JComboBox 布局管理器:FlowLayout、BorderLayout、GridLayout ️ 组件结构如下图:markdown复制编辑JFrame└── JPanel ├── JLabel...*;public class HelloSwing { public static void main(String[] args) { JFrame frame = new JFrame...*;public class InputDemo { public static void main(String[] args) { JFrame frame = new JFrame...六、布局管理器详解Swing 中组件如何排列由布局管理器控制:常见布局示意:布局类型示例用途说明FlowLayout简单排列默认布局,组件从左到右流动BorderLayout典型窗口界面东西南北中五个区域...*;public class NoteApp { public static void main(String[] args) { JFrame frame = new JFrame
1.绝对布局 绝对布局,就是可以硬性指定组件在容器中的位置和大小,使用绝对坐标来指定组件的位置与大小。....*; public class c1 extends JFrame { public void windows() { JFrame jf =new JFrame("本窗口使用绝对布局");...windows() { JFrame jf=new JFrame("流布局"); Container container =jf.getContentPane(); jf.setLayout...2.边界布局管理器 在默认不指定窗体布局的情况下,Swing组件的布局模式是边界布局管理器,如果在容器中只添加了一个标签组件,这个标签将被放置在窗体中间,而且整个组件占据窗体的所有空间,边界布局管理器还可以将容器划分为东...void wind() { JFrame jf =new JFrame("网络布局"); Container c =jf.getContentPane(); jf.setLayout
1.流布局管理器: FlowLayout布局管理器中组件的相对位置随窗口大小而变化。 ? ?...javax.swing.JFrame; public class FlowLayoutJFrame extends JFrame { public FlowLayoutJFrame(){...; import javax.swing.JFrame; public class BorderLayoutJFrame extends JFrame{ public BorderLayoutJFrame...: GridLayout布局管理器将容器划分为大小相等的若干行乘若干列的网格, 组件大小随容器大小而变化。...java.awt.Label; import javax.swing.JButton; import javax.swing.JFrame; public class GridLayoutJFrame