------------------------------------------Have a Good Day~----------------------------------
暴力蓝桥 特判全崩
省一无望 心态已崩
暂别算法 JAVA走起
8说了 开搞开搞~~
本次的主要目的想用JAVA写一个类似于饭店自动点餐的程序,分为三个主要用户:客人,员工,经理
同时利用MySQL对餐厅的营业额,食材剩余量,员工开销进行实时维护
其实我刚开始想用Python写的,但是用Python写桌面应用不好封装 T T
无奈只能重拾Java
教练,我想学Python T T
下边开始~~
2019.3.25
窗口的初步搭建
涉及:
JFrame 窗口
JPanel 面板组件 (暂时不知道具体咋实现的 日后搞懂再补充)
不同窗口的转换 (暂时不知道咋关 这就很尴尬)
JFrame 窗口搭建
Toolkit kit=Toolkit.getDefaultToolkit(); //获取当前屏幕的大小 Dimension screenSize=kit.getScreenSize(); int screenHight=screenSize.height; int screenWight=screenSize.width; //窗口大小 setSize(screenWight/2,screenHight/2); setLocationByPlatform(true); //窗口位置 setLocation(550,150);
icon 小图标的获取
//获取图标 Image img=new ImageIcon("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\icon.png").getImage(); setIconImage(img);
background 背景设置
//背景图片设置 public void paint(Graphics g) { File file = new File("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\background.png");
//异常处理~ try { BufferedImage image=ImageIO.read(file); g.drawImage(image,0,0,null); } catch(Exception e) { e.printStackTrace(); } }
JPanel 初步搭建(我想搞的好看点,待补充)
//顾客按键 进入顾客界面 JButton customerButton= new JButton("Customer"); //经理按键 进入经理界面 JButton managerButton=new JButton("Manager"); //员工按键 进入员工按键 JButton staffButton= new JButton("Staff");
//私有的JPanel 对象 private JPanel buttonPanel1;
buttonPanel1 = new JPanel(); //将按键添加到面板 buttonPanel1.add(customerButton); buttonPanel1.add(managerButton); buttonPanel1.add(staffButton); add(buttonPanel1);
然后是最主要的
窗口转换
//顾客按键 进入顾客界面 JButton customerButton= new JButton("Customer"); //等一手 lambda语句简化~~~~ customerButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //创建一个顾客窗口 Customer customerWindow = new Customer(); customerWindow.setTitle("Welcome~"); customerWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); customerWindow.setVisible(true); //当前窗口关闭 } } );
我觉得可以lambda简化~~~
我觉得是这么实现的:
首先 JButton 一个按键
然后对这个按键有一个 ActionListener 事件响应
对应的事件为创建一个 Customer 对象
Customer实际上也继承了 JFrame 也是一个窗口类
然后创建Customer对象就等于创建了一个新的窗口
再将当前窗口关闭即可~
今天全部代码
Main函数
package catering_Management; import javax.swing.JFrame; //Good Luck~ public class Main { public static void main(String[] args) { WindowFrame window=new WindowFrame(); window.setTitle("餐饮管理系统"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); } }
登录选择窗口
package catering_Management; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class WindowFrame extends JFrame{ // JPanel 面板组件 private JPanel buttonPanel1; public WindowFrame() { Toolkit kit=Toolkit.getDefaultToolkit(); //获取当前屏幕的大小 Dimension screenSize=kit.getScreenSize(); int screenHight=screenSize.height; int screenWight=screenSize.width; //窗口大小 setSize(screenWight/2,screenHight/2); setLocationByPlatform(true); //窗口位置 setLocation(550,150); //获取图标 Image img=new ImageIcon("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\icon.png").getImage(); setIconImage(img); //顾客按键 进入顾客界面 JButton customerButton= new JButton("Customer"); //等一手 lambda语句简化~~~~ customerButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //创建一个顾客窗口 Customer customerWindow = new Customer(); customerWindow.setTitle("Welcome~"); customerWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); customerWindow.setVisible(true); //当前窗口关闭 } } ); //经理按键 进入经理界面 JButton managerButton=new JButton("Manager"); //员工按键 进入员工按键 JButton staffButton= new JButton("Staff"); buttonPanel1 = new JPanel(); //将按键添加到面板 buttonPanel1.add(customerButton); buttonPanel1.add(managerButton); buttonPanel1.add(staffButton); add(buttonPanel1); } //背景图片设置 public void paint(Graphics g) { File file = new File("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\background.png"); try { BufferedImage image=ImageIO.read(file); g.drawImage(image,0,0,null); } catch(Exception e) { e.printStackTrace(); } } }
Customer 窗口
package catering_Management; import java.util.Scanner; import java.util.*; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Customer extends JFrame{ public Customer() { Toolkit kit=Toolkit.getDefaultToolkit(); //获取当前屏幕的大小 Dimension screenSize=kit.getScreenSize(); int screenHight=screenSize.height; int screenWight=screenSize.width; //窗口大小 setSize(screenWight/2,screenHight/2); setLocationByPlatform(true); //窗口位置 setLocation(550,150); //获取图标 Image img=new ImageIcon("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\customerIcon.png").getImage(); setIconImage(img); } //背景图片设置 public void paint(Graphics g) { File file = new File("F:\\Java_program\\Catering_management_system\\src\\catering_Management\\bin\\customerBackground.png"); //image = ImageIO.read(file); try { BufferedImage image=ImageIO.read(file); g.drawImage(image,0,0,null); } catch(Exception e) { e.printStackTrace(); } } }
今天的训练赛没打..........
博弈论我是真的不会啊T T
-------------------------------------------------未完待续-------------------------------------------------------------