33.Swing简介,JFrame容器,布局管理器

Swing简介

  • Swing是java的一个图形框架,继承自AWT;
  • Swing主要涉及到容器,组件(是具体的东西,不能放东西),还有布局管理器(是器件,涉及到怎么放东西);
  • Swing与用户交互时涉及到事件概念;

 - public void setVisible(boolean b)根据参数 b 的值显示或隐藏此 Window。
 - public void setSize(int width,
                       int height)调整组件的大小,使其宽度为 width,高度为 height。
 - public void setLocation(int x,
                           int y)将组件移到新位置。通过此组件父级坐标空间中的 x 和 y 参数来指定新位置的左上角。
 - public Container getContentPane()返回此窗体的 contentPane 对象(用于更改背景色)配合setBackground使用
 - public void setBackground(Color c)设置组件的背景色。
 - public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的操作。(JFrame.EXIT_ON_CLOSE关闭JFrame后JAVA程序也停止运行)
public class JframeTest {

    public static void main(String[] args) {
        JFrame jFrame = new JFrame("JFrame窗体");
        jFrame.setLocation(400, 100);//设置容器位置
        Container c = jFrame.getContentPane();
        c.setBackground(Color.DARK_GRAY);
        c.setBackground(new Color(0,0,0));//设置背景色的不同写法
        jFrame.setSize(500, 200);//设置容器大小
        jFrame.setVisible(true);//让容器显示 
    }
}

这里写图片描述


第三节JButton组件
添加按钮。JButton jB = new JButton(“按钮”);
jFrame.add(jB);将按钮添加到容器中


第四节Swing布局管理器

  • FlowLayout 流式布局
    使用此布局会使所有组件像流水一样依次排列
    这里写图片描述
public void setLayout(LayoutManager manager)设置 LayoutManager。重写此方法,从而有条件地将调用转发到 contentPane。


----------


public class JframeTest {

    public static void main(String[] args) {
        JFrame jFrame = new JFrame("FlowLayout测试");
        jFrame.setLayout(new FlowLayout());//流式布局

        JButton jb = null;
        for (int i = 1; i < 10; i++){
            jb = new JButton("JButton"+i);
            jFrame.add(jb);
        }
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setLocation(400, 100);//设置容器位置
        Container c = jFrame.getContentPane();
        c.setBackground(Color.DARK_GRAY);
        jFrame.setSize(500, 200);//设置容器大小
        jFrame.setVisible(true);//让容器显示

    }
}
  • BorderLayout 是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。
BorderLayout() 
          构造一个组件之间没有间距的新边框布局。
        jFrame.setLayout(new BorderLayout());
        jFrame.add(new JButton("东"),BorderLayout.EAST);
        jFrame.add(new JButton("北"),BorderLayout.NORTH);
        jFrame.add(new JButton("西"),BorderLayout.WEST);
        jFrame.add(new JButton("南"),BorderLayout.SOUTH);
        jFrame.add(new JButton("中"),BorderLayout.CENTER);

这里写图片描述

BorderLayout(int hgap, int vgap) 
          构造一个具有指定组件间距的边框布局。
    例如:jFrame.setLayout(new BorderLayout(10,10));

输出
这里写图片描述

  • GridLayout GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。
    构造方法摘要
    GridLayout()
    创建具有默认值的网格布局,即每个组件占据一行一列。
    GridLayout(int rows, int cols)
    创建具有指定行数和列数的网格布局。
    GridLayout(int rows, int cols, int hgap, int vgap)
    创建具有指定行数和列数的网格布局。
  • 绝对布局 setBounds
    public void setBounds(int x,
    int y,
    int width,
    int height)移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
    如:
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是Java语言中导入JFrame类的语句,JFrame是Java Swing库中的一个类,用于创建图形用户界面(GUI)的顶层容器。正确的语法应该是: ``` import javax.swing.JFrame; ``` 该语句将JFrame类导入当前的Java源代码文件中,以便在代码中使用JFrame类的方法和属性。 ### 回答2: import javax.swing.JFrame是Java语言中引入javax.swing包中的JFrame类的一个语句。JFrame类是Swing库中的一个重要类,用于创建图形用户界面(GUI)的顶级窗口。通过使用import关键字引入该类,就可以在代码中直接使用JFrame类的方法和属性。 JFrame类是一个可扩展的窗口,可以作为应用程序的主窗口或者子窗口。它提供了一些用于管理窗口的功能,如设置窗口的标题、大小、位置以及关闭窗口的方式等。 使用JFrame类可以轻松地创建一个带有标题和边框的窗口,并将其他Swing组件添加到窗口中。这些组件可以是按钮、文本框、标签等,用于实现更复杂的图形界面。 在使用JFrame类之前,需要引入javax.swing包。javax.swing包是Java语言中提供的一组用于创建GUI的库,可以从中引入各种Swing组件和类。 总而言之,import javax.swing.JFrame;语句的目的是将javax.swing包中的JFrame类引入到代码中,以便在代码中可以直接使用JFrame类的方法和属性,从而实现创建和管理图形用户界面的窗口。 ### 回答3: import javax.swing.JFrame; 是Java中导入javax.swing包下的JFrame类。 JFrame是Java Swing库中提供的一个顶级容器类,用于创建一个窗口。通过导入javax.swing.JFrame,可以在使用该类时省略包名的前缀。 该类提供了创建和管理窗口的功能,可以通过JFrame对象来设置窗口的大小、标题、布局等属性。可以向JFrame中添加组件,如按钮、文本框等,来构建用户界面。JFrame还提供了方法来监听窗口事件,如窗口的打开、关闭、最小化等事件。 通过使用JFrame类,可以方便地创建一个图形化界面,并实现与用户的交互。可以通过调用JFrame的方法来修改窗口的外观和行为,使其满足特定的需求。 需要注意的是,由于JFrame属于Swing库,使用时需要先在代码中导入该类。当然,为了避免命名冲突,一般会使用import语句导入整个javax.swing包,然后再调用JFrame类。 总之,import javax.swing.JFrame; 是在Java中导入javax.swing包下的JFrame类,以方便使用该类创建和管理图形化窗口。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值