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學習】GUI 圖形程式設計JavaGUI程式設計
- Java學習之AWT GUI程式設計JavaGUI程式設計
- Java學習之Swing Gui程式設計JavaGUI程式設計
- C#快速入門教程(30)—— 繼續學習C#
- java學習——物件導向之繼承Java物件繼承
- Java 學習筆記(持續更新)Java筆記
- 學習Java中遇到的繼承問題Java繼承
- Java繼承練習Java繼承
- 繼續學習webpack4的一些配置總結Web
- Java學習day09—-封裝和繼承Java封裝繼承
- python-GUI之tkinter的學習PythonGUI
- 工作以後難道就不需要繼續學習了嗎
- 華瑞IT學校:高考沒被錄取,繼續學習的途徑有哪些
- Head First Java學習筆記(7):繼承與多型Java筆記繼承多型
- JavaScript 學習之繼承JavaScript繼承
- python的GUI程式設計和tkinter學習筆記——第一個GUI程式PythonGUI程式設計筆記
- 《Java核心技術》第五章 繼承 學習筆記Java繼承筆記
- 不忘初心,繼續前行
- JAVA學習線路:day01物件導向(繼承、抽象類)Java物件繼承抽象
- Java開發5年,如何繼續提升技術實力?Java
- Java 自學 - 介面與繼承 介面Java繼承
- 需要同時掌握AVA和Linux,才可以繼續大資料課程的學習Linux大資料
- java學習之道 --- 如何學習java?Java
- JAVA入門學習初步總結3 方法類繼承多型等Java繼承多型
- AnimalController 學習 持續更新Controller
- 學習進度 (待續)
- 學習《Java虛擬機器》目錄索引(持續更新中)Java虛擬機索引
- 繼續完成驗證碼
- 繼續付出真誠,持續提供價值
- 適應時代,學會轉型才能繼續發展
- jmeter學習指南之非GUI命令列執行詳解JMeterGUI命令列
- CSS學習摘要-層疊和繼承CSS繼承
- 九. Go學習:Go中的繼承Go繼承
- Linux運維需要持續學習嗎?Linux學習Linux運維
- 強化學習-學習筆記15 | 連續控制強化學習筆記
- Java學習Java
- 繼續聊聊MVVM和元件化MVVM元件化