Java学习记录Day9

GUI

今日内容较为简单,从容器到组件到监听器,我循序渐进,逐步将界面建立起来,下面是部分练习以及最后完成一个简易的登录界面。

import javax.swing.*;
import java.awt.*;

public class JFrameTest01 {
    public static void main(String[] args) {
        //实例化容器 - 布局管理器
        JFrame jFrame = new JFrame("XX大学");
        jFrame.setSize(230, 180);
        jFrame.setLocation(300, 180);
        jFrame.setBackground(Color.PINK);
        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.*;

public class JFrameTest02 {
    public static void main(String[] args) {
        //实例化容器 - 布局管理器
        JFrame jFrame = new JFrame("XX大学");
        //实例化Dimension对象
        Dimension dimension = new Dimension(230, 200);
        jFrame.setSize(dimension);
        //实例化Point对象
        Point point = new Point(300, 200);
        jFrame.setLocation(point);

        jFrame.setBackground(Color.PINK);
        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.*;

public class JFrameTest03 {
    public static void main(String[] args) {
        //实例化容器 - 布局管理器
        JFrame jFrame = new JFrame("XX大学");
        CardLayout cart = new CardLayout();
        jFrame.setLayout(cart);

        Container contentPane = jFrame.getContentPane();

        contentPane.add(new JLabel("标签-A", JLabel.CENTER), "first");
        contentPane.add(new JLabel("标签-B", JLabel.CENTER), "second");
        contentPane.add(new JLabel("标签-C", JLabel.CENTER), "third");
        contentPane.add(new JLabel("标签-D", JLabel.CENTER), "fourth");

        jFrame.pack(); //根据组件自动调节窗体的大小

        cart.show(contentPane, "third");

        jFrame.setSize(500, 500);
        jFrame.setLocation(400, 180);
        jFrame.setBackground(Color.PINK);
        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyListenerTest {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("XX大学");
        jFrame.setSize(500, 500);
        jFrame.setLocation(400, 200);

        JTextArea jTextArea = new JTextArea();
        jTextArea.addKeyListener(new KeyListener() {
            @Override
            public void keyTyped(KeyEvent e) {
                //键入某个键时使用
                jTextArea.append("输入的内容是:" + e.getKeyChar() + "\n");
            }

            @Override
            public void keyPressed(KeyEvent e) {
                //键盘按下时使用

            }

            @Override
            public void keyReleased(KeyEvent e) {
                //键盘松开时使用
                jTextArea.append("键盘" + KeyEvent.getKeyText(e.getKeyCode()) + "键松开了!\n");
            }
        });

        JScrollPane jScrollPane = new JScrollPane(jTextArea);
        jScrollPane.setBounds(5, 5, 300, 200);
        jFrame.add(jScrollPane);

        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MouseListenerTest {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("XX大学");
        jFrame.setSize(500, 500);
        jFrame.setLocation(400, 200);

        JTextArea jTextArea = new JTextArea();
        jTextArea.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //左键1、右键3、滚动2
                jTextArea.append("鼠标单击" + e.getButton());
            }

            @Override
            public void mousePressed(MouseEvent e) {
                //按下
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                //松开
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                //鼠标进入组件时调用
                jTextArea.append("鼠标进入组件\n");
            }

            @Override
            public void mouseExited(MouseEvent e) {
                //鼠标离开组件时调用
                jTextArea.append("鼠标离开组件\n");
            }
        });

        JScrollPane jScrollPane = new JScrollPane(jTextArea);
        jScrollPane.setBounds(5, 5, 300, 200);
        jFrame.add(jScrollPane);
        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ActionListenerTest {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("XX大学");
        jFrame.setSize(500, 500);
        jFrame.setLocation(400, 200);

        JLabel jLabel = new JLabel();
        Font font = new Font("Serief", Font.BOLD, 20);
        jLabel.setFont(font);
        jLabel.setText("等待用户操作");

        JTextField jTextField = new JTextField(10);

        JButton jButton = new JButton("显示");
        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String text = jTextField.getText();
//                System.out.println("输入框中的内容为:" + text);
                jLabel.setText(text);
            }
        });

        JPanel jPanel = new JPanel();

        jPanel.add(jLabel);
        jPanel.add(jTextField);
        jPanel.add(jButton);

        jFrame.add(jPanel);

        jFrame.setVisible(true);
    }
}
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JMenuBarTest {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("XX大学");
        jFrame.setSize(700, 500);
        jFrame.setLocation(400, 200);

        //定义菜单
        JMenuBar jMenuBar = new JMenuBar();

        JMenu jMenu1 = new JMenu("文件");
        JMenu jMenu2 = new JMenu("设置");
        JMenu jMenu3 = new JMenu("帮助");

        JMenuItem jMenuItem1 = new JMenuItem("新建");
        jMenuItem1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("菜单项:" + e.getActionCommand());
            }
        });
        JMenuItem jMenuItem2 = new JMenuItem("打开");
        JMenuItem jMenuItem3 = new JMenuItem("页面设置");
        JMenuItem jMenuItem4 = new JMenuItem("系统设置");

        jMenu1.add(jMenuItem1);
        jMenu1.addSeparator();
        jMenu1.add(jMenuItem2);

        jMenu2.add(jMenuItem3);
        jMenu2.addSeparator();
        jMenu2.add(jMenuItem4);

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

        jFrame.setJMenuBar(jMenuBar);

        jFrame.setVisible(true);
    }
}

 登录界面

import javax.swing.*;
import java.awt.*;

public class RegisterFrame extends JFrame {
    public RegisterFrame() {
        this.setTitle("登录界面");
        this.setSize(500, 400);
        this.setLocation(600, 200);
        init();
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    public void init() {
        this.setLayout(null);

        Font font = new Font("宋体", Font.BOLD, 20);

        JLabel employeeManagerSystem = new JLabel("员工管理系统", JLabel.CENTER);
        employeeManagerSystem.setFont(font);
        JLabel lbl_userName = new JLabel("用户名:", JLabel.CENTER);
        lbl_userName.setFont(font);
        JLabel lbl_password = new JLabel("密码:", JLabel.CENTER);
        lbl_password.setFont(font);
        JTextField txt_userName = new JTextField();
        JPasswordField jpf_password = new JPasswordField();
        JButton btn_register = new JButton("登录");
        btn_register.setFont(font);
        JButton btn_reset = new JButton("重置");
        btn_reset.setFont(font);

        JPanel jPanel1 = new JPanel();
        jPanel1.setLayout(new GridLayout(1, 1, 5, 5));
        jPanel1.setBounds(10, 10, 460, 40);
        jPanel1.add(employeeManagerSystem);

        JPanel jPanel2 = new JPanel();
        jPanel2.setLayout(new GridLayout(3, 2, 5,20));
        jPanel2.setBounds(10,70, 460, 250);
        jPanel2.add(lbl_userName);
        jPanel2.add(txt_userName);
        jPanel2.add(lbl_password);
        jPanel2.add(jpf_password);
        jPanel2.add(btn_register);
        jPanel2.add(btn_reset);

        this.add(jPanel1);
        this.add(jPanel2);
    }

    public static void main(String[] args) {
        new RegisterFrame();
    }
}

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值