摘要:事件對象攜帶了動作發生時的相關信息,比如通過事件對象獲取按鈕的字符串,通過字符串判斷后執行不同的代碼。使用監聽器的步驟自己創建一個類使用這個類創建一個對象,用按鈕對象的添加監聽器方法添加這個對象。
界面開發工具需借助其他工具包,主要有如下兩種:
1.java.awt:組件樣式老舊,推薦使用顏色、尺寸、字體、布局方式這些元素規則類
2.javax.swing:升級后的開發包
(1)容器:可以去裝載其他組件,如窗體;
(2)組件:按鈕、輸入框、菜單、滑桿等;
(3)內容:文字、圖片等
要使用這些包,需要引用,方法如下:
import javax.swing.*; import java.awt.*;
1.創建一個類(LoginUI)
2.在這個類中聲明一個初始化界面方法
public static void main(String[] args) { LoginUI loginUI=new LoginUI(); loginUI.showUI(); }
3.在方法中:
(1)創建一個窗體javax.swing.JFramed的對象;
javax.swing.JFrame jf=new javax.swing.JFrame();
(2)設置窗體對象的屬性、標題、尺寸、位置、關閉方法、可視化等
jf.setTitle("登錄入口");//窗體標題 jf.setSize(600,500);//窗體尺寸 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//點擊窗體關閉設置:退出 java.awt.FlowLayout flow=new java.awt.FlowLayout(); jf.setLayout(flow);//窗體組件的排列方式:流式布局
(3)添加組件對象如按鈕、輸入框、圖片、文字
javax.swing.JButton btn=new javax.swing.JButton(); javax.swing.JButton btn1=new javax.swing.JButton();//按鈕 javax.swing.JLabel namejla=new javax.swing.JLabel(); javax.swing.JLabel pwdjla=new javax.swing.JLabel();//標簽 javax.swing.JTextField namejtf=new javax.swing.JTextField();//文本輸入框 javax.swing.JPasswordField pwdjtf=new javax.swing.JPasswordField();//密碼輸入框 javax.swing.JCheckBox checkBox=new javax.swing.JCheckBox();//復選框 javax.swing.ImageIcon imgicon=new javax.swing.ImageIcon("C://Users" + "http://Administrator//Desktop//img.png");//圖片 javax.swing.JLabel imgjla=new javax.swing.JLabel();
設置對象的屬性
btn.setText("登錄"); btn1.setText("注冊"); namejla.setText("賬號:"); pwdjla.setText("密碼:"); imgjla.setIcon(imgicon);//把圖片加載到圖片的標簽組件上 //組件設置尺寸 java.awt.Dimension jtfsize=new java.awt.Dimension();//先創建一個尺寸對象 jtfsize.setSize(510,50);//設置尺寸對象的寬、高 //將尺寸對象設置給輸入框 namejtf.setPreferredSize(jtfsize); pwdjtf.setPreferredSize(jtfsize); java.awt.Color color=new java.awt.Color(255,0,0);//設置顏色,使用java.awt.Color btn.setBackground(color);//將顏色對象設給按鈕 checkBox.setText("自動登錄");
將組件對象加載到窗體上,并使窗體可視化
jf.add(imgjla); jf.add(namejla);jf.add(namejtf); jf.add(pwdjla);jf.add(pwdjtf); jf.add(checkBox);jf.add(btn); jf.add(btn1); jf.setVisible(true);
//給按鈕注冊監聽器 ButtonListener btnlistener=new ButtonListener(); btn.addActionListener(btnlistener); btn1.addActionListener(btnlistener); //用監聽器對象調用null的輸入框對象名,用界面這里的輸入框對象名給它賦值 btnlistener.namejtf=namejtf; btnlistener.pwdjtf=pwdjtf;
使用監聽器的目的在于當一個事件源觸發一個事件時,會有一個或多個監聽器進行監聽,并會由監聽器執行與之對應的事件。事件對象攜帶了動作發生時的相關信息,比如通過事件對象獲取按鈕的字符串,通過字符串判斷后執行不同的代碼。
使用監聽器的步驟:
(1)自己創建一個類;
(2)使用這個類創建一個對象,用按鈕對象的添加監聽器方法添加這個對象。
//自己創建一個類來實現這個監聽器 public class ButtonListener implements ActionListener { //定義一個輸入框屬性對象名 JTextField namejtf=null; JTextField pwdjtf=null; int count=0; //重寫監聽器中方法 改分號為大括號 然后在大括號中加上點擊按鈕之后想要執行的代碼 public void actionPerformed(ActionEvent e){ count++; //獲取按鈕上的字符串 String btnstr=e.getActionCommand(); System.out.print("按鈕被點擊了"+count+"次");//打印時不換行 System.out.println(" 點擊的是:"+btnstr); //判斷字符串 .equal() if(btnstr.equals("登錄")){ String nametext=namejtf.getText(); String pwdtext= pwdjtf.getText(); //驗證賬號密碼是否正確 if(nametext.equals("admin")&&(pwdtext.equals("123456"))) { System.out.print("賬號:"+nametext); System.out.println(" 密碼:"+pwdtext); JFrame jf = new JFrame("登錄成功!!"); jf.setVisible(true); jf.setSize(600, 500); }else{ System.out.println("登錄失敗,請輸入正確的賬號和密碼"); } } else if(btnstr.equals("注冊")) { System.out.println("執行注冊操作,跳轉至注冊頁面"); JFrame jf=new JFrame("注冊界面"); jf.setSize(600,500); jf.setVisible(true); } }}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/124703.html
摘要:準備本腳本適用于安卓游戲區,需要真實安卓手機。電腦需安裝好安卓驅動,一般豌豆莢或者各種管家可以自動幫你裝好。使用命令檢驗和手機狀態已經就緒。 原理 王者榮耀的冒險模式里有個挑戰模式,第一次過關可以獲得比較多的金幣,后面重新挑戰還是會獲得少量金幣,這不算是bug,你不嫌煩手動蠻力也可以刷金幣。 推薦關卡:隕落的廢都 - 魔女回憶 此關卡使用純輸出英雄20秒左右可以打BOSS,50秒左右可...
摘要:開發流程對于一個項目,最大的問題就是如何拆解為任務,分配到合適的人手里,并在有限的時間內完成它。但是我們把整個項目進行拆解的話,每個星期進行統計分析,就可以對癥下藥,提高開發效率。 開發流程 對于一個項目,最大的問題就是如何拆解為任務,分配到合適的人手里,并在有限的時間內完成它。 就像做建筑工程一樣,其實做IT也是可以量化的,可能有的人砌磚砌得慢一些,有的人快一些。 但是我們把整個項目...
摘要:系統分析員向用戶再次確認需求。我在公司進行了在線教育系統的開發,所在的團隊有個人,包括項目經理系統分析人員架構師開發人員數據庫設計人員前端開發人員測試人員等,軟件周期從需求分析概要設計詳細設計編碼測試軟件交付用戶驗收維護,大概花了個月。 面試時可能問到的公司情況:包括公司的地址,什么時候創建的,公司的規模(小公司、中型公司、大公司),公司的人員(主要講開發團隊,包括項目經理,項目主管,...
閱讀 555·2021-11-25 09:44
閱讀 2645·2021-11-24 09:39
閱讀 2315·2021-11-22 15:29
閱讀 3528·2021-11-15 11:37
閱讀 3394·2021-09-24 10:36
閱讀 2523·2021-09-04 16:41
閱讀 1004·2021-09-03 10:28
閱讀 1858·2019-08-30 15:55