From 44fe8b49edb6591632d74252c783fe43f5ab3ae4 Mon Sep 17 00:00:00 2001 From: msksbr Date: Sat, 22 Jun 2024 01:42:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9A=E4=BA=86=E4=B8=AA=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/GUItest/.vscode/settings.json | 3 +- test/GUItest/MANIFEST.MF | 2 - test/GUItest/src/Calculator/Main.java | 7 ++ test/GUItest/src/Calculator/MyFrame.java | 86 +++++++++++++++++++ test/GUItest/src/loginWindow/CenterPanel.java | 26 ++++++ test/GUItest/src/loginWindow/Main.java | 7 ++ test/GUItest/src/loginWindow/MyFrame.java | 23 +++++ test/GUItest/src/loginWindow/SidePanel.java | 10 +++ 8 files changed, 161 insertions(+), 3 deletions(-) delete mode 100644 test/GUItest/MANIFEST.MF create mode 100644 test/GUItest/src/Calculator/Main.java create mode 100644 test/GUItest/src/Calculator/MyFrame.java create mode 100644 test/GUItest/src/loginWindow/CenterPanel.java create mode 100644 test/GUItest/src/loginWindow/Main.java create mode 100644 test/GUItest/src/loginWindow/MyFrame.java create mode 100644 test/GUItest/src/loginWindow/SidePanel.java diff --git a/test/GUItest/.vscode/settings.json b/test/GUItest/.vscode/settings.json index e112a70..f19f0f7 100644 --- a/test/GUItest/.vscode/settings.json +++ b/test/GUItest/.vscode/settings.json @@ -3,5 +3,6 @@ "java.project.outputPath": "bin", "java.project.referencedLibraries": [ "lib/**/*.jar" - ] + ], + "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable" } diff --git a/test/GUItest/MANIFEST.MF b/test/GUItest/MANIFEST.MF deleted file mode 100644 index b73b48f..0000000 --- a/test/GUItest/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: Shutdown.Main \ No newline at end of file diff --git a/test/GUItest/src/Calculator/Main.java b/test/GUItest/src/Calculator/Main.java new file mode 100644 index 0000000..3fc02a7 --- /dev/null +++ b/test/GUItest/src/Calculator/Main.java @@ -0,0 +1,7 @@ +package Calculator; + +public class Main { + public static void main(String[] args) { + new MyFrame(); + } +} diff --git a/test/GUItest/src/Calculator/MyFrame.java b/test/GUItest/src/Calculator/MyFrame.java new file mode 100644 index 0000000..fed6419 --- /dev/null +++ b/test/GUItest/src/Calculator/MyFrame.java @@ -0,0 +1,86 @@ +package Calculator; + +import java.awt.Button; +import java.awt.Dialog; +import java.awt.FlowLayout; +import java.awt.Frame; +import java.awt.Label; +import java.awt.TextField; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +public class MyFrame extends Frame { + public MyFrame() { + super("Calculator"); + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + // TODO Auto-generated method stub + System.exit(0); + } + }); + setVisible(true); + setBounds(400, 400, 300, 200); + TextField num1 = new TextField(); + TextField num2 = new TextField(); + Button equal2 = new Button("="); + TextField goal = new TextField(); + setLayout(new FlowLayout()); + setResizable(false); + add(num1); + add(num2); + add(equal2); + add(goal); + equal2.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + try { + goal.setText(add(Double.valueOf(num1.getText()), Double.valueOf(num2.getText()))); + try { + goal.setText(add(Integer.valueOf(num1.getText()), Integer.valueOf(num2.getText()))); + } catch (java.lang.NumberFormatException event) { + // TODO: handle exception + } + } catch (java.lang.NumberFormatException event) { + // TODO: handle exception + CreateWarning(num1, num2, goal); + } + } + }); + } + + public void CreateWarning(TextField num1, TextField num2, TextField goal) { + Dialog warning = new Dialog(this, "please enter a valid number! "); + warning.setLayout(new FlowLayout()); + Button close = new Button("close"); + close.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + warning.dispose(); + } + }); + warning.setSize(400, 0); + warning.setVisible(true); + warning.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + // TODO Auto-generated method stub + warning.dispose(); + } + }); + num1.setText(""); + num2.setText(""); + goal.setText(""); + } + + public String add(double num1, double num2) { + return String.valueOf(num1 + num2); + } + + public String add(int num1, int num2) { + return String.valueOf(num1 + num2); + } +} diff --git a/test/GUItest/src/loginWindow/CenterPanel.java b/test/GUItest/src/loginWindow/CenterPanel.java new file mode 100644 index 0000000..64c58dd --- /dev/null +++ b/test/GUItest/src/loginWindow/CenterPanel.java @@ -0,0 +1,26 @@ +package loginWindow; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class CenterPanel extends Panel { + public CenterPanel() { + setLayout(new GridLayout(3, 1)); + TextField UserName = new TextField(); + TextField Password = new TextField(); + Button commit = new Button("commit"); + Password.setEchoChar('*'); + add(UserName); + add(Password); + add(commit); + commit.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + System.out.println("Username: \t" + UserName.getText()); + System.out.println("Password: \t" + Password.getText()); + } + }); + } +} diff --git a/test/GUItest/src/loginWindow/Main.java b/test/GUItest/src/loginWindow/Main.java new file mode 100644 index 0000000..d57f5a2 --- /dev/null +++ b/test/GUItest/src/loginWindow/Main.java @@ -0,0 +1,7 @@ +package loginWindow; + +public class Main { + public static void main(String[] args) { + new MyFrame(); + } +} diff --git a/test/GUItest/src/loginWindow/MyFrame.java b/test/GUItest/src/loginWindow/MyFrame.java new file mode 100644 index 0000000..92ec35c --- /dev/null +++ b/test/GUItest/src/loginWindow/MyFrame.java @@ -0,0 +1,23 @@ +package loginWindow; + +import java.awt.*; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +public class MyFrame extends Frame { + public MyFrame() { + setVisible(true); + setBounds(200, 200, 680, 400); + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + // TODO Auto-generated method stub + System.exit(0); + } + }); + setLayout(new BorderLayout()); + add(new SidePanel((int)(getWidth()*0.2),getHeight()), BorderLayout.WEST); + add(new CenterPanel(), BorderLayout.CENTER); + add(new SidePanel((int)(getWidth()*0.2),getHeight()), BorderLayout.EAST); + } +} diff --git a/test/GUItest/src/loginWindow/SidePanel.java b/test/GUItest/src/loginWindow/SidePanel.java new file mode 100644 index 0000000..c46cee0 --- /dev/null +++ b/test/GUItest/src/loginWindow/SidePanel.java @@ -0,0 +1,10 @@ +package loginWindow; + +import java.awt.*; + +public class SidePanel extends Panel { + public SidePanel(int width, int height) { + setBackground(new Color(0X39, 0XC5, 0XBB)); + setSize(width, height); + } +}