Java--GUI编程

本文详细介绍了Java中的GUI编程,包括GUI的概念、Swing组件、容器、布局管理器的使用,如FlowLayout、BorderLayout和GridLayout,以及常用组件如JLabel、JTextField、JButton等。此外,还讲解了事件处理、对话框的使用和内部类的相关知识。
摘要由CSDN通过智能技术生成

GUI编程

一、概念

1.GUI的概念

  • 基于控制台的程序

  • GUI(Graphical User Interface)即图形用户界面,它能够使应用程
    序看上去更加友好

2.Swing概述

  • 使应用程序在不同的平台上运行时具有相同外观和相同的行为

  • 大部分组件类位于javax.swing包中

  • Swing中的组件非常丰富,支持很多功能强大的组件

在这里插入图片描述

二、 容器

1.容器组件

  • 组件是一个以图形化的方式显示在屏幕上并能与用户进行交互的对象

  • 组件不能独立地显示出来(必须放在一定的容器中)

  • 容器可以容纳多个组件(通过调用add方法添加组件)

窗口(Frame)和面板(Panel)是最常用的两个容器

2.常用容器

a.JFrame

JFrame用于在Swing程序中创建窗体

public class FrameDemo extends JFrame {
   

    public void jf(){
   
        this.setTitle("聊天窗口");
        //this.setLocation(100, 100);//设置位置
        //this.setBounds(300,200, 500, 500);//设置位置及大小
        this.setSize(500, 500);//设置大小
        this.setResizable(true);//是否可以改变窗口大小
        this.setLocationRelativeTo(null);//居中
        this.setIconImage(new ImageIcon("1.jpg").getImage());
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出即停止运行
        this.setVisible(true);//显示窗口
    }

    public static void main(String[] args) {
   
        new FrameDemo().jf();
    }
}
b.Jpanel
  • JPanel提供面板,它是轻量级的容器

  • 面板中可以添加其它组件,也可以设置布局,使用面板来实现布局嵌套

public class FrameDemo1 extends JFrame {
   

    public void jf(){
   
        this.setTitle("聊天窗口");
        //this.setLocation(100, 100);//设置位置
        //this.setBounds(300,200, 500, 500);//设置位置及大小
        this.setSize(500, 500);//设置大小
        this.setResizable(true);//是否可以改变窗口大小
        this.setLocationRelativeTo(null);//居中
        this.setIconImage(new ImageIcon("1.png").getImage());//添加图片控件

        JPanel jp = new JPanel();//新建面板
        this.add(jp);
        jp.setBackground(Color.cyan);//设置面板的背景色
        JButton jb = new JButton("游戏结束");//添加按钮
        jp.add(jb);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出即停止运行
        this.setVisible(true);//显示窗口
    }

    public static void main(String[] args) {
   
        new FrameDemo1().jf();
    }
}
  • 框架内部包含一个名叫Container(内容面板)的面板容器,可以给框架中添加图形控件

  • 通过JFrame类中的getContentPane()方法即可获得此框架的内容面板

  • 可以创建Jpanel面板对象,把JPanel作为一个组件添加到某个容器中

三、布局管理器

当容器需要对某个组件进行定位或判断其大小尺寸时,调用Jpanel的setLayout方法改变其布局管理器对象或通过构造方法设置。

Java中有几种常用的布局管理器,分别是:FlowLayout , BorderLayout, GridLayout。
在这里插入图片描述

1.FlowLayout(流式布局)

  • FlowLayout布局管理器是流式布局管理器,它将组件按照从左到右、从上到下的顺序来安排,并在默认情况下使组件尽量居中放置。

  • FlowLayout布局管理器对组件逐行定位,行内从左到右,一行排满后换行。

  • 不改变组件的大小,按组件原有尺寸显示组件,可设置不同的组件间距,行距以及对齐方式。

/*
    流式布局
 */
public class FrameDemo5 extends JFrame {
   

    public void jf(){
   

        this.setTitle("聊天窗口");
        //this.setLocation(100, 100);//设置位置
        //this.setBounds(300,200, 500, 500);//设置位置及大小
        this.setSize(500, 500);//设置大小
        this.setResizable(true);//是否可以改变窗口大小
        this.setLocationRelativeTo(null);//居中
        this.setIconImage(new ImageIcon("1.png").getImage());

        //在窗口中添加面板
        JPanel jp = new JPanel();
            jp.setBackground(Color.cyan)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>