From 9c595453ef943586bbe7611c6a01f195c45deee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=83=E4=B8=AD=E5=A4=A9=E5=A0=82?= <5629365+rainbow520lxr@user.noreply.gitee.com> Date: Tue, 27 Apr 2021 02:41:12 +0800 Subject: [PATCH] lxr --- src/UI/Demo.java | 114 ++++++++++++++++++ src/UI/Login.java | 103 ++++++++++++++++ .../\345\244\232\346\200\201/Circle.java" | 9 ++ .../\345\244\232\346\200\201/Demo.java" | 4 + .../\345\244\232\346\200\201/Shape.java" | 15 +++ .../\345\260\201\350\243\205/Clerk.java" | 10 ++ .../\345\260\201\350\243\205/Demo.java" | 71 ++++++++--- .../ClassTableUI.java" | 13 ++ .../\347\273\247\346\211\277/Demo.java" | 16 ++- .../\347\273\247\346\211\277/LoginUI.java" | 29 +++++ 10 files changed, 364 insertions(+), 20 deletions(-) create mode 100644 src/UI/Demo.java create mode 100644 src/UI/Login.java create mode 100644 "src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Circle.java" create mode 100644 "src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Shape.java" create mode 100644 "src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Clerk.java" create mode 100644 "src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/ClassTableUI.java" create mode 100644 "src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/LoginUI.java" diff --git a/src/UI/Demo.java b/src/UI/Demo.java new file mode 100644 index 0000000..a7438d9 --- /dev/null +++ b/src/UI/Demo.java @@ -0,0 +1,114 @@ +package UI; + +import com.sun.org.apache.xpath.internal.operations.String; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Arrays; +import javax.swing.JOptionPane; +/** + * JDK 工具包 提供了一个swing包 + * + * swing包是在javax里面 javax专门对接底层UI界面的一个包 + * + * + */ + +public class Demo { + + public static void main(String[] args) { + // 创建 JFrame 实例 + JFrame frame = new JFrame("Login Example"); + + // Setting the width and height of frame + frame.setSize(350, 200); + + // 设置坐标 + frame.setLocation(100, 100); + + // 设置关闭窗口时发生的行为 + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + /* 创建面板,这个类似于 HTML 的 div 标签 + * 我们可以创建多个面板并在 JFrame 中指定位置 + * 面板中我们可以添加文本字段,按钮及其他组件。 + */ + + // 面板 + JPanel panel = new JPanel(); + + + // 添加面板 + frame.add(panel); + + + /* + * 调用用户定义的方法并添加组件到面板 + */ + placeComponents(panel); + + // 设置界面可见 + frame.setVisible(true); + } + + private static void placeComponents(JPanel panel) { + + /* 布局部分我们这边不多做介绍 + * 这边设置布局为 null kong + */ + panel.setLayout(null); + + // 创建 JLabel + JLabel userLabel = new JLabel("User:"); + /* 这个方法定义了组件的位置。 + * setBounds(x, y, width, height) + * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 + */ + userLabel.setBounds(10,20,80,25); + panel.add(userLabel); + + /* + * 创建文本域用于用户输入 + */ + JTextField userText = new JTextField(20); + userText.setBounds(100,20,165,25); + panel.add(userText); + + // 输入密码的文本域 + JLabel passwordLabel = new JLabel("Password:"); + passwordLabel.setBounds(10,50,80,25); + panel.add(passwordLabel); + + /* + *这个类似用于输入的文本域 + * 但是输入的信息会以点号代替,用于包含密码的安全性 + */ + JPasswordField passwordText = new JPasswordField(20); + passwordText.setBounds(100,50,165,25); + panel.add(passwordText); + + // 创建登录按钮 + JButton loginButton = new JButton("login"); + loginButton.setBounds(10, 80, 80, 25); + loginButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + JOptionPane.showMessageDialog(null, "你点击了我", "InfoBox", JOptionPane.INFORMATION_MESSAGE); + System.out.println("用户: "+userText.getText()); + System.out.println("密码: "+ Arrays.toString(passwordText.getPassword())); + } + }); + + + panel.add(loginButton); + + + } + +} diff --git a/src/UI/Login.java b/src/UI/Login.java new file mode 100644 index 0000000..e2dec5b --- /dev/null +++ b/src/UI/Login.java @@ -0,0 +1,103 @@ +package UI; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Arrays; +import javax.swing.JOptionPane; + +public class Login { + public static void main(String[] args) { + // 创建 JFrame 实例 + JFrame frame = new JFrame("Login Example"); + + // Setting the width and height of frame + frame.setSize(350, 200); + + // 设置坐标 + frame.setLocation(100, 100); + + // 设置关闭窗口时发生的行为 + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + /* 创建面板,这个类似于 HTML 的 div 标签 + * 我们可以创建多个面板并在 JFrame 中指定位置 + * 面板中我们可以添加文本字段,按钮及其他组件。 + */ + + // 面板 + JPanel panel = new JPanel(); + + + // 添加面板 + frame.add(panel); + + + /* + * 调用用户定义的方法并添加组件到面板 + */ + placeComponents(panel); + + // 设置界面可见 + frame.setVisible(true); + } + + private static void placeComponents(JPanel panel) { + + /* 布局部分我们这边不多做介绍 + * 这边设置布局为 null kong + */ + panel.setLayout(null); + + // 创建 JLabel + JLabel userLabel = new JLabel("User:"); + /* 这个方法定义了组件的位置。 + * setBounds(x, y, width, height) + * x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。 + */ + userLabel.setBounds(10,20,80,25); + panel.add(userLabel); + + /* + * 创建文本域用于用户输入 + */ + JTextField userText = new JTextField(20); + userText.setBounds(100,20,165,25); + panel.add(userText); + + // 输入密码的文本域 + JLabel passwordLabel = new JLabel("Password:"); + passwordLabel.setBounds(10,50,80,25); + panel.add(passwordLabel); + + /* + *这个类似用于输入的文本域 + * 但是输入的信息会以点号代替,用于包含密码的安全性 + */ + JPasswordField passwordText = new JPasswordField(20); + passwordText.setBounds(100,50,165,25); + panel.add(passwordText); + + // 创建登录按钮 + JButton loginButton = new JButton("login"); + loginButton.setBounds(10, 80, 80, 25); + loginButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + JOptionPane.showMessageDialog(null, "你点击了我", "InfoBox", JOptionPane.INFORMATION_MESSAGE); + System.out.println("用户: "+userText.getText()); + System.out.println("密码: "+ Arrays.toString(passwordText.getPassword())); + } + }); + + + panel.add(loginButton); + + + } +} diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Circle.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Circle.java" new file mode 100644 index 0000000..68be7f7 --- /dev/null +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Circle.java" @@ -0,0 +1,9 @@ +package 面向对象.多态; + +public class Circle extends Shape{ + + @Override + public void draw() { + System.out.println("圆"); + } +} diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Demo.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Demo.java" index d7defa1..a11255e 100644 --- "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Demo.java" +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Demo.java" @@ -1,4 +1,8 @@ package 面向对象.多态; + +// 继承 接口 public class Demo { + + } diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Shape.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Shape.java" new file mode 100644 index 0000000..7f35d76 --- /dev/null +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\244\232\346\200\201/Shape.java" @@ -0,0 +1,15 @@ +package 面向对象.多态; + +public class Shape { + + public void draw(){ + + System.out.println("形状"); + } + + public static void main(String[] args) { + // 用父类定义 子类实例化 + Shape shape = new Circle(); + shape.draw(); + } +} diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Clerk.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Clerk.java" new file mode 100644 index 0000000..fdca7b4 --- /dev/null +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Clerk.java" @@ -0,0 +1,10 @@ +package 面向对象.封装; + +import 面向对象.封装.Demo.Clerks; + +public class Clerk { + + Demo.Clerks cc = new Clerks("", 12, 222); + + +} diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Demo.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Demo.java" index 30dabb7..b88085d 100644 --- "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Demo.java" +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\345\260\201\350\243\205/Demo.java" @@ -1,31 +1,64 @@ package 面向对象.封装; public class Demo { + + + // 主方法,类方法,静态方法 public static void main(String[] args) { - Clerk clerk1 = new Clerk("李寻欢", 32, 1234.3f); + /** + * 静态方法或者类方法不能访问成员变量或者成员属性 + */ +// Clerk clerk1 = new Clerk("李寻欢", 32, 1234.3f); +// +// System.out.println("名字是" + clerk1.name + "年龄是" + clerk1.getage1() + +// "他的薪水是" + clerk1.getsa1()); + } - System.out.println("名字是" + clerk1.name +"年龄是"+ clerk1.getage1()+ - "他的薪水是" + clerk1.getsa1()); + public void run(){ + + Clerk clerk = new Clerk("李寻欢", 32, 1234.3f); } -} - class Clerk { - public String name; - private int age; - private float salary; - public Clerk(String name, int age, float sal) { - this.name = name; - this.age = age; - this.salary = sal; - } - public float getsa1() { - return this.salary; + class Clerk { + public String name; + private int age; + private float salary; + + public Clerk(String name, int age, float sal) { + this.name = name; + this.age = age; + this.salary = sal; + } + + public float getsa1() { + return this.salary; + } + + public int getage1() { + return this.age; + } + } - } - public int getage1(){ - return this.age; - } + // 内部类 静态类 + static class Clerks { + public String name; + private int age; + private float salary; + + public Clerks(String name, int age, float sal) { + this.name = name; + this.age = age; + this.salary = sal; + } + public float getsa1() { + return this.salary; } + public int getage1() { + return this.age; + } + } +} + diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/ClassTableUI.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/ClassTableUI.java" new file mode 100644 index 0000000..ada0532 --- /dev/null +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/ClassTableUI.java" @@ -0,0 +1,13 @@ +package 面向对象.继承; + +import javax.swing.*; + +public class ClassTableUI extends JFrame { + + + public ClassTableUI(){ + + + + } +} diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/Demo.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/Demo.java" index 7a74a78..f132484 100644 --- "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/Demo.java" +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/Demo.java" @@ -1,4 +1,18 @@ package 面向对象.继承; -public class Demo { +import java.awt.*; + +public class Demo extends Canvas { + + + // 画 + @Override + public void paint(Graphics g) { + super.paint(g); + } + + @Override + public void repaint() { + super.repaint(); + } } diff --git "a/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/LoginUI.java" "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/LoginUI.java" new file mode 100644 index 0000000..b1b3ac9 --- /dev/null +++ "b/src/\351\235\242\345\220\221\345\257\271\350\261\241/\347\273\247\346\211\277/LoginUI.java" @@ -0,0 +1,29 @@ +package 面向对象.继承; + +import javax.swing.*; + +// 自定义窗口 +public class LoginUI extends JFrame { + + // 属性定义面板和控件 + + + public LoginUI(){ + + this.setSize(300, 200); + + // 初始化面板和控件 + + + // 添加响应事件 + + } + + + + public static void main(String[] args) { + + } + + +} -- Gitee