javaGUI

目录

容器

窗口(Frame)

构造方法

常用方法

面板(Panel)

构造方法

常用方法

布局管理器

流式布局FlowLayout

边界布局BorderLayout

网格布局GridLayout

常用组件

标签(JLabel)

构造方法

常用方法

单行文本(JTextField)

构造方法

常用方法

多行文本框(JTextArea)

构造方法

常用方法

密码框(JPasswordField)

构造方法

常用方法

按钮(JButton)

构造方法

常用方法

菜单栏组件:

构造方法

常用方法

菜单组件:

构造方法

常用方法

菜单项组件:

构造方法

常用方法

事件处理

对话框

JOptionPane对话框

内部类

类型

成员内部类

静态内部类

局部内部类

匿名内部类

意义


容器

窗口(Frame)

构造方法

JFrame() 创建新窗体,窗体初始为不可见 JFrame(String title) 创建新窗体,title为标题,窗体初始为不可见

常用方法

void setSize(int width, int height)设置窗口大小 void setVisible(boolean b)设置窗口是否可见,放在最后 void setTitle(String title)设置窗口标题 void setResizable(boolean resizable)是否能更改窗口大小 void setLocation(int x,int y)通过坐标设置窗口位置 void setLocationRelativeTo(null);设置窗口为居中 void setDefaultCloseOperation(int operation)关闭窗口选项 void dispose()关闭窗口

面板(Panel)

构造方法

JPanel() 创建一个空面板 JPanel(LayoutManaer layout) 创建带有指定布局的面板

常用方法

add(Component comp)往面板中添加一个组

setBackground(Color bg)设置面板的背景色 setLayout(LayoutManager mgr)设置面板的布局

布局管理器

流式布局FlowLayout

组件按照从上到下,从左到右依次排列,排满自动换行

边界布局BorderLayout

分为东西南北中五个部分,创建时不指定位置会默认加入中间的区域

网格布局GridLayout

自定义几行几列

常用组件

标签(JLabel)

构造方法

JLabel() 创建一个空的标签 JLabel(String text) 创建一个带文本的标签 JLabel(Icon image) 创建一个带图像的标签

常用方法

void setText(String text) 设置标签上的文本 String getText() 获得标签上的文本 setFont(new Font(“宋体”,Font.BOLD, 18)); 设置字体

单行文本(JTextField)

构造方法

JTextField() 创建一个空的单行文本框 JTextField(String text )创建一个带标题的单行文本框 JTextField(int columns)创建一个指定列数的单行文本框 JTextField(String text, int columns)创建一个指定标题和指定列数的单行文本框

常用方法

void setText(String text) 设置单行文本框中的文本 String getText() 获得文本框中的文本 void setEditable(boolean b) 设置文本框是否可以编辑 setColumns(20); 设置列数

多行文本框(JTextArea)

构造方法

JTextArea() 创建一个空的文本域 JTextArea(String text) 用指定文本初始化文本域 JTextArea(int rows, int columns) 创建一个指定行数和列数的空文本域 JTextArea(String text,int rows, int columns) 创建一个带文本,并指行数和列数的

常用方法

void setText(String text) 设置多行文本框中的文本 String getText() 获得多行文本框的文本 void setFont(Font font) 设置多行文本框文本的字体 void setLineWrap(boolean wrap) 是否自动换行,默认false

如果需要文本区自动出现滚动条,可将文本区对象放入滚动窗格 JScrollPane scrollPane = new JScrollPane(new JTextArea()); add(scrollPane )//向面板添加滚动条

密码框(JPasswordField)

构造方法

JPasswordField()创建一个空的密码框 JPasswordField(String text)创建一个带有指定内容的密码框 JPasswordField(String text, int columns)创建一个带有指定内容并且指定列数的密码框

常用方法

char[] getPassword()返回密码框中文本

按钮(JButton)

构造方法

JButton(String text) 创建一个带文本的按钮 JButton(Icon image) 创建一个带图像的按钮

常用方法

void setBackground(Color bg) 设置按钮的背景色 void setEnabled(boolean b) 设置启用(或禁用)按钮,由参数b决定 void setToolTipText(String text) 设置按钮的悬停提示信

菜单栏组件:

构造方法

JMenuBar();

常用方法

add(menu); 向菜单栏添加菜单

菜单组件:

构造方法

JMenu(“菜单名称");

常用方法

add(menuItem); 向菜单添加菜单选项

菜单项组件:

构造方法

JMenuItem(“菜单项名称");

常用方法

setJMenuBar(menuBar)将菜单栏添加到窗口

示例

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
​
public class Demo1Frame extends JFrame {
    public Demo1Frame() throws HeadlessException {
        this.setSize(400, 300);
        this.setTitle("记事本");
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //创建菜单
        JMenuBar jMenuBar=new JMenuBar();
        //创建菜单栏
        JMenu jMenu=new JMenu("文件");
        //创建菜单项
        JMenuItem jMenuItem=new JMenuItem("新建");
        JMenuItem jMenuItem1=new JMenuItem("打开");
        jMenuItem1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
​
            }
        });
        JMenuItem jMenuItem2=new JMenuItem("保存");
        jMenu.add(jMenuItem);
        jMenu.add(jMenuItem1);
        jMenu.add(jMenuItem2);
        JMenu jMenu1=new JMenu("编辑");
        JMenuItem jMenuItem3=new JMenuItem("剪切");
        JMenuItem jMenuItem4=new JMenuItem("复制");
        jMenu1.add(jMenuItem3);
        jMenu1.add(jMenuItem4);
        JMenu jMenu2=new JMenu("查看");
        JMenuItem jMenuItem5=new JMenuItem("缩放");
        JMenuItem jMenuItem6=new JMenuItem("自动换行");
        jMenu2.add(jMenuItem5);
        jMenu2.add(jMenuItem6);
        jMenuBar.add(jMenu);
        jMenuBar.add(jMenu1);
        jMenuBar.add(jMenu2);
        jMenu.add(jMenuItem);
        this.setJMenuBar(jMenuBar);
        this.setVisible(true);
    }
    public static void main(String[] args) {
        new Demo1Frame();
    }
}

运行结果:

 

事件处理

可以为我们想监听的时间源添加监听器

监听器类型是ActionListener

按钮对象.addActionListener(new ActionListener() { // 事件处理 @Override public void actionPerformed(ActionEvent e) { 执行操作 } })

对话框

JOptionPane对话框

showMessageDialog()消息对话框

showConfirmDialog()消息对话框

主要有五种消息类型,类型不同,图标不同:(要显示的消息类型) ERROR_MESSAGE 错误消息提示 INFORMATION_MESSAGE 信息提示 WARNING_MESSAGE 警告提示 QUESTION_MESSAGE 问题提示 PLAIN_MESSAGE 简洁提示 showConfirmDialog():确认对话框 主要有指定对话框上的四种消息类型,类型不同,图标不同: DEFAULT_OPTION 默认选项 YES_NO_OPTION 是/否选项 YES_NO_CANCEL_OPTION 是/否/取消选项 OK_CANCEL_OPTION 确定/取消

内部类

把一个类定义在另一个类的内部

类型

成员内部类

在外部类的成员位置中放着

可以访问外部类中所有的方法和成员变量(包括私有)

public class Demo1 {
    private int num = 10;
    class Demo2 {
        public void sum() {
            for (int i = 0; i < 3; i++) {
                num += i;
                System.out.println(num);
            }
        }
    }
    public static void main(String[] args) {
        new Demo1().new Demo2().sum();
    }
}

静态内部类

在外部类的成员位置中放着,并且定义为静态

只能访问外部类中静态的成员变量和方法

局部内部类

定义在外部类的方法中的类

匿名内部类

没有名字的内部类

只在外部类中使用一次可以使用该类

意义

1.封装性

将我们不愿意让别人看到的类隐藏起来

2.间接地实现了多继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值