激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java圖形化編程之JFrame疫苗接種系統詳解

Java圖形化編程之JFrame疫苗接種系統詳解

2021-12-30 13:28qq1913284695 Java教程

GUI圖形界面設計是用戶和程序交互的工具,用戶通過圖形界面控制程序事件的發生。首先介紹Swing的基本體系結構,這是底層

 

1.功能模塊

 

1.1登陸模塊

 

1.1.1思路:

利用JFrame彈出一個登陸界面,用戶輸入admin和123456表示正確否則登陸失敗,給登陸按鈕綁定一個點擊事件(得到用戶輸入的內容進行比對如果正確就彈出信息展示模塊的JFrame界面-VaccineJframe),給取消按鈕綁定事件將兩個文本框的內容置空。

 

1.1.2核心代碼:

位置:/yimiao/src/com/jiefan/Application.java

package com.jiefan;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import com.jiefan.jframe.VaccineJframe;
public class Application extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTextField username;//文本框
	private JPasswordField password;//密碼框
	private JLabel label0;//標題
	private JLabel label1;//用戶名
	private JLabel label2;//密碼
	private JButton loginButton;//登陸按鈕
	private JButton cancelButton;//取消按鈕
	/**
	 * 初始化窗口
	 */
	public Application() {
		// 設置容器為空布局,絕對定位
		this.setLayout(null);
		// 創建標題字體對象
		Font font = new Font("微軟雅黑", Font.BOLD, 25);
		// 創建顏色對象
		Color color = new Color(128, 200, 128);
		// 登陸界面標簽
		label0 = new JLabel("登陸界面");
		label0.setBounds(200, 50, 150, 50);
		label0.setFont(font);
		label0.setForeground(color);
		// 用戶名標簽
		label1 = new JLabel("用戶名:");
		label1.setBounds(110, 110, 100, 20);
		// 密碼標簽
		label2 = new JLabel("密碼:");
		label2.setBounds(110, 160, 100, 20);
		// 創建組件
		username = new JTextField();
		username.setBounds(180, 110, 200, 20);
		// 密碼框
		password = new JPasswordField();
		password.setBounds(180, 160, 200, 20);
		//登陸按鈕
		loginButton = new JButton("登陸");
		loginButton.setBounds(205, 200, 60, 20);	
		loginButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				if(username.getText().equals("admin") && String.valueOf(password.getPassword()).equals("123456")) {
					JOptionPane.showMessageDialog(null, "登陸成功");  
					//跳轉到查看所有的疫苗界面(隱藏當前窗體)
					Application.this.setVisible(false);//隱藏當前窗體
					new VaccineJframe();
				}else {
					JOptionPane.showMessageDialog(null, "賬號密碼錯誤-默認賬號admin密碼123456");  
				}
			}
		});
		//取消按鈕
		cancelButton = new JButton("取消");
		cancelButton.setBounds(265, 200, 60, 20);
		cancelButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				username.setText("");
				password.setText("");
			}
		});
		// 將組件加入到容器中
		this.add(username);
		this.add(password);
		this.add(label0);
		this.add(label1);
		this.add(label2);
		this.add(loginButton);
		this.add(cancelButton);
		// 設置標題
		this.setTitle("疫苗管理系統");
		// 設置窗口的關閉策略
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// 設置窗口大小
		this.setSize(500, 300);
		// 隱藏標題欄
		this.setUndecorated(false);
		// 設置不可調整窗口大小
		this.setResizable(true);
		// 設置窗口居中,放在窗口大小后面,null表示桌面
		this.setLocationRelativeTo(null);
		// 將窗口設置為顯示,要寫在最后一句
		this.setVisible(true);
	}
	public static void main(String[] args) {
		new Application();
	}
}

 

1.1.3運行效果:

Java圖形化編程之JFrame疫苗接種系統詳解

 

1.2信息展示模塊(從txt文件中讀取)

 

1.2.1思路:

從D盤下的txt文件用io流讀取出來,并封裝成list用jtable組件展示到界面上

 

1.2.2核心代碼 :

位置1:/yimiao/src/com/jiefan/dao/VaccineDao.java

//查詢所有的
	public List<Vaccine> getAll(){
		try {
			List<Vaccine> vs=read.getList();//read是我自己封裝的工具類
			return vs;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}

上面的read是我自己封裝的工具類(專門用來讀文件的) 核心代碼如下:

位置2:/yimiao/src/com/jiefan/tools/Read.java

/**
	 * 從txt文件中讀取疫苗接種信息
	 * @return
	 * @throws IOException
	 */
	public List<Vaccine> getList() throws IOException{
		List<Vaccine> vaccines=new ArrayList<Vaccine>();
		FileReader fr = new FileReader(Config.filePath);
		BufferedReader br = new BufferedReader(fr);
		String line = br.readLine();
		for (int i = 0; line != null; i++) {
			line = br.readLine();
			String[] lineArr = null;
			if (line != null) {
				lineArr = line.split(" ");
				Vaccine v=new Vaccine();
				v.setId(Integer.valueOf(lineArr[0]));
				v.setVname(lineArr[1]);
				v.setUname(lineArr[2]);
				v.setVdate(lineArr[3]);
				v.setPhone(lineArr[4]);
				v.setUnit(lineArr[5]);
				vaccines.add(v);
			}
		}
		br.close();
		fr.close();
		return vaccines;
	}

 

1.2.3運行效果:

Java圖形化編程之JFrame疫苗接種系統詳解

Java圖形化編程之JFrame疫苗接種系統詳解

 

1.3新增記錄模塊(并更新txt)

 

1.3.1思路:

點擊新增按鈕彈出一個新的窗體,里面讓用戶輸入一些必要信息(必填的和需要正則驗證的都要做)。最后點擊添加的時候保存到txt文件中(在文件內容末尾換行追加一行,每個字段之間空格隔開)。隱藏添加界面打開信息展示界面(重新從txt讀取一遍)。

 

1.3.2核心代碼

位置1:/yimiao/src/com/jiefan/dao/VaccineDao.java

//增
	public void addV(Vaccine v) {
		List<Vaccine> vs=getAll();
		if(v.getId() ==null) {
			if(vs!=null&&vs.size()>0)v.setId(vs.get(vs.size()-1).getId()+1); 
			else v.setId(1); 
		}
		write.appendV(v);//write是我自己定義的一個工具類-專門在最后一條記錄追加
	}

位置2:write工具類:/yimiao/src/com/jiefan/tools/Write.java

/**
	 * 新增一行疫苗信息數據
	 * @param v
	 */
	public void appendV(Vaccine v) {
		BufferedWriter out=null;
		//最后追加一行
		try {
		out=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(Config.filePath, true)));
		
			out.write("
"+v.getId()+" "+v.getVname()+" "+v.getUname()+" "+v.getVdate()+" "+v.getPhone()+" "+v.getUnit());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

 

1.3.3運行效果

Java圖形化編程之JFrame疫苗接種系統詳解

 

1.4刪除記錄(含多選刪除并更新txt)

Java圖形化編程之JFrame疫苗接種系統詳解

 

1.5修改記錄(并更新txt)

Java圖形化編程之JFrame疫苗接種系統詳解

 

1.6多條件查詢

Java圖形化編程之JFrame疫苗接種系統詳解

 

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/qq_32079585/article/details/120241251

延伸 · 閱讀

精彩推薦
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 国产免费一区二区三区视频 | 777zyz色资源站在线观看 | 欧美一二区视频 | 国产精品久久久久永久免费观看 | 媚药按摩痉挛w中文字幕 | 黑人日比 | 免费国产一区二区视频 | 羞羞的视频免费 | 欧美日韩色 | 久久精品视频网站 | 97精品国产高清在线看入口 | 91丝袜| 黄色av.com | 中文欧美日韩 | 国产九色视频在线观看 | 国产寡妇xxxxxxxx性开放 | 日日噜噜噜噜久久久精品毛片 | 中文字幕视频在线播放 | 日本aaa一级片| 极品xxxx欧美一区二区 | 最新毛片在线观看 | 亚洲一区二区三区在线看 | 免费h片 | 5a级毛片| 一级在线免费观看视频 | 精品国产96亚洲一区二区三区 | 一区二区三区视频播放 | 毛片免费在线播放 | 久久欧美亚洲另类专区91大神 | 一区二区三区在线观看国产 | 羞羞答答www网站进入 | 亚洲成人中文字幕在线 | 国产精品999在线观看 | 黄色网络免费看 | 牛牛碰在线 | 亚洲国产高清一区 | 午夜视频亚洲 | 免费黄色成人 | 久久久久免费精品国产小说色大师 | 男人的天堂色偷偷 | 成人短视频在线观看免费 |