Java课程设计 您所在的位置:网站首页 英语单词数据库设计 Java课程设计

Java课程设计

2024-07-18 07:04| 来源: 网络整理| 查看: 265

登陆界面是Login.java文件,登陆账号为001,密码为123。

Login.java

import java.awt.Font; import java.awt.GridLayout; import javax.swing.*; import java.awt.event.*; public class Login extends JFrame{ JPanel jp0,jp1,jp2,jp3; JLabel jlb1,jlb2; JButton jb1,jb2; JTextField jtf1,jtf2; JPasswordField jpf1; public void login() { jp0=new JPanel(); jp1=new JPanel(); jp2=new JPanel(); jp3=new JPanel(); jlb1=new JLabel("用户名"); jlb2=new JLabel("密 码"); jb1=new JButton("登录"); jb2=new JButton("取消"); jtf1=new JTextField(20); jpf1=new JPasswordField(20); //设置布局管理 this.setLayout(new GridLayout(4,1)); jp1.add(jlb1); jp1.add(jtf1); jp2.add(jlb2); jp2.add(jpf1); jp3.add(jb1); jp3.add(jb2); jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jtf1.getText().equals("001")) { if (String.valueOf(jpf1.getPassword()).equals("123")) { JOptionPane.showMessageDialog(null, "登陆成功", "恭喜", JOptionPane.INFORMATION_MESSAGE); setVisible(false); Menu menu = new Menu(); menu.menu(); } else { JOptionPane.showMessageDialog(null, "用户名密码错误!", "提示", JOptionPane.ERROR_MESSAGE); } } } }); jb2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jtf1.setText(null); jpf1.setText(null); } }); //加入到JFrame this.add(jp0); this.add(jp1); this.add(jp2); this.add(jp3); this.setTitle("登录界面"); this.setSize(500,300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); this.setVisible(true); this.setResizable(false); } public static void main(String[] args) { // TODO 自动生成的方法存根 Font font = new Font("宋体",Font.PLAIN,20); UIManager.put("Button.font", font); UIManager.put("TextField.font", font); UIManager.put("PasswordField.font", font); UIManager.put("TextArea.font", font); UIManager.put("Menu.font", font); UIManager.put("MenuItem.font", font); Login log=new Login(); log.login(); } }

登陆成功与失败会弹框提示。

登陆成功后创建主菜单对象。

Menu.java

import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.IOException; class Menu extends JFrame{ //菜单 JMenuBar menuBar=new JMenuBar(); JMenu fileMenu,editMenu,helpMenu; JMenuItem fileEnglish,fileChinese,exit,editShow,editAdd,editMod,editDel,helpItem; JTextField inputText; JTextArea textArea; JLabel label1,label2; JButton btn1; JPanel p1,p2; Display display; Add add; Modify modify; Delete delete; Dictionary dic = new Dictionary(); public void menu(){ this.setJMenuBar(menuBar); fileMenu=new JMenu("文件(F)"); editMenu=new JMenu("编辑(E)"); helpMenu=new JMenu("帮助(H)"); fileEnglish=new JMenuItem("英汉词典"); fileChinese=new JMenuItem("汉英词典"); exit=new JMenuItem("退出"); editShow=new JMenuItem("显示词汇"); editAdd=new JMenuItem("添加词汇"); editMod=new JMenuItem("修改词汇"); editDel=new JMenuItem("删除词汇"); helpItem=new JMenuItem("使用帮助"); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(helpMenu); fileMenu.add(fileEnglish); fileMenu.add(fileChinese); fileMenu.addSeparator(); fileMenu.add(exit); editMenu.add(editShow); editMenu.add(editAdd); editMenu.add(editMod); editMenu.add(editDel); helpMenu.add(helpItem); dic.load(); fileEnglish.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label1.setText("请输入要查询的单词:"); } }); fileChinese.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label1.setText("请输入要查询的汉译:"); } }); editShow.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { display = new Display(); display.display(); Word head = dic.show(); Word p = head; int n = 0; while(head.next != null){ head = head.next; n++; } for(int i = 0; p.next != null && i < n; i++){ if(p.next.name.length()0){ temp.name = p.name; temp.explain = p.explain; p.name = q.name; p.explain = q.explain; q.name = temp.name; q.explain = temp.explain; } } } return head; } public void add(String n,String e){ Word word = new Word(null); word.name = n; word.explain = e; Word p = head; while(p.next != null){ p = p.next; } p.next = word; } public String search1(String n){ Word p = head; int i = 0; while(p.next != null){ p = p.next; if(p.name.equals(n)){ i = 1; return p.explain; } } if(i == 0){ return "查找失败!"; } return n; } public String search2(String n){ Word p = head; int i = 0; while(p.next != null){ p = p.next; if(p.explain.equals(n)){ i = 1; return p.name; } } if(i == 0){ return "查找失败!"; } return n; } public int change(String n,String e){ Word p = head; Word q = p.next; int i = 0; while(p.next != null){ if(q.name.equals(n)){ q.explain = e; i = 1; break; } p = q; q = p.next; } return i; } public boolean delete(String n){ Word p = head; Word q = p.next; while(p.next != null){ if(q.name.equals(n)){ p.next = q.next; return true; } p = q; q = p.next; } return false; } public void load(){ File file = new File("dictionary.txt"); Reader in; try { if(!file.exists()){ file.createNewFile(); } in = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(in); String str = null; while((str = bufferedReader.readLine()) != null){ Word p = new Word(null); p.name = str; if((str = bufferedReader.readLine()) != null){ p.explain = str; p.next = head.next; head.next = p; } } // if((str = bufferRead.readLine()) != null){ // p.redio = str; // p.next = head.next; // head.next = p; // } bufferedReader.close(); in.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void save(){ File file = new File("dictionary.txt"); try { Writer out = new FileWriter(file); BufferedWriter bufferedWriter = new BufferedWriter(out); Word p = head; Word q = p.next; while(p.next != null){ bufferedWriter.append(q.name); bufferedWriter.newLine(); bufferedWriter.append(q.explain); bufferedWriter.newLine(); p = q; q = p.next; } out.flush(); bufferedWriter.flush(); bufferedWriter.close(); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Word.java包括对单词的set()和get()方法。 public class Word { String name; String explain; // String redio; Word next; public Word(Word next){ this.next = next; } public Word(String name,String explain,Word next){ this.name = name; this.explain = explain; this.next = next; } public Word getNext(){ return this.next; } public void setNext(Word next){ this.next = next; } public String getName(){ return this.name; } // public String getRidio(){ // return redio; //} public void setName(String name){ this.name = name; } public String getExplain(){ return this.explain; } public void setExplain(String explain){ this.explain = explain; } }

文件数据是用dictionary.txt文本文件存储的。注意:应该一行英文对应一行汉语翻译!

文本截图如下:

程序界面截图如下:

主页界面:

三个导航对应相应功能,截图如下:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有