例如,如下几行代码就可以添加其它组件: GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints...,但不更改其高度)、 GridBagConstraints.VERTICAL(加高组件直到它足以在垂直方向上填满其显示区域,但不更改其宽度)和...使用情景举例:在一个很大的窗口(如300*300)中添加一个按钮(原始大小40*30)。...(3)GridBagConstraints.anchor 当组件小于其显示区域时,用于确定将组件置于何处(在显示区域中)。可能的值有两种:相对和绝对。...的对象出来,以便GridBagLayout使用。
但GridBagLayout 不会,因此,这就是我们使用GridBagConstants来设置各个约束条件的目的!...3, ipadx: 表示组件在默认的大小上,往水平方向上再加上多少像素的大小! 4, ipady: 表示组件在默认的大小上,往垂直方向上再加上多少像素的大小!...所以,我们在设计这种布局方式前,可以先在纸上画一下每个组件的大概位置,然后保证每一行的长度(即每一行的gridwidth之和)都相等,且每一列的长度(即每一列的gridheight之和)也相等,这样,就能按我们要的蓝图而得到实现...b1 = new JButton("Button1"); JButton b2 = new JButton("Button2"); JButton b3 = new JButton...c = new GridBagConstraints(); GridBagLayout g = new GridBagLayout(); f.setLayout(g
GridLayout布局管理器是以表格形式进行管理的,在使用此布局管理器时必须设置显示的行数和列数,GridLayout类的构造方法如表11.9所示。...12.5.1 GridBagLayout GridBagLayout类是在GridLayout类基础上提供的更为复杂的布局管理器。...constraints) { 6 JButton jButton = new JButton(title); //创建JButton对象 7 gridBagLayout.setConstraints...(jButton, constraints); 8 jFrame.add(jButton); 9 } 10 11 public static void main(String...jFrame调用add()方法将两个面板添加到窗口jFrame中,jPanel1调用add()方法将三个对象添加到面板jPanel1中,将名字为jTextField的文本框显示在卡片式布局的页面上,将4
五、GridBagLayout GridBagLayout 布局管理器的功能最强大 , 但也最复杂,与 GridLayout 布局管理器不同的是, 在GridBagLayout 布局管理器中,一个组件可以跨越一个或多个网格...由于在GridBagLayout 布局中,每个组件可以占用多个网格,此时,我们往容器中添加组件的时候,就需要具体的控制每个组件占用多少个网格,java提供的GridBagConstaints类,与特定的组件绑定...weighty 设置受该对象控制 的 GUI 组件占据多余空间的垂直比例 anchor 设置受该对象控制 的 GUI 组件在其显示区域中的定位方式:GridBagConstraints .CENTER..."); //2.创建GridBagLayout对象 GridBagLayout gbl = new GridBagLayout(); //3.把Frame...在主方法中,首先创建了一个Frame对象,并将其布局管理器设置为GridBagLayout。然后,创建了一个GridBagConstraints对象,并设置其中的一些属性。
3, ipadx: 表示组件在默认的大小上,往水平方向上再加上多少像素的大小! 4, ipady: 表示组件在默认的大小上,往垂直方向上再加上多少像素的大小!...======================================================================================= 建议:运用GridBagLayout...所以,我们在设计这种布局方式前,可以先在纸上画一下每个组件的大概位置,然后保证每一行的长度(即每一行的gridwidth之和)都相等,且每一列的长度(即每一列的gridheight之和)也相等,这样,就能按我们要的蓝图而得到实现...(“Button3”); JButton b4 = new JButton(“Button4”); JButton b5 = newJButton(“Button5”);...c = newGridBagConstraints(); GridBagLayout g = new GridBagLayout(); f.setLayout(g)
); leftpanel.setLayout(gridBagLayout); centerpanel.setLayout(gridBagLayout);...JButton foot_send; private JButton foot_sysClear; private JButton foot_userClear; //右边参数...)); } /** * @MethodName getUserName * @Params * @param null * @Description 在users_map...image.png 选择要执行的是服务器端还是客户端 image.png 最后点击OK image.png image.png 然后构建环境生成jar包 image.png 在弹窗中选择...image.png 然后点击这个 image.png 在新窗口,继续点”Next" image.png image.png 选择勾上,然后继续“Next" image.png
可以采用以下代码容器获得一个GridBagLayout: GridBagLayout gb=new GridBagLayout(); ContainerName.setLayout...它包含GridBagLayout类用来定位及调整组件大小所需要的全部信息。...GridBagLayout是是在GridLayout的基础上发展起来的,是五种布局策略中使用最复杂,功能最强大的一种,它是在GridLayout的基础上发展起来的。...在GridBagLayout中,可以为每个组件指定其包含的网格个数,组件可以保留原来的大小,可以以任意顺序随意地加入容器的任意位置,从而实现真正自由地安排容器中每个组件的大小和位置。...添加组件 this.add(new JButton("0,0"),"0,0")中constraints为“0,0”两个参数,表示只占0行0列 this.add(new JButton("3,0,3,1"
showDetailsButton; // 显示明细按钮 private JButton addIncomeButton; // 添加收入按钮 private JButton addExpenseButton...布局管理器 setLayout(new GridBagLayout()); // 创建GridBagConstraints对象,用于设置组件的约束条件...("收支明细"); addIncomeButton = new JButton("登记收入"); addExpenseButton = new JButton("登记支出...panel.add(sourceField); // 在面板中添加收入来源文本框 panel.add(new JLabel("金额:")); // 在面板中添加标签组件...panel.add(categoryField); // 在面板中添加支出类别文本框 panel.add(new JLabel("金额:")); // 在面板中添加标签组件
当一个容器被创建后,它们有相应的默认布局管理器,用户可以为容器指定不同的布局管理器,在不同的布局管理器下,同一个组件将会有不同的显示效果。...)、GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)。...jButton = null; 10 for (int i = 0; i < 8; i++) { 11 jButton = new JButton("按钮- "...BorderLayout类的常量及构造方法 常量及构造方法声明 功能描述 BorderLayout.EAST 将组件设置在右方 BorderLayout.WEST 将组件设置在左方 BorderLayout.SOUTH...将组件设置在下方 BorderLayout.NORTH 将组件设置在北方 BorderLayout.CENTER 将组件设置在中央 public BorderLayout() 创建一个没有间距的BorderLayout
87、RandomAccessFile 类中用 seek 方法,来定位RandomAccessFile 流的读写位置。...89、JButton类、JLabel类是包javax.swing中的类,并且是javax.swing包中的 JComponent 的子类。...100、Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、CardLayout、 GridLayout 和GridBagLayout。...101、Java的java.awt包中定义了5种布局类,分别是FlowLayout、BorderLayout、 CardLayout 、GridLayout和GridBagLayout。...113、只要用户单击JButton,就会触发一个ActionEvent 事件,该事件被监听器接收,它的方法 actionPerformed() 被执行。
创建图标 在Swing中通过Icon接口来创建图标,可以在创建时给定图标的大小、颜色等特性。...WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭方式 setLayout(null);//使该窗体取消布局管理器设置 setBounds(100,100,400,300);//绝对定位窗体的位置与大小...默认情况下,组件在每一行都是居中排列的,可以通过设置更改组件的排列位置。...public static void main(String[] args) { new GridLayoutPosition(); } } 运行结果: 12.4.5 网络组布局管理器 由GridBagLayout...serialVersionUID = 1L; public GridBagLayoutPosition() { setTitle("使用网格组布局管理器"); setLayout(new GridBagLayout
首先,在开始写程序之前。我们需要先写一些工具类,来辅助完成整个程序的构建,在这里我把连接jdbc的代码放在了一个包下面。...在进行数据的连接的时候,需要向数据库传递参数。我把参数放在了一个接口里面。...具体的构建过程就是,在JFrame里添加JMenu,用来表示要放置的菜单选项,在JMenu里面放置JMeunItem用来表示菜单的子选项。其中,用了JLabel来存放图片。...,需要连接数据库,在登录模块,我专门为它建立了一个数据库的连接类,来进行数据库的建立。...new JScrollPane(DataTable); con.add(JSpane); messageJpn=new JPanel(); messageJpn.setLayout(new GridBagLayout
为了和 AWT 组件区分,Swing 组件在javax.swing.*包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等。 2....最顶层的一个中间容器必须依托在顶层容器(窗口)内。...3 GridBagLayout 网格袋布局,按网格划分Container,每个组件可占用一个或多个网格,可将组件垂直、水平或沿它们的基线对齐。...9 null 绝对布局,通过设置组件在Container中的坐标位置来放置组件。 4....创建一个基本组件(按钮),并添加到 面板容器 中 JButton btn = new JButton("测试按钮"); panel.add(btn); // 4.
下面快速回顾一下该程序的编写过程: 1)在按钮的构造器中设置标签字符串定义每个按钮的 外观,例如: JButton yellowButton = new JButton("Yellow") 2)然后把每个按钮添加到面板中...Java用一个非常出色的概念实现动态布局:容器内的所有组件都由一个布局管理器(layoutmanager)进行定位。...通过嵌套面板并将边界布局与流布局混合使用,可以精确地定位组件。这种布局方法对于原型来说已经足够了,本章第一部分的示例程序使用的就是这种布局方法。...如果要以更精确的方式定位组件,请参考后面的网格布局(GridBagLayout)一节。 例如,在图9-10中,屏幕底部的三个按钮包含在一个面板中。这个面板被放置到内容窗格的南部。...panel.add(new JButton("1")); panel.add(new JButton("2")); 例9-1是计算器程序的源代码。
之前 new Thread(new Runnable() { @Override public void run() { System.out.println("Before Java8...code for too little to do"); } }).start(); //java 1.8之后 new Thread( () -> System.out.println("In Java8...).start(); 使用场景2: lambda表达式进行事件处理 JButton show = new JButton(“Show”); show.addActionListener(new...x.getFirstName())); 使用场景4:Supplier,Predicate,Comparator,Function,Consumer等接口的使用,见java函数式编程之五个基本接口 使用场景5:在Java
注册在每个组件上的焦点侦听器报告每个焦点获得和焦点丢失的事件。对于每个事件,将报告焦点更改中涉及的其他组件,即相反的组件。...super(name); } public void addComponentsToPane(final Container pane) { GridBagLayout...gridbag = new GridBagLayout(); pane.setLayout(gridbag); GridBagConstraints...comboBox, c); add(comboBox); c.gridwidth = GridBagConstraints.REMAINDER; JButton...button = new JButton("A Button"); button.addFocusListener(this); gridbag.setConstraints
Java 课程设计 题 目: 学生成绩管理系统 摘要 在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。...同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。 1 需求分析 1.1 需求分析概述 需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。...null; static final CardLayout cl = new CardLayout(); public TeacherMenu() { this.setLayout(new GridBagLayout...个人信息面板类 class PanelMessage extends JPanel {//个人信息面板 PanelMessage() { this.setLayout(new GridBagLayout...最后感谢我的老师和同学们在课程设计过程中给我的帮助。
Lambda表达式已经在新框架中普通使用了,如果你对Lambda还一无所知,真得认真学习一下本篇文章了。 现在进入正题Java8的Lambda,首先看一下发音 ([ˈlæmdə])表达式。...先回顾一下Java8以前,如果想把某个接口的实现类作为参数传递给一个方法会怎么做?要么创建一个类实现该接口,然后new出一个对象,在调用方法时传递进去,要么使用匿名类,可以精简一些代码。...Runnable() { @Override public void run() { System.out.println("欢迎关注公众号:程序新视界"); } }).start(); 在java8...因此,在Java中定义函数或方法都离不开对象,也就意味着很难直接将方法或函数像参数一样传递,而Java8中的Lambda表达式的出现解决了这个问题。...// 匿名函类写法 JButton follow = new JButton("关注"); follow.addActionListener(new ActionListener() { @Override
Lambda表达式在Java8中终于被重磅引入了(隔壁Python,C#,C++早就引入了哟喂),这让很多以前代码中的匿名写法得以通过函数式的代码进行极致的简化,有多简化呢?...((ActionEvent event) -> System.out.println("按钮点击事件")); // 参数根据上下文推断,单参数可省略括号 () new JButton...其实,在Java8 中伴随 Lambda 一起引入的,还有函数式接口这一概念。...从 Java8 开始,你在源码中可以发现,无论旧有的和新引入的函数式接口,其接口声明上都会有 @FunctionalInterface 注解,该注解其实就是专门用来标注函数式接口的,算是一个标识注解...上一段的阐述中,布衣博主故意列了一个 Comparator接口,其在Java8 中的源码如下: @FunctionalInterface public interface Comparator<T
领取专属 10元无门槛券
手把手带您无忧上云