java中同时创建多个窗口6_JAVA之窗口和布局

1.AWT包括了很多类和接口,用于Java Application的GUI编程,GUI包括各种的元素,如:窗口,按钮,文本框等。

2.AWT中的两个核心类为Container和Component。

3.Frame是Window的子类,由Frame或其子类创建的对象为一个窗体,构造方法如下:

Frame()

Frame(String s)//创建标题栏为字符串s的窗口

4.创建一个简单地窗口,代码如下:

import java.awt.*;

public class Frame1 {

public static void main(String[] args) {

Frame a = new Frame("Frame");//new一个frame对象

a.setSize(50,50);//设置大小

a.setBackground(Color.red);//设置背景颜色

a.setLocation(100,100);//设置窗口的宽和高

a.setResizable(false);//设置窗口大小为不可变

a.setVisible(true);//是把图形界面设置为可见

}

}

5.FlowLayout是Pannel默认的布局管理器,panel不能独立显示,必须加在某个容器中,FlowLayout对组件默认的对齐方式是居中。

构造方法如下:

new FlowLayout(FlowLayout.LEFT,20,30);//左对齐,组件之间水平之间距离为20个像素,垂直距离为30个像素

new FlowLayout(FlowLayout.RIGHT);//右对齐,水平和垂直距离为缺省值5

new FlowLayout();//使用缺省的居中对齐方式,水平和垂直间距为缺省值5

6.现在编一个小程序,来熟悉一下FlowLayout的用法:

import java.awt.*;

public class Frame2 {

public static void main(String[] args) {

Frame a = new Frame("选一下");

FlowLayout b = new FlowLayout(FlowLayout.RIGHT,10,20);//

a.setLayout(b);

a.setLocation(100,200);

a.setSize(100,200);

a.add(new TextField("你心情好吗?"));

a.add(new Button(" YES"));

a.add(new Button(" NO"));

a.setVisible(true);

}

}程序执行后拉动窗口的大小,窗口中的组件的排列会自动发生变化

0818b9ca8b590ca3270a3433284dd417.png

7.pack()方法默认窗口的大小,可在未设置窗口大小时使用 8.BorderLayout是Frame类的默认布局管理器,BorderLayout可以分为东西南北中五个区域,每个区域只能放一个组件,不指定组件的加入位置,默认为加入中间的位置   用法:   Button b = new Button("aa");   a.add(b.BorderLayout.WEST);   //相当于:a.dd(b,"West"); 9.GridLayout布局管理器将空间划分成规则的矩形网格,每个网格区域大小相等   用法:   GridLayout(3,4);//3表示行数,4表示列数

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,我们可以使用多个布局管理器来设计GUI界面。以下是一个简单的例子,演示了如何在一个JFrame窗口使用多个布局管理器: ```java import javax.swing.*; import java.awt.*; public class MultiLayoutExample extends JFrame { public MultiLayoutExample() { // 设置窗口标题 setTitle("Multi Layout Example"); // 创建一个面板,使用FlowLayout布局管理器 JPanel panel1 = new JPanel(new FlowLayout()); panel1.add(new JLabel("Name:")); panel1.add(new JTextField(10)); // 创建一个面板,使用GridLayout布局管理器 JPanel panel2 = new JPanel(new GridLayout(2, 2)); panel2.add(new JLabel("Address:")); panel2.add(new JTextField(10)); panel2.add(new JLabel("City:")); panel2.add(new JTextField(10)); // 创建一个面板,使用BorderLayout布局管理器 JPanel panel3 = new JPanel(new BorderLayout()); panel3.add(new JLabel("Comments:"), BorderLayout.NORTH); panel3.add(new JTextArea(5, 10), BorderLayout.CENTER); // 将三个面板添加到窗口 add(panel1, BorderLayout.NORTH); add(panel2, BorderLayout.CENTER); add(panel3, BorderLayout.SOUTH); // 设置窗口大小,使其能够容纳所有组件 pack(); // 设置窗口可见性 setVisible(true); } public static void main(String[] args) { new MultiLayoutExample(); } } ``` 在上面的例子,我们创建了三个面板,分别使用FlowLayout、GridLayout和BorderLayout布局管理器。然后,我们将这三个面板添加到JFrame窗口的不同位置。在GUI界面,第一个面板位于窗口的顶部,第二个面板位于窗口央,第三个面板位于窗口的底部。这样,我们就可以在同一个窗口使用多个布局管理器来设计GUI界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值