您的位置:

java词典,java词典软件

本文目录一览:

Java程序设计电子英汉词典,帮忙根据我的程序写一个frame主类程序,在线等,急!!!

Properties props = new Properties();

Session session = Session.getDefaultInstance(props, null);

Store store = session.getStore("pop3");

store.connect(host, username, password);

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_ONLY);

FetchProfile profile = new FetchProfile();

profile.add(UIDFolder.FetchProfileItem.UID);

profile.add(FetchProfile.Item.ENVELOPE);

if (folder instanceof POP3Folder) {

POP3Folder inbox = (POP3Folder) folder;

Message message[] = inbox.getMessages();

System.out.println("Messages's length: " + message.length);

for (int i = 0; i message.length; i++) {

MimeMessage mimeMessage = (MimeMessage) message[i];

String uid = inbox.getUID(mimeMessage);

System.out.println("uid=" + uid);

int UnreadMessageCount = inbox.getUnreadMessageCount();

System.out.println("UnreadMessageCount="+UnreadMessageCount);

int NewMessageCount = inbox.getNewMessageCount();

System.out.println("NewMessageCount="+NewMessageCount);

URLName urlName = inbox.getURLName();

System.out.println("urlName="+urlName);

}

}

}

一个Java编写的英汉词典

说先说:你的代码有错误,在最下面,我已经该过了,不是大问题。

如果你想学好java的话,可以根据这个代码加上我的注解去理解,但不要学这个代码的变成方式或者说变成习惯,这个代码基本上无误,但犯了一些常识性问题,如果养成了这些不好的习惯对以后的编程会有坏的影响。

我是英文学的java,所以有些注解可能不通顺,但我尽力而为了。 有的注解有点长,所以你复制到编译器后稍微编辑一下就可以运行。代码是可以运行,没有问题的。

------------------------------------

import javax.swing.*; //用来创建图形界面,如窗口,表格,按钮等。

import java.awt.*; //作用同上,但已经很少用,能用swing的地方就不要用awt

import java.awt.event.*;//事件管理和控制

import java.sql.*; //数据库语句和操作

import java.lang.System;//这个不知道

/*下面的这6个没有用,纯属写出来吓人*/

import javax.swing.tree.*;

import javax.swing.event.*;

import java.util.*;

import javax.swing.border.*;

import javax.swing.table.*;

import java.lang.String.*;

class Mywindow extends JFrame implements ActionListener//这个类implements actionlistener,意思就是它自己就可以执行actionListener的任务

{

JTextField txf=new JTextField(20); //建一个文字编辑框,长度20(只可以输入一行文字)

JTextArea jt=new JTextArea(10,30);//建一个文字编辑区域,长10宽30(可以回车然后输入多行文字)

JButton btn1=new JButton("查询");//建一个 查询 按钮

Mywindow()//构造函数,每个类必有的,可以为空

{

JFrame frm=new JFrame("Search");//建一个窗口(让其他的东西有地方可放,和容器一样。是3个最高级别的容器之一,其他两个是applet和window)

frm.setBounds(400,300,450,350);//设置大小和位置,前两个是坐标,后两个是大小

Container con=getContentPane();//建一个awt容器对象,用来添加其他元素,最好用这个添加元素。像:frm.add(all); 可以写成 con.add(all);

JPanel pnl4=new JPanel();//建一个面板用来添加其他元素(第二级别容器,最后需要被添加在frame上)

pnl4.setBorder(BorderFactory.createTitledBorder("Search"));//设置边框样式

pnl4.add(txf);//把文字编辑框添加到面板上

pnl4.add(btn1);//把按钮添加到面板上

btn1.addActionListener(this);//添加事件行为监听器(this),this意思是当前对象,呼应 implements ActionListener

JPanel pnl5=new JPanel();//同上

pnl5.setBorder(BorderFactory.createTitledBorder("Result"));//同上

jt.setWrapStyleWord(true);//这个忘了

jt.setLineWrap(true);//在区域规定的宽度下,如果文字的输入到一行最后则会自动令其一行继续,如果是(false),文字输入就会在这一行继续知道回车

pnl5.add(new JScrollPane(jt));//个这个面板添加右侧滚动条,当文字输入超过 长* 宽后 滚动条出现

JPanel all=new JPanel();//同上

all.setLayout(new BorderLayout());//设置布局,borderlayout()分东西南北(上下左右)中五个部分 无论窗口多大,中间占得面积最大

all.add(pnl4,BorderLayout.NORTH);//添加一个面板在上面

all.add(pnl5,BorderLayout.CENTER);//添加一个在中间

frm.add(all);//把最大的这个面板添加到窗口上 也可以用con.add(all);

frm.setVisible(true);//设置窗口显示属性 如果false就是不显示

frm.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});//加一个窗口监听 如果点小红叉关闭窗口则系统推出

}

public void actionPerformed(ActionEvent e)//作为ActionListener类的构造函数,如果你的class implements ActionListenser, 那就必须得有这个,也可以单独写一个class,不过有点麻烦

{

if(e.getSource()==btn1)//当按钮被点击的时候

{

String str="";//建一个字符串

String tmp=this.txf.getText();//同上,这个字符串的值是当前对象(窗口)中,文本框输入的值

for(int k=0;ktmp.length();k++)//建一个 永久循环

str+=tmp.charAt(k)+"%";//把 % 插入每一个字符后面, 作用后面说

String sql=null;//同上

Statement stmt=null;//定义一个stmt,用来建数据库连接的

sql="select * from chinese where charsound like'"+str+"'";//创建一个sql数据库语句,但它本身还是一个字符串

System.out.println(sql);//系统显示创建的语句,通常找错时候用的

try{//try 和 catch 的作用一句两句说不清楚 不知道你就自己查查

Class.forName("com.mysql.jdbc.Driver");//或者:Class.forName("org.gjt.mm.mysql.Driver");关联mysql数据库驱动

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/japan?user=rootpassword=sa");//建立连接,数据库名japan(为什么不是chinese?)用户名root密码sa

stmt=conn.createStatement();//建立statement对象,用来发送sql语句到数据库

ResultSet rs=stmt.executeQuery(sql);//运行语句并建立一个查询结果的集合

System.out.println("\n------------------------search :"+str+"-------------------------------");//同上

jt.setText("");//清空文本编辑区域

while(rs.next())//while循环,当还有结果的时候,把所有查询结果添加加到文本编辑区域中

{

jt.append(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t");

System.out.print(new String(rs.getString("charname").getBytes("iso-8859-1"),"gb2312")+"\t");

}

stmt.close();//关闭关连,很重要。

}

catch(Exception eq){System.out.println("error");}

//--------------------------------------------------------------end btn1-------

}

}

public static void main(String args[])

{

Mywindow win=new Mywindow();//建立一个 mywindow 对象

win.pack();//将所有元素整合

win.show();

}

}

Java问题电子词典查单词

补充:我没有ACCESS,我用的是odbc直接连接mdb文件,你可以用ACCESS同时操作mdb文件.如果要用到ACCESS,请修改bean中的属性值.

你的东西做的很好

只是数据库连接出了问题

这是我为你的工程写的一个关于数据库的bean

提供了一系列的数据操作方法

该类已经测试成功,只要添加到你的工程里就可以了。希望对你有用。

package lg_cidian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

* 数据库操作的JavaBean类,用于对数据库的查询与更新的实现;

* 该类默认的连接的数据库为odbc连接本地数据文件;

* 该类主要为用户一系列的数据操作提供底层服务.

*

* @version 1.0 2010/06/13

* @author Kiwwor

* @see UserData

*/

public class Access {

//驱动程序类

private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

//连接数据库url

private String connectionUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=en.mdb";

//用户名

private String user = "";

//用户密码

private String password = "";

//数据库连接对象

private Connection connection = null;

//数据库对象

private Statement statement = null;

//数据集对象

private ResultSet resultSet = null;

public String getDriver() {

return driver;

}

public void setDriver(String driver) {

this.driver = driver;

}

public String getConnectionUrl() {

return connectionUrl;

}

public void setConnectionUrl(String connectionUrl) {

this.connectionUrl = connectionUrl;

}

public String getUser() {

return user;

}

public void setUser(String user) {

this.user = user;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Connection getConnection() {

return connection;

}

public void setConnection(Connection connection) {

this.connection = connection;

}

public Statement getStatement() {

return statement;

}

public void setStatement(Statement statement) {

this.statement = statement;

}

public ResultSet getResultSet() {

return resultSet;

}

public void setResultSet(ResultSet resultSet) {

this.resultSet = resultSet;

}

/**

* 获取一个连接对象,默认连接对象本地数据库qq。

* @return 连接是否成功

*/

public boolean createConnection() {

boolean b = false;

try {

Class.forName(driver);

connection = DriverManager.getConnection(connectionUrl, user, password);

b = true;

} catch (Exception e) {

e.printStackTrace();

}

return b;

}

/**

* 更新数据库

* @param sql 更新的sql语句

* @return 更新是否成功

*/

public boolean update(String sql) {

boolean b =false;

try {

statement = connection.createStatement();

statement.execute(sql);

b = true;

} catch (Exception e) {

e.printStackTrace();

}

return b;

}

/**

* 执行查询,将查询的结果集给resultmentSet。

* @param sql 查询的sql语句

*/

public void query(String sql) {

try {

statement = connection.createStatement();

resultSet = statement.executeQuery(sql);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 检测结果集是否为空

* @return true为存在记录

*/

public boolean next() {

boolean b = false;

try {

if (resultSet.next()) b = true;

} catch (Exception e) {

e.printStackTrace();

}

return b;

}

/**

* 获得结果集中当前行columnLabel的记录

* @param columnLabel 当前行要查询的列名.

* @return 查询的列值

*/

public String getValue(String columnLabel) {

String value = null;

try {

if (resultSet != null) value = resultSet.getString(columnLabel);

} catch (Exception e) {

e.printStackTrace();

}

return value;

}

/**

* 获得结果集中当前行columnIndex的记录

* @param columnIndex 当前行查询的列索引,第一列为1,第二列为2...

* @return 查询的列值

*/

public String getValue(int columnIndex) {

String value = null;

try {

if (resultSet != null) value = resultSet.getString(columnIndex);

} catch (Exception e) {

e.printStackTrace();

}

return value;

}

/**

* 关闭连接对象

*/

public void closeConnection() {

try {

if (connection != null) connection.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 关闭数据库对象

*/

public void closeStatement() {

try {

if (statement != null) statement.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 关闭结果集

*/

public void closeResultSet() {

try {

if (resultSet != null) resultSet.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 关闭数据连接对象,数据库对象和数据结果集对象。

*/

public void closeAll() {

closeResultSet();

closeStatement();

closeConnection();

}

/**

* 测试该类函数。

* @param args

*/

public static void main(String[] args) {

Access db = new Access();

if (db.createConnection()) {

System.out.println("测试数据库连接成功.");

}

db.closeAll();

}

}

用java编写英汉词典,实现英汉互译,不能使用数据库!!!!

IO流 + 文件操作

问题是你的字典要多大

1:如果数据量很小(小于1000),直接设置一个文件,然后全部读入内存中,接下来是二分还是hash都好

2:如果数据量比较大的话,可以用多个文件,或者设置一个类似目录的块(

a 1

b 72

.........

)放在文件头,省的把所有文件读入内存,然后用什么读什么就行

给的分太少啦,就简单说说思路啦

java编程词典个人版如何跳过注册码

用文件夹内的exe替换安装目录的同名文件。

java编程词典个人版直接用文件夹内的exe替换安装目录的同名文件不需要客户获取注册码即可直接打开。

《Java编程词典(个人版)》是明日科技为Java各级程序开发人员和编程爱好者开发的专业编程资源库,它提供了海量的开发资源、丰富的实例项目、灵活的查询方式、多样的学习模式,既可以帮助零基础者快速入门,又可以帮助有一定基础者快速提升开发水平,更适合各级程序开发人员随时检索查询,随时粘贴复用。Java编程词典个人版是程序开发人员的左膀右臂,软件工程师必备的专业指南。