注释代码: protected void confirmButton(ActionEvent ae) { // TODO Auto-generated method stub String studentname=this.UserName.getText(); String studentpassword=this.UserPsd.getText(); UserType userType=(UserType) this.UserTypeComb.getSelectedItem(); User username=new User(studentname,studentpassword); Connection con = null; try { con=dbUntil.getConnection(); int n=UserDao(con, username); String sqlStr="insert into s_user(NAME,PASSWORD) values('"+studentname+"','"+studentpassword+"')"; if(n==2){ JOptionPane.showMessageDialog( null, "用户名已存在,请重新注册"); UserName.setText(""); UserPsd.setText(""); }else if(n==1){ JOptionPane.showMessageDialog( null, "注册失败"); UserName.setText(""); UserPsd.setText(""); }else { JOptionPane.showMessageDialog( null, "注册成功"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } try { } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return ; }
时间: 2024-03-18 09:44:42 浏览: 69
这段代码是一个Java方法,名为confirmButton,它接受一个ActionEvent类型的参数,没有返回值(即返回类型为void)。在方法中,首先声明了一个名为studentname的字符串类型变量,它的值是从界面上获取的用户名文本框(UserName)的内容。接着声明了一个名为studentpassword的字符串类型变量,它的值是从界面上获取的用户密码文本框(UserPsd)的内容。
然后,从界面上获取了用户类型的组合框(UserTypeComb)中选中的选项,并将其转化为枚举类型UserType。接下来,创建了一个User类型的对象,传入了用户名和密码作为参数,并赋值给了名为username的变量。
接下来,创建了一个名为con的Connection类型的变量,并使用dbUntil类的getConnection方法获取数据库连接。然后调用了一个名为UserDao的方法,传入了con和username作为参数,并将返回值赋值给了一个名为n的整型变量。
接下来,根据n的值执行不同的代码块。如果n等于2,则说明用户名已存在,弹出一个消息框提示用户重新注册,并清空用户名和密码文本框的内容。如果n等于1,则说明注册失败,弹出一个消息框提示用户重新注册,并清空用户名和密码文本框的内容。如果n等于0,则说明注册成功,弹出一个消息框提示用户注册成功。
最后,使用try-catch块处理了可能出现的异常,并在最后返回。在方法的注释中,TODO表示这是一个待完成的任务,需要程序员完善其功能。
相关问题
package 作业5; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import java.io.File; import java.util.HashMap; import java.util.Scanner; import java.io.File; import java.util.HashMap; import java.util.Scanner; public class Example13_7{ public static void main( String args []){ WindowWord win = new WindowWord(); win.setTitle("英﹣汉小字典"); } } class WindowWord extends JFrame{ JTextField inputText,showText; WordPolice police; public WindowWord(){ setLayout(new FlowLayout()); inputText = new JTextField(6); showText = new JTextField(6); showText.setColumns(15); add(inputText); add(showText); police = new WordPolice(); police.setView(this); inputText.addActionListener(police); setBounds(100,100,400,280); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class WordPolice implements ActionListener { WindowWord view; HashMap<String,String>hashtable; File file = new File ("E:\\JAVA\\上机\\作业5\\cet4.txt"); Scanner sc = null ; WordPolice () { hashtable = new HashMap< String,String >(); //System.out.println(hashtable.size()); try { sc = new Scanner ( file ); //System.out.println(sc); while (sc.hasNext ()) { String englishWord = sc . next (); String chineseWord = sc . next (); hashtable . put ( englishWord , chineseWord ); } HashMap<String,String> reversedHashtable = new HashMap<String,String>(); for (String key : hashtable.keySet()) { String value = hashtable.get(key); reversedHashtable.put(value, key); } hashtable.putAll(reversedHashtable); } catch(Exception e ) {} } public void setView(WindowWord view) { this.view = view; } public void actionPerformed(ActionEvent e) { String inputWord = view.inputText.getText (); if(hashtable.containsKey(inputWord)) { String outputWord = hashtable.get ( inputWord ); view.showText.setText (outputWord ); } else { String chineseWord = inputWord; for (String key : hashtable.keySet()) { String value = hashtable.get(key); if (value.equals(chineseWord)) { view.showText.setText(key); return; } } view.showText.setText ("没有此单词"); } } }把这段代码完善一下,让它能实现汉语翻译为英语,英语也能翻译为汉语,GUI界面不变
完善后的代码如下:
```
package 作业5;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.io.File;
import java.util.HashMap;
import java.util.Scanner;
public class Example13_7{
public static void main( String args []){
WindowWord win = new WindowWord();
win.setTitle("英﹣汉小字典");
}
}
class WindowWord extends JFrame{
JTextField inputText,showText;
WordPolice police;
public WindowWord(){
setLayout(new FlowLayout());
inputText = new JTextField(6);
showText = new JTextField(6);
showText.setColumns(15);
add(inputText);
add(showText);
police = new WordPolice();
police.setView(this);
inputText.addActionListener(police);
setBounds(100,100,400,280);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class WordPolice implements ActionListener {
WindowWord view;
HashMap<String,String> hashtable;
File file = new File("E:\\JAVA\\上机\\作业5\\cet4.txt");
Scanner sc = null ;
WordPolice () {
hashtable = new HashMap<String,String>();
try {
sc = new Scanner(file);
while (sc.hasNext()) {
String englishWord = sc.next();
String chineseWord = sc.next();
hashtable.put(englishWord, chineseWord);
}
HashMap<String,String> reversedHashtable = new HashMap<String,String>();
for (String key : hashtable.keySet()) {
String value = hashtable.get(key);
reversedHashtable.put(value, key);
}
hashtable.putAll(reversedHashtable);
} catch(Exception e ) {}
}
public void setView(WindowWord view) {
this.view = view;
}
public void actionPerformed(ActionEvent e) {
String inputWord = view.inputText.getText();
if(hashtable.containsKey(inputWord)) {
String outputWord = hashtable.get(inputWord);
view.showText.setText(outputWord);
} else {
String chineseWord = inputWord;
for (String key : hashtable.keySet()) {
String value = hashtable.get(key);
if (value.equals(chineseWord)) {
view.showText.setText(key);
return;
}
}
for (String value : hashtable.values()) {
if (value.equals(inputWord)) {
String outputWord = hashtable.get(value);
view.showText.setText(outputWord);
return;
}
}
view.showText.setText("没有此单词");
}
}
}
```
主要的改动在 `WordPolice` 类中,增加了对汉语翻译为英语的处理。在没有找到对应单词时,先按照输入的汉语查找对应的英语单词,如果找到了,就将其翻译为中文输出;如果还没有找到,就按照输入的英语单词查找对应的汉语,如果找到了,就将其翻译为英文输出。如果还是没有找到,就输出提示信息“没有此单词”。
public void actionPerformed(ActionEvent e) { if (e.getSource() == generateButton) { int n = Integer.parseInt(textfield.getText()); generateSpiralMatrix(n); } else if (e.getSource() == saveButton) { int returnVal = fileChooser.showSaveDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { saveTableDataToFile(file); } catch (FileNotFoundException ex) { ex.printStackTrace(); } } } else if (e.getSource() == openButton) { int returnVal = fileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { readIntegersFromFile(file); } catch (FileNotFoundException ex) { ex.printStackTrace(); } } } }是什么意思
这段代码是一个 Java GUI 程序中的事件处理方法(event handler method)。当用户在程序中触发了某些事件(如点击按钮),该方法会被调用来处理该事件。
具体来说,该方法根据触发事件的来源(e.getSource())来判断用户点击了哪个按钮,然后根据不同按钮的功能执行不同的操作。具体如下:
- 如果用户点击了 generateButton 按钮,则从文本框中获取一个整数 n,并调用 generateSpiralMatrix(n) 方法来生成一个螺旋矩阵。
- 如果用户点击了 saveButton 按钮,则弹出一个文件选择对话框,让用户选择一个文件,然后调用 saveTableDataToFile(file) 方法将表格数据保存到该文件中。
- 如果用户点击了 openButton 按钮,则弹出一个文件选择对话框,让用户选择一个文件,然后调用 readIntegersFromFile(file) 方法从该文件中读取整数数据。
总之,该方法的作用是根据用户的操作来执行相应的功能,以实现程序的交互性。
阅读全文