版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Dictionary项目源文件一 项目名称英汉词典二、主要构成运行效果1、三、项目介绍本项目使用文件存储数据1、 Dictionary类,包含对单词的各种操作,如添加单词,查询单词,删除单词2、 Swing类,窗体界面类运行效果图如下3、 Tools类,文件储存工具类4、 Word单词属性类5、 UI,此UI为控制台版本词典,如不需窗体可以使用此类,运行效果Dictionary类源代码package Dictionary;/*引用请注明原作者-爱露YS*/import java.util.*;public class Dictionary List<Word> list =new
2、ArrayList<Word> ();/建立动态链表public List<Word> getList() return list;public void setList(List<Word> list) this.list = list;public Dictionary() super();public Dictionary(Word word) public Word addWord(Word word) /1、增加单词 list.add(word) ; /输出新增加的单词 return word; public Word searchWord(Str
3、ing str ) /2、查找单词/if (input_ce !=null) 不需要判空 for (int j = 0; j < list.size(); j+) if(str.equals(Word) list.get(j).getcWord()|(Word) list.get(j).geteWord().equalsIgnoreCase(str) return (Word) list.get(j); return null;public String sysoAllWrod() /3、输出全部单词List <Word> list= getList( ); for(Word
4、 word : list)return word.toString();return null;public boolean deleWord(String Deleword) /4、删除单词/if (input_ce !=null) 不需要判空 for (int j = 0; j < list.size(); j+) if(Deleword.equals(Word) list.get(j).getcWord()|(Word) list.get(j).geteWord().equalsIgnoreCase(Deleword) list.remove(list.get(j); return
5、 true; return false; public void clearWord() /5、清空单词list.clear();public void changeWord(int i,String cword,String eword) /6、修改单词 this.list.get(i).setcWord(cword); this.list.get(i).seteWord(eword ) ;public void chioceWord(int i,Word word)(Word) list).setcWord(word. getcWord();(Word) list).seteWord(wo
6、rd.geteWord();Swing类源代码package Dictionary;/*引用请注明原作者-爱露YS*/import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.io.IOException;import javax.swing.*;public class Swing Dictionary dictionar
7、y=new Dictionary();Tools tools =new Tools();private static JFrame jf;private static JFrame jf_creat_add;private static JFrame jf_creat_dele;private static JFrame jf_creat_clear;private static Font font;private static Font font_2;private static JTextField txtArea_1;private static JTextArea txtArea_2;
8、private static JTextField textFieldCword;private static JTextField textFieldEword;private static JTextField textFieldDele;private static Label label_2;private static JButton button_1;private static JButton button_2;private static JButton button_3;private static JButton button_4;private static JButto
9、n button_5;private static JButton button_6;private static JButton button_7;private static JButton button_8;private static JButton button_9;private static JButton button_10;private static JButton button_clear_ok;private static JButton button_clear_no;public void CreateJFrame(String title) throws IOEx
10、ception tools.ReadertoFile(dictionary.getList(), "d:/Java词典文件/文件/dic.txt"); jf=new JFrame(title);/Container container= jf.getContentPane();/获取一个容器ImageIcon ic = new ImageIcon("D:Java词典文件图片词典背景.png"); JLabel label=new JLabel(ic); label.setHorizontalAlignment(SwingConstants.CENTER)
11、;/居中 / label.setIcon(ic); /把标签的大小位置设置为图片刚好填充整个面 label.setBounds(0, 0, ic.getIconWidth(), ic.getIconHeight(); /添加图片到frame的第二层 jf.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE); /获取frame的最上层面板为了设置其背景颜色(JPanel有设置透明的方法) JPanel jp=(JPanel) jf.getContentPane(); jp.setOpaque(false);/设置透明 /弹窗 /JO
12、ptionPane.showMessageDialog(null, "<html><B> <font size='15'>欢迎使用英汉词典!</font> </B></html>"); / container.setBackground(Color.white);/背景颜色 /jf.setLayout(new BorderLayout();/边界布局 BorderLayout bl_1=new BorderLayout();/边界布局 FlowLayout fl_1=new FlowLa
13、yout();/流布局 FlowLayout fl_2=new FlowLayout(); FlowLayout fl_3=new FlowLayout(1,20,10); JPanel content_1=new JPanel(bl_1); JPanel content_2=new JPanel(fl_1); JPanel content_3=new JPanel(fl_2); JPanel content_4=new JPanel(fl_3); jf.setContentPane(content_1); content_1.setOpaque(false); content_2.setOp
14、aque(false); content_3.setOpaque(false); content_4.setOpaque(false); font = new Font("宋体", Font.BOLD, 15); font_2 = new Font("宋体", Font.BOLD, 25); txtArea_1=new JTextField("欢迎使用英汉词典!",20); txtArea_2=new JTextArea(11,32); label_2=new Label("请输入:"); button_1=new
15、 JButton("查询" ); button_2=new JButton("添加单词"); button_3=new JButton("删除单词"); button_4=new JButton("全部单词"); button_5=new JButton("清空单词"); button_6=new JButton("退出"); label_2.setFont(font); txtArea_1.setOpaque(false); txtArea_2.setOpaque(fals
16、e);/结果文本框透明显示 JScrollPane jspane =new JScrollPane( txtArea_2 );/带滚动条的面板 jspane.setOpaque(false);/透明 jspane.getViewport().setOpaque(false);/透明 /txtArea_1.setLineWrap(false);/自动换行 / txtArea_2.setLineWrap(true); txtArea_2.setEditable(false);/不允许编辑 txtArea_1.setFont(font_2); txtArea_2.setFont(font_2); t
17、xtArea_2.setForeground(Color.white);/文本域字体颜色 content_1.add(BorderLayout.NORTH,content_2); content_1.add(BorderLayout.CENTER,content_3); content_1.add(BorderLayout.SOUTH,content_4); content_2.add(label_2); content_2.add(txtArea_1); content_2.add(button_1); content_3.add(jspane); content_4.add(button_
18、2); content_4.add(button_3); content_4.add(button_4); content_4.add(button_5); content_4.add(button_6); /txtArea.setBackground( Color.white); /* jf.setLayout(new FlowLayout(0,20,13); container.add(label_2); container.add(txtArea_1); container.add(button_1); container.add(jspane); container.add(butto
19、n_2); container.add(button_3); container.add(button_4); container.add(button_5); container.add(button_6);*/ jf.setResizable(false);/不允许改变窗口大小 jf.setSize(578, 465); jf. setVisible(true);/使窗体可见 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);/关闭方式/按钮1查询public void ActionButton_1( ) button_1
20、.addActionListener(new button_1Action();class button_1Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) dictionary.searchWord(txtArea_1.getText(); if (dictionary.searchWord(txtArea_1.getText()!=null) String serchstring= dictionary.searchWord(txtArea_1.getText().getcWord()
21、+"-"+dictionary.searchWord(txtArea_1.getText().geteWord();txtArea_2.setText(serchstring ); else txtArea_2.setText("没有此单词!" ) ;/ dictionary.searchWord(txtArea_2.getText().getcWord()+dictionary.searchWord(txtArea_2.getText().geteWord()public void ActionTxtArea_1_Mouse() /单击文本框txtAr
22、ea_1.addMouseListener(new java.awt.event.MouseAdapter()public void mouseClicked( java.awt.event.MouseEvent e) txtArea_1.setText(""););/监听文本框按键操作txtArea_1.addKeyListener(new KeyListener() public void keyTyped(KeyEvent e) / TODO Auto-generated method stub if(e.getSource()=txtArea_1) dictiona
23、ry.searchWord(txtArea_1.getText(); if (dictionary.searchWord(txtArea_1.getText()!=null) String serchstring= dictionary.searchWord(txtArea_1.getText().getcWord()+"-"+dictionary.searchWord(txtArea_1.getText().geteWord();txtArea_2.setText(serchstring ); else txtArea_2.setText("没有此单词!&quo
24、t; ) ; public void keyReleased(KeyEvent e) / TODO Auto-generated method stubpublic void keyPressed(KeyEvent e) / TODO Auto-generated method stub);/按钮2新建弹窗 增加单词public void ActionButton_2( ) button_2.addActionListener(new button_2Action();class button_2Action implements ActionListenerpublic void actio
25、nPerformed(ActionEvent arg0) ActionButton_6_Quit( );CreatJFrame_Add();ActionButton_7( );ActionButton_8( );/删除单词public void ActionButton_3( ) button_3.addActionListener(new button_3Action();class button_3Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) CreatJFrame_Dele();
26、ActionButton_9( );ActionButton_10( );/显示全部单词public void ActionButton_4( ) button_4.addActionListener(new button_4Action();class button_4Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) String str=new String();StringBuffer sBuffer = new StringBuffer();for (int j = 0; j &l
27、t; dictionary.list.size(); j+) str=dictionary.getList().get(j).toString();/.getcWord()+"-"+dictionary.getList().get(j).geteWord();sBuffer.append(str+"n");if (sBuffer.toString().length()!=0) txtArea_2.setText(sBuffer.toString() ); else txtArea_2.setText("词典内没有单词!");/清空单词
28、public void ActionButton_5( ) button_5.addActionListener(new button_5Action();class button_5Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) CreatJFrame_Clear(); ActionButton_clear_no( ); ActionButton_clear_ok( );/添加单词确认按钮public void ActionButton_7( ) button_7.addActionL
29、istener(new button_7Action();class button_7Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) if (textFieldCword.getText().length()=0|textFieldEword.getText().length()=0) JOptionPane.showMessageDialog(null, "<html><B> <font size='7'>请输入完整的单词!
30、</font> </B></html>");elseWord word =new Word(textFieldCword.getText(),textFieldEword.getText();dictionary.addWord(word);tools.SaveToFile("d:/Java词典文件/文件/dic.txt", dictionary.getList();JOptionPane.showMessageDialog(null, "<html><B> <font size='
31、;12'>添加成功!</font> </B></html>");/jf_creat_add.dispose();/添加单词取消按钮public void ActionButton_8( ) button_8.addActionListener(new button_8Action();class button_8Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) jf_creat_add.dispose();/删除单词确认按钮pub
32、lic void ActionButton_9( ) button_9.addActionListener(new button_9Action();class button_9Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) if (textFieldDele.getText().length()!=0&&dictionary.deleWord(textFieldDele.getText()=true) dictionary.deleWord(textFieldDele.
33、getText();JOptionPane.showMessageDialog(null, "<html><B> <font size='12'>删除成功!</font> </B></html>");tools.SaveToFile("d:/Java词典文件/文件/dic.txt", dictionary.getList();jf_creat_dele.dispose();else if(textFieldDele.getText().length()=0) JOpt
34、ionPane.showMessageDialog(null, "<html><B> <font size='9'>请输入需要删除的单词!</font> </B></html>");else if (textFieldDele.getText().length()!=0&&dictionary.deleWord(textFieldDele.getText()=false)JOptionPane.showMessageDialog(null, "<html&
35、gt;<B> <font size='11'>单词不存在!</font> </B></html>");/删除单词取消按钮public void ActionButton_10( ) button_10.addActionListener(new button_10Action();class button_10Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) jf_creat_dele.dispose()
36、;/清空单词取消按钮public void ActionButton_clear_no( ) button_clear_no.addActionListener(new button_clear_noAction();class button_clear_noAction implements ActionListenerpublic void actionPerformed(ActionEvent arg0) jf_creat_clear.dispose(); /清空单词确认按钮 public void ActionButton_clear_ok( ) button_clear_ok.add
37、ActionListener(new Button_clear_okAction();class Button_clear_okAction implements ActionListenerpublic void actionPerformed(ActionEvent arg0) dictionary.clearWord(); tools.SaveToFile("d:/Java词典文件/文件/dic.txt", dictionary.getList(); JOptionPane.showMessageDialog(null, "<html><B
38、> <font size='12'>删除成功!</font> </B></html>"); jf_creat_clear.dispose();/退出public void ActionButton_6_Quit( ) button_6.addActionListener(new button_6Action();class button_6Action implements ActionListenerpublic void actionPerformed(ActionEvent arg0) jf.dispose(
39、);/弹窗public void CreatJFrame_Add() jf_creat_add=new JFrame("添加单词" );/Container container_2= jf.getContentPane();/获取一个容器ImageIcon ic = new ImageIcon("D:Java词典文件图片1.jpg"); JLabel label=new JLabel(ic); label.setHorizontalAlignment(SwingConstants.CENTER);/居中 / label.setIcon(ic); /把标签
40、的大小位置设置为图片刚好填充整个面 label.setBounds(0, 0, ic.getIconWidth(), ic.getIconHeight(); /添加图片到frame的第二层 jf_creat_add.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE); /获取frame的最上层面板为了设置其背景颜色(JPanel有设置透明的方法) JPanel jp=(JPanel) jf_creat_add.getContentPane(); jp.setOpaque(false);/设置透明 BorderLayout bl_1
41、=new BorderLayout();/边界布局 BorderLayout bl_2=new BorderLayout(); BorderLayout bl_3=new BorderLayout(); FlowLayout fl_1=new FlowLayout(1,10,30);/流布局 FlowLayout fl_2=new FlowLayout(1,10,30); FlowLayout fl_3=new FlowLayout(1,100,60); JPanel content=new JPanel(bl_1); JPanel content_1=new JPanel(bl_2); JP
42、anel content_2=new JPanel(bl_3); JPanel content_3=new JPanel(fl_1); JPanel content_4=new JPanel(fl_2); JPanel content_5=new JPanel(fl_3); jf_creat_add.setContentPane(content); content.add(BorderLayout.CENTER,content_1); content_1.add(BorderLayout.CENTER,content_2); content_1.add(BorderLayout.NORTH,c
43、ontent_3); content_1.add(BorderLayout.CENTER,content_4); content_1.add(BorderLayout.SOUTH,content_5); / content_1.add(BorderLayout.CENTER,content_3); textFieldCword=new JTextField(20); textFieldEword=new JTextField(20); JLabel label_cword=new JLabel("请输入中文:"); JLabel label_eword=new JLabel
44、("请输入英文:"); font = new Font("宋体", Font.BOLD, 20); textFieldCword.setFont(font); textFieldEword.setFont(font); textFieldCword.setOpaque(false); textFieldEword.setOpaque(false); button_7=new JButton("确定"); button_8=new JButton("退出"); content_3.add(label_cword);
45、content_3.add(textFieldCword); content_4.add(label_eword); content_4.add(textFieldEword); content_5.add(button_7); content_5.add(button_8); content.setOpaque(false); content_1.setOpaque(false); content_2.setOpaque(false); content_3.setOpaque(false); content_4.setOpaque(false); content_5.setOpaque(fa
46、lse); jf_creat_add.setResizable(false);/不允许改变窗口大小 jf_creat_add.setSize(454, 333); jf_creat_add. setVisible(true);/使窗体可见 /删除public void CreatJFrame_Dele() jf_creat_dele=new JFrame("删除单词" );/Container container_2= jf.getContentPane();/获取一个容器ImageIcon ic = new ImageIcon("D:Java词典文件图片1.jp
47、g"); JLabel label=new JLabel(ic); label.setHorizontalAlignment(SwingConstants.CENTER);/居中 / label.setIcon(ic); /把标签的大小位置设置为图片刚好填充整个面 label.setBounds(0, 0, ic.getIconWidth(), ic.getIconHeight(); /添加图片到frame的第二层 jf_creat_dele.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE); /获取frame的最上层
48、面板为了设置其背景颜色(JPanel有设置透明的方法) JPanel jp=(JPanel) jf_creat_dele.getContentPane(); jp.setOpaque(false);/设置透明 BorderLayout bl_1=new BorderLayout();/边界布局 BorderLayout bl_2=new BorderLayout(); FlowLayout fl_1=new FlowLayout(1,10,10);/流布局 FlowLayout fl_2=new FlowLayout(1,2,30); FlowLayout fl_3=new FlowLayou
49、t(1,100,30); JPanel content=new JPanel(bl_1); JPanel content_1=new JPanel(bl_2); JPanel content_3=new JPanel(fl_1); JPanel content_4=new JPanel(fl_2); JPanel content_5=new JPanel(fl_3); jf_creat_dele.setContentPane(content); content.add(BorderLayout.CENTER,content_1); content_1.add(BorderLayout.NORTH,content_3); content_1.add(BorderLayout.CENTER,content_4); content_1.add(BorderLayout.SOUTH,content_5); / content_1.add(BorderLayout.CENTER,content_3); textFieldDele =new JTextField(20); textFieldDele.setOpaque(false); JLabel label_Dele=new JLabel("请输入中文或英文:"); font = new Font(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版主题餐厅创意设计承包合同模板3篇
- 二零二五年度房地产抵押借款养老产业合作合同3篇
- 二零二五年度社区物业纠纷调解与处理服务合同2篇
- 二零二五年度安全员劳务派遣合同参考3篇
- 2025版宝钢集团劳动合同解除条件与经济补偿标准合同2篇
- 委托代持合同(2篇)
- 二零二五年度进口食品质量保证协议范本2篇
- 二零二五年度食品原料供货合作协议书2篇
- 二零二五年度酒店会议住宿及商务接待合同3篇
- 2025届初中语文一轮复习 句子专题特训营-句子排序(5)(含解析)
- 培训机构年终会议
- 2025河南荥阳市招聘第二批政务辅助人员211人高频重点提升(共500题)附带答案详解
- JJF 2180-2024婴儿辐射保暖台校准规范
- 2024年财政部会计法律法规答题活动题目及答案一
- 中建X局设计参数指标库
- 2025年八省联考新高考语文试题解读及备考启示
- 2025年江西江铜集团招聘笔试参考题库含答案解析
- 教育技术研究员合同模板
- 【MOOC期末】《电子技术实习SPOC》(北京科技大学)期末慕课答案
- 和达投资集团(杭州)有限公司招聘笔试冲刺题2025
- 联席会议制度及职责(3篇)
评论
0/150
提交评论