中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java如何實現可視化界面肯德基KFC點餐系統

發布時間:2021-04-15 11:26:14 來源:億速云 閱讀:233 作者:小新 欄目:編程語言

這篇文章主要介紹了java如何實現可視化界面肯德基KFC點餐系統,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、題目

使用java實現可視化KFC點餐系統。

二、題目分析

根據java中的用戶圖形界面包中的各個類設計界面。利用JFrame提供最大的容器,然后設計各個面板,各個面板中添加所需要的組件,本程序中需要對按鈕組件添加監聽者,當按下按鈕之后做出相應的相應。

對于程序運行顯示的第一個界面由一個繼承于JFrame的類run類在構造函數中設計并通過函數setVisible(true)顯示在界面上,界面上有一個按鈕“點餐飲”,當此按鈕按下時觸發響應函數,進入點餐界面,然后通過點擊點餐界面各食物的按鈕“+”“-”觸發響應改變用戶類client的對象的相對應變量的數量并且刷新界面,此界面還有食物種類的四個按鈕“漢堡”“小吃”“飲品”“套餐”,同樣點擊按鈕觸發響應刷新出對應的界面,之后設計了兩種付款模式,一種是現金付款,使用文本框組件類JTextField產生組件,在此組件中輸入你的支付金額,另外是掃二維碼支付,只需一個標簽組件JLabel中加入圖片即可。

三、程序代碼

由于初次使用java設計可視化界面的程序,沒有設計好導致源代碼繁瑣,以下列出部分代碼

主函數類:

import java.awt.*;
import java.io.Serializable;
import javax.swing.JFrame;
public class run implements Serializable{
	static String title = "KFC";
	static Beginning begin = new Beginning(title);
	static Order order=new Order(title);
	static JFrame[] frames= {begin,order};
	static saoma sao=new saoma("掃碼支付");					//二維碼窗口
	static Xiadan xiadan=new Xiadan("訂單信息");				//訂單信息窗口
	public static void main(String args[]) throws InterruptedException {

		for (int index = 0; index < frames.length; index++) {
			frames[index].setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			frames[index].setPreferredSize(new Dimension(1000,900));
      screencentre(frames[index]);

			frames[index].pack();
		}
		frames[0].setVisible(true);

	}
  //使框架顯示在屏幕中央
	public static void screencentre(JFrame frame) {

		Toolkit kit = Toolkit.getDefaultToolkit(); // 定義工具包

		Dimension screenSize = kit.getScreenSize(); // 獲取屏幕的尺寸

		int screenWidth = screenSize.width; // 獲取屏幕的寬

		int screenHeight = screenSize.height; // 獲取屏幕的高

		
		frame.setLocation(screenWidth/4, screenHeight/15);// 設置窗口居中顯示
	}
}

程序運行第一個界面:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Beginning extends JFrame{
	JPanel panel = new JPanel();								
	JLabel title = new JLabel("歡迎光臨KFC",JLabel.CENTER);	//標簽組件
	JLabel im = new JLabel(new ImageIcon("images/1.jpg"));	//標簽組件
	JButton order=new JButton(new ImageIcon("images/4.png"));	//按鈕組件
	public Beginning(String name)
	{
		super(name);
		setLayout(new GridLayout(4,1));						//設置布局
		title.setFont(new Font("KFC",Font.BOLD,50) );			//設置字體
		add(title);												//添加組件
		add(im);
		order.addActionListener(new BeginLis());				//添加監聽者
		order.setBorderPainted(false);							//去邊界
		JPanel jpanel2=new JPanel();
		jpanel2.setLayout(new GridLayout(1,3));
		jpanel2.add(new JPanel());
		jpanel2.add(order);
		jpanel2.add(new JPanel());
		add(jpanel2);
		//panel.add(title);
		//getContentPane().add(panel);
	}
	private class BeginLis implements ActionListener {
	  public void actionPerformed(ActionEvent e) {
	  	setVisible(false);
    	run.frames[1].setVisible(true);
		}
	}
}

二維碼支付窗口:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class saoma extends JFrame{
	JPanel jpanel=new JPanel();
	JButton buttonwancheng=new JButton("支付完成");
	public saoma(String name) {
		super(name);
		JLabel jlabel=new JLabel(new ImageIcon("images/saoma.png"));
		jpanel.add(jlabel);
		this.setSize(700, 700);
		this.setLocation(300, 200);
		this.add(jpanel);
		this.add(buttonwancheng,BorderLayout.SOUTH);

		buttonwancheng.addActionListener(e->{
			run.sao.setVisible(false);
			run.xiadan.setVisible(false);
			run.frames[1].setVisible(false);
			System.exit(-1);
		});
	}
}

現金支付窗口:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Xianjin extends JFrame{
	JPanel jpanel=new JPanel();

	JLabel jlabel=new JLabel("掏出整錢");
	JTextField in=new JTextField(20);
	JButton buttonzhifu=new JButton("支付");
	public Xianjin(String name) {
		super(name);
		this.setLayout(new GridLayout(2,1));
		this.setSize(700, 450);
		this.setLocation(300, 200);
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
		JTextArea show=new JTextArea(24,20);
		JScrollPane scrollpane=new JScrollPane(show);
		show.setEditable(false);
		show.append("您需要支付"+run.order.client1.num+"元"+'\n'+"請在下方輸入框輸入金錢進行支付以及找零:\n");
		this.add(scrollpane);
		jpanel.add(jlabel);
		jpanel.add(in);
		jpanel.add(buttonzhifu);
		this.add(jpanel);
		buttonzhifu.addActionListener(e->{
			String content=in.getText();
			float jinqian=Integer.parseInt(content);
			float zhaoling=jinqian-run.order.client1.num;
			if(jinqian<run.order.client1.num)
			{
				show.append("您給的錢不夠支付,請重新支付\n");
			}
			else
				show.append("您支付了"+jinqian+"元,找您"+zhaoling+"元\n"+"本次訂單完成\n");
			in.setText("");
		});
	}
}

下單窗口:

 import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  public class Xiadan extends JFrame{
  	JButton buttonxianjinzhifu=new JButton(new ImageIcon("images/xianjinzhifu.png"));
  	JButton buttonzhifubaosaoma=new JButton(new ImageIcon("images/zhifubaosaoma.png"));
  	JTextArea show=new JTextArea(24,20);
  	public Xiadan(String name)
  	{
  		super(name);
  
  		}
  	public void s() {
  		this.setLayout(new GridLayout(2,1));
  		this.setSize(700, 450);
  		this.setLocation(300, 200);
  
  		this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  	
  		JScrollPane scrollpane=new JScrollPane(show);
  		show.setEditable(false);
}

四、測試以及運行結果

程序運行界面:

java如何實現可視化界面肯德基KFC點餐系統

點擊“點餐飲”:

 java如何實現可視化界面肯德基KFC點餐系統

點擊各食物的“+”:

 java如何實現可視化界面肯德基KFC點餐系統

java如何實現可視化界面肯德基KFC點餐系統

java如何實現可視化界面肯德基KFC點餐系統

點擊“立即購買”:

 java如何實現可視化界面肯德基KFC點餐系統

點擊“現金支付”并在文本框輸入30后點擊“支付”:

 java如何實現可視化界面肯德基KFC點餐系統

點擊“掃碼支付”:

 java如何實現可視化界面肯德基KFC點餐系統

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java如何實現可視化界面肯德基KFC點餐系統”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇信县| 长丰县| 内江市| 涡阳县| 天长市| 六安市| 奉化市| 宁波市| 吕梁市| 唐山市| 宁陕县| 大足县| 达拉特旗| 承德县| 武宣县| 乐平市| 黔西| 铅山县| 城市| 海阳市| 秭归县| 偏关县| 南丰县| 荆门市| 太仓市| 通许县| 炎陵县| 安远县| 怀集县| 丹棱县| 和平县| 屏南县| 定南县| 云林县| 洛扎县| 惠州市| 缙云县| 禄劝| 红原县| 岱山县| 和平区|