`
mefly
  • 浏览: 148282 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

helloword入门系列之swing 入门 简单的桌面小词典—附源码

 
阅读更多

今天本来想继续昨天的struts1 系列,不过最近在研究swing,有了一点小心得,正好记录下来。

写web 项目做多了,就会有一种对羡慕,对桌面程序那种快速反应的向往。看到web页面载入时的那个慢呀,真是受不了。不过java做桌面程序还比dephi,c++,c#之流的还是差了些(个人感觉),当然了,如果你是高手,树枝都能变成剑。

入门肯定要做个小东西这类的,我今天就来个桌面词典,大致思路 是用户输入一个单词,点击按钮,调用网络api进行翻译,因为自己写个翻译的比较麻烦。所以远行这个软件要求连网。

 

swing 中能访问url 的组件有JEditorPane,这个组件是显示文本的pane。但是解析html的效果,真是很难看,

看下面代码:

 

package swing.component;

//这段程序代码主要向读者展示如何创建一个带URL地址的JEditorPane组件
import java.awt.event.WindowAdapter;

public class JEditorPaneTest {
	public static void main(String[] args) {
		JEditorPane editPane = null;
		try {
			URL address = new URL("http://www.google.com");
			editPane = new JEditorPane(address); // 创建一个带URL地址的JEditorPane组件
		} catch (MalformedURLException e) {
			System.out.println("Malformed URL:" + e);
		} catch (IOException e) {
			System.out.println("IOException:" + e);
		}
		editPane.setEditable(false);
		JFrame f = new JFrame("网页测试窗口");
		f.setContentPane(new JScrollPane(editPane));
		f.setSize(200, 250);
		f.setVisible(true);
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}
}
 

 


 

看到了吧,真是很难看。

不过人类的智慧是很强的,有了jdic,有切又有希望了,jdic是一个桌面程序加强本地化的工具包。

 

直接上代码

 

package swing.component;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

import org.jdesktop.jdic.browser.WebBrowser;

/**
 * 引用dist
 * 内嵌ie浏览器的例子,只能把ie设为默认浏览器,一个在线翻译的小工具
 *
 */
public class IEBrowserTest extends JFrame {
	private WebBrowser browser = null;
	private JTextField jtf =null;
	private JButton jb =null;
	
	public IEBrowserTest() {
		browser = new WebBrowser();//jdic 的browser
		this.setTitle("小词典");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLayout(new FlowLayout());//流式布局
		browser.setSize(450, 400);
		jtf = new JTextField(30);
		this.add(jtf);
		jb = new JButton("翻译");
		jb.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				try {
					if (jtf.getText()!=null && !"".equals(jtf.getText())){
						browser.setURL(new URL("http://dict.cn/mini.php?q="+jtf.getText()));//调用辞海的翻译
					}
				} catch (MalformedURLException e1) {
					e1.printStackTrace();
				}
				
			}
			
		});
		this.add(jb);
		this.add(browser);
		this.pack();
		this.setSize(500, 500);
		this.setVisible(true);
	}
	
	public static void main(String[] args) throws Exception {
		new IEBrowserTest();
	}
}
 

 


 

这个是关键,

 

browser.setURL(new URL("http://dict.cn/mini.php?q="+jtf.getText()));//调用辞海的翻译

别的就没什么可说的了,需要注意的是必须把ie设为默认浏览器,否则报错。还记得要引 jdic的包。

 

 

  • 大小: 40.1 KB
  • 大小: 65.8 KB
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics