0
点赞
收藏
分享

微信扫一扫

java基础语法API之GUI图形化界面2

一:概述

在1中,已经对GUI图形化的基础知识做了个概述,2中主要以例子为载体说明。并且介绍时间监听机制

二:具体说明

<1>猜数字


           // 创建窗体对象
           JFrame jf = new JFrame();
           jf.setTitle("猜数字");
           jf.setSize(400 , 300);
           jf.setDefaultCloseOperation(3);
           jf.setLocationRelativeTo(null);
           jf.setAlwaysOnTop(true);
           jf.setLayout(null);

           // 创建一个JLabel对象用于显示文字
           JLabel jLabel = new JLabel("系统产生了一个1~100之间的数,你猜一猜");
           jLabel.setBounds(70,50,350,20);
           jf.add(jLabel);

           // 创建一个JTextField用于用户输入猜的数
           JTextField inputField = new JTextField();
           inputField.setBounds(120,100,150,20);
           jf.add(inputField);

           // 创建一个JButton按钮
           JButton youGuess = new JButton("我猜");
           youGuess.setBounds(150,150,100,20);
           jf.add(youGuess);


           // 设置窗体可见
           jf.setVisible(true);

       }

                                       java基础语法API之GUI图形化界面2_输入框

<2>用户注册页面

// 创建窗体
        JFrame jf = new JFrame();
        // 设置标题
        jf.setTitle("用户注册");
        // 设置窗体的大小
        jf.setSize(400, 450);
        // 设置默认的关闭方式
        jf.setDefaultCloseOperation(3);
        // 设置窗体在中间位置显示
        jf.setLocationRelativeTo(null);
        // 设置窗体在最顶部显示
        jf.setAlwaysOnTop(true);
        // 取消默认分布
        jf.setLayout(null);


        // 创建JLabel对象,设置邮箱文本
        JLabel emailLabel = new JLabel("邮箱");
        emailLabel.setBounds(50,50,50,20);
        jf.add(emailLabel);

        // 创建邮箱输入框
        JTextField emailField = new JTextField();
        emailField.setBounds(150,50,180,20);
        jf.add(emailField);


        // 创建JLabel对象,设置用户名文本
        JLabel jLabel1 = new JLabel("用户名");
        jLabel1.setBounds(50, 100, 50, 20);
        jf.add(jLabel1);

        // 用户名输入框
        JTextField usernameField = new JTextField();
        usernameField.setBounds(150, 100, 180, 20);
        jf.add(usernameField);


        // 创建JLabel对象,设置密码文本
        JLabel jLabel2 = new JLabel("密码");
        jLabel2.setBounds(50, 150, 50, 20);
        jf.add(jLabel2);

        // 创建密码输入框
        JPasswordField passwordField = new JPasswordField();
        passwordField.setBounds(150, 150, 180, 20);
        jf.add(passwordField);


        // 创建JLabel对象,设置确认密码文本
        JLabel jLabel3 = new JLabel("确认密码");
        jLabel3.setBounds(50, 200, 50, 20);
        jf.add(jLabel3);


        // 创建确认密码框
        JPasswordField enterPwdField = new JPasswordField();
        enterPwdField.setBounds(150,200,180,20);
        jf.add(enterPwdField);


        // 创建验证码文本
        JLabel checkCodeLabel = new JLabel("验证码");
        checkCodeLabel.setBounds(50,250,50,20);
        jf.add(checkCodeLabel);

        // 创建验证码输入框
        JTextField checkCodeField = new JTextField();
        checkCodeField.setBounds(150,250,180,20);
        jf.add(checkCodeField);

        // 创建1个JButton对象
        JButton btn1 = new JButton("注册");
        btn1.setBounds(50, 300, 280, 20);
        jf.add(btn1);


        // 设置窗体显示
        jf.setVisible(true);
    }

                                       java基础语法API之GUI图形化界面2_输入框_02

<3>事件监听事件的介绍

事件监听机制的组成:

  • 事件源:事件发生的地方。可以是按钮,窗体,图片等
  • 事件:发生了什么事情。例如:鼠标点击事件,键盘按下事件等
  • 事件绑定:把事件绑定到事件源上,当发生了某个事件,则触发对应的处理逻辑
  • 事件源对象. addXXXListener(事件);

<4>聊天室案例

 // 创建JFrame窗体对象
                   JFrame jFrame = new JFrame();
                   // 给窗体设置属性
                   jFrame.setTitle("聊天室");
                   jFrame.setSize(400,300);
                   jFrame.setDefaultCloseOperation(3);
                   jFrame.setAlwaysOnTop(true);
                   jFrame.setLocationRelativeTo(null);
                   jFrame.setLayout(null);


                   // 创建文本域,用于显示用户输入的内容
                   JTextArea chatArea = new JTextArea();
                   chatArea.setBounds(10,10,360,200);
                   jFrame.add(chatArea);

                   // 创建输入框,用于用户输入信息
                   JTextField inputField  = new JTextField();
                   inputField.setBounds(10,230,180,20);
                   jFrame.add(inputField);


                   // 创建发送按钮
                   JButton sendBtn = new JButton("发送");
                   sendBtn.setBounds(200,230,70,20);
                   jFrame.add(sendBtn);

                   // 给发送按钮按钮绑定事件监听机制,使用户发送的信息,在文本域中可以看见
                   sendBtn.addActionListener(new ActionListener() {
                       @Override
                       public void actionPerformed(ActionEvent e) {

                               // 获取用户输入的信息,调用trim方法用于清除输入文本的前后空格
                               String input = inputField.getText().trim();
                               // 将用户输入的信息添加到文本域中。利用追加的方式,不用直接设置
                               // 原因是直接设置,第二次输入就会覆盖第一次输入的内容
                               chatArea.append(input + "\n");
                               // 当用户点击发送按钮后,输入文本框里的内容就需要清空
                               inputField.setText("");
                       }
                   });

                   // 创建清空聊天的按钮
                   JButton clearBtn = new JButton("清空聊天");
                   clearBtn.setBounds(280,230,100,20);
                   jFrame.add(clearBtn);


                   // 给清空按钮绑定监听事件
                   clearBtn.addActionListener(new ActionListener() {

                       @Override
                       public void actionPerformed(ActionEvent e) {
                       // 当用户点击这个清空按钮后,将文本域中的内容设置为空即好
                           chatArea.setText("");
                       }

                   });



                   // 设置窗体可见
                    jFrame.setVisible(true);

               }


                                       java基础语法API之GUI图形化界面2_用户名_03





举报

相关推荐

0 条评论