GUI编程(图形用户界面)(未完待续)

GUI编程(图形用户界面)

UI–用户界面

图形界面是方便用户操作的

swing概述

javax.swing包;

此包包含了java主要的图形界面的实现类

窗口实现代码:

import javax.swing.*;

public class oginFrame extends JFrame {
    public oginFrame(){
        this.setTitle("欢迎宝宝!");//设置标题
        this.setSize(500,500);//设置宽高
        this.setLocation(200,400);//设置窗口位置
        //this.setLocationRelativeTo(null);//使窗口水平垂直居中
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
        this.setResizable(false);//设置禁止窗口通过拖拽调整大小
         this.setVisible(true);//让窗口显示,放在设置的最后一行
    }

    public static void main(String[] args) {
        new oginFrame();//创建一个窗口对象
    }
}

面板实现代码:

  //创建面板
        JPanel jPanel=new JPanel();
        jPanel.setBackground(new Color(0x8FEF09));//设置背景颜色
        JButton jButton=new JButton("按钮");//创建按钮
        jPanel.add(jButton);//向面板上添加组件
        //把面板添加到窗口上
        this.add(jPanel);
        this.setVisible(true);//让窗口显示,放在设置的最后一行

面板布局:

FlowLayout(流式布局):
JPanel jPanel=new JPanel(new FlowLayout(FlowLayout.LEFT));//流式布局,且设置布局为左对齐
JPanel jPanel=new JPanel(new FlowLayout(FlowLayout.LEFT,100,200));//设置对齐与按钮之间水平,垂直距离
BorderLayout(边界布局):
  1. 总共有五个区域,每个区域可以设置一个组件,并且占满整个区域;
  2. 中间区域是必须的;
  3. 如不指定组件加入区域则均加入中间区域。
JPanel jPanel=new JPanel(new BorderLayout());//以边界布局放置按钮
        JButton jButton=new JButton("按钮");
        JButton jButton1=new JButton("按钮");//创建按钮

        jPanel.add(jButton,BorderLayout.EAST);//向面板右边添加按钮
        jPanel.add(jButton1,BorderLayout.WEST);//向面板左边添加组件
GridLayout(网格布局):
  1. 网格类似一个表格,可以设置行数和列数;
  2. 每个网格中只能放一个组件,占满整个区域;
 JPanel jPanel=new JPanel(new GridLayout(1,2));

面板的优化:

文本框滚轮:
JPanel jPanel=new JPanel();
JTextArea jTextArea=new JTextArea(5,5);//设置文本框大小
jTextArea.setLineWrap(true);//自动换行
JScrollPane jScrollPane=new JScrollPane(jTextArea);//创建滚轮
jPanel.add(jScrollPane);//显示滚轮
菜单栏及菜单项:
JPanel jPanel=new JPanel();
//菜单 菜单栏 菜单项
JMenuBar jMenuBar=new JMenuBar();//创建菜单栏

JMenu jMenu=new JMenu("菜单");
JMenu jMenu1=new JMenu("编辑");
JMenu jMenu2=new JMenu("帮助");//创建菜单

JMenuItem jMenuItem=new JMenuItem("新建");
JMenuItem jMenuItem1=new JMenuItem("保存");
JMenuItem jMenuItem2=new JMenuItem("关于我们");
JMenuItem jMenuItem3=new JMenuItem("删除");//创建菜单项

jMenu1.add(jMenuItem);
jMenu1.add(jMenuItem1);
jMenu.add(jMenuItem3);
jMenu2.add(jMenuItem2);//将菜单项加入菜单内

jMenuBar.add(jMenu);
jMenuBar.add(jMenu1);
jMenuBar.add(jMenu2);

this.setJMenuBar(jMenuBar);//把菜单栏添加到窗口

JMenu<—JMenuItem

按钮功能的实现(监听):
JButton jButton=new JButton("登录");
jPanel.add(jButton);
jButton2.addActionListener(new ActionListener() {//创建一个匿名内部类
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println(jTextField.getText());
            }//实现的功能
        });
JMenuItem jMenuItem=new JMenuItem();
JPanel.add(jMenuItem);
 jMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("不知道");
            }
        });//菜单项功能的实现

各种监听实现的方法:

鼠标

jButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                super.mouseClicked(e);
            }

            @Override
            public void mousePressed(MouseEvent e) {
                super.mousePressed(e);
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                super.mouseReleased(e);
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                System.out.println("鼠标移入");
                super.mouseEntered(e);
            }

            @Override
            public void mouseExited(MouseEvent e) {
                super.mouseExited(e);
            }

            @Override
            public void mouseWheelMoved(MouseWheelEvent e) {
                super.mouseWheelMoved(e);
            }

            @Override
            public void mouseDragged(MouseEvent e) {
                super.mouseDragged(e);
            }

            @Override
            public void mouseMoved(MouseEvent e) {
                super.mouseMoved(e);
            }
        });

键盘:

jTextField.addKeyListener(new KeyAdapter() {
            @Override
            public void keyTyped(KeyEvent e) {
                super.keyTyped(e);
            }

            @Override
            public void keyPressed(KeyEvent e) {
                super.keyPressed(e);
            }

            @Override
            public void keyReleased(KeyEvent e) {
                super.keyReleased(e);
            }
        });
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值