JAVA GUI學習 繼續
之前的登入介面並沒有完成 因此把監聽部分補上
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="登入")
{
password_check();
if("".equals(username_text.getText()))
{
JOptionPane.showMessageDialog(null, "使用者名稱不可為空!");
}
else if("".equals(String.valueOf(password_text.getPassword())))
{
JOptionPane.showMessageDialog(null, "密碼不可為空!");
}
else if(!flag_login)
{
JOptionPane.showMessageDialog(null, "使用者名稱或密碼錯誤!");
}
username_text.setText("");//保證安全,使用者名稱和密碼設0
password_text.setText("");
}
if(e.getActionCommand()=="註冊")
{
new GUI_register();//開註冊介面
}
if(flag_login==true)
{
System.out.println("跳轉中");//無意義,寫著玩
new GUI_select();//開選題介面
username_text.setText("");
password_text.setText("");
flag_login=false;
login_frame.dispose();
//跳轉至選擇介面
}
}
總共5個介面+一個自動出題,重複部分很多,因此只拿出一部分來
密碼核對:每一行為一組使用者名稱和密碼,以分號分隔,建立檔案,逐行讀取核對即可
使用者查重等與此近似
由於是小作業因此只用TXT儲存
void password_check()
{
try
{
File autopro_dir=new File("D:\\autopro");
if(!autopro_dir.exists())
{
autopro_dir.mkdir();
}
File password_dir=new File("D:\\autopro\\password");
if(!password_dir.exists())
{
password_dir.mkdir();
}
File password_file=new File("D:\\autopro\\password\\password.txt");
if(!password_file.exists())
{
password_file.createNewFile();
}
//以上password檔案生成
String password_path;
password_path="D:\\autopro\\password\\password.txt";
InputStreamReader password_reader=new InputStreamReader(new FileInputStream(password_path));
BufferedReader password_br=new BufferedReader(password_reader);
String password_line="";
String[] password_unp=new String[2];//使用者名稱和密碼
while((password_line = password_br.readLine()) != null)
{
password_unp=password_line.split(";");//以;分隔,因此密碼中不可以有;
if(password_unp[0].equals(username_text.getText()))
{
if(password_unp[1].equals(String.valueOf(password_text.getPassword())))
{
username_login=username_text.getText();
password_login=String.valueOf(password_text.getPassword());
flag_login=true;
}
}
}
password_br.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Password check failed.");
}
}
字型設定:
Font font = new Font(Font.DIALOG, Font.BOLD, 20);
title_label.setFont(font);
關閉頁面和下拉選項:
select_frame.dispose();//關閉頁面
grade_choice=new Choice();//下拉選項
grade_choice.add("小學");
grade_choice.add("初中");
grade_choice.add("高中");
grade_choice.setBounds(170, 88, 60, 20);
JRadioButton組:
choice1=new JRadioButton();
choice2=new JRadioButton();
choice3=new JRadioButton();
choice4=new JRadioButton();
choice_group=new ButtonGroup();
choice_group.add(choice1);
choice1.setBounds(80, 130, 20, 20);
choice_group.add(choice2);
choice2.setBounds(180, 130, 20, 20);
choice_group.add(choice3);
choice3.setBounds(280, 130, 20, 20);
choice_group.add(choice4);
choice4.setBounds(380, 130, 20, 20);
choice1.setSelected(false);//設為未選中
choice2.setSelected(false);
choice3.setSelected(false);
choice4.setSelected(false);
choice_group.clearSelection();
choice1.isSelected()//此按鈕是否被選中,boolean型
//更改標籤文字 choice1_label.setText(String.valueOf(String.valueOf(choice_output[question_now][0])));
choice2_label.setText(String.valueOf(String.valueOf(choice_output[question_now][1])));
choice3_label.setText(String.valueOf(String.valueOf(choice_output[question_now][2])));
choice4_label.setText(String.valueOf(String.valueOf(choice_output[question_now][3])));
由於button不支援settext,所以改用JButton來實現更改文字
JButton button_previous;
JButton button_next;
button_previous=new JButton("上一題");
button_next=new JButton("下一題");
button_previous.addActionListener(this);
button_previous.setBounds(160, 170, 80, 20);
button_next.addActionListener(this);
button_next.setBounds(280, 170, 80, 20);
button_next.setText("完成");
就這點 = =
效果截圖:
醜吧,醜就對了,溜了,告辭
相關文章
- JS繼續學習記錄(一)JS
- java學習之旅(續)Java
- 【java學習】GUI 圖形程式設計JavaGUI程式設計
- Java學習之AWT GUI程式設計JavaGUI程式設計
- java繼續革命(轉)Java
- JAVA學習筆記-繼承Java筆記繼承
- Java學習之Swing Gui程式設計JavaGUI程式設計
- JAVA學習課第五十八屆 — GUIJavaGUI
- C#快速入門教程(30)—— 繼續學習C#
- Java學習筆記之繼承Java筆記繼承
- POJ 3070 Fibonacci(需要繼續學習)
- java學習——物件導向之繼承Java物件繼承
- Java 學習筆記(持續更新)Java筆記
- 學習Java中遇到的繼承問題Java繼承
- 【Java學習筆記】繼承和多型Java筆記繼承多型
- 繼續學習webpack4的一些配置總結Web
- Java繼承練習Java繼承
- Java學習day09—-封裝和繼承Java封裝繼承
- 學習部落格之Java繼承多型介面Java繼承多型
- 工作以後難道就不需要繼續學習了嗎
- 周朝陽:我的2017年繼續教育學習二三事
- 77%的IT業人員擬繼續學習IT知識以防落伍
- 華瑞IT學校:高考沒被錄取,繼續學習的途徑有哪些
- 持續學習
- python-GUI之tkinter的學習PythonGUI
- 還有沒有必要繼續再學oracle?Oracle
- JavaScript 學習之繼承JavaScript繼承
- Oracle RMAN練習繼續,簡單涉及CatalogOracle
- HTML 學習待續HTML
- Java GUI之GraphicsEnvironmentJavaGUI
- Java GUI之JButtonJavaGUI
- Head First Java學習筆記(7):繼承與多型Java筆記繼承多型
- 《Java核心技術》第五章 繼承 學習筆記Java繼承筆記
- Scala學習(八)---Scala繼承繼承
- python的GUI程式設計和tkinter學習筆記——第一個GUI程式PythonGUI程式設計筆記
- 奧運會結束了,生活還要繼續,工作還要繼續...
- java學習之道 --- 如何學習java?Java
- 學習進度 (待續)