`
mefly
  • 浏览: 150582 次
  • 性别: 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
分享到:
评论

相关推荐

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

    这个“HelloWorld入门系列之Swing入门 简单的桌面小词典”旨在引导初学者了解并掌握Swing的基本用法,通过创建一个实际的小应用来实践理论知识。在本教程中,我们将会探讨Swing的主要组件、布局管理以及事件处理。 ...

    helloword入门系列之struts1简单跳转—附

    综上所述,Struts1入门教程的核心内容包括Action的编写、struts-config.xml配置、ActionForm的使用、视图层的JSP设计以及源码阅读和开发工具的运用。通过学习这些基础知识,你可以开始构建自己的Java Web应用程序,...

    android helloword入门级教程

    本教程将带你逐步了解如何在Android平台上创建一个简单的应用程序,展示“Hello, World!”。 首先,我们从`strings.xml`配置文件开始。这是Android应用中管理文本资源的地方。在`res/values/strings.xml`文件中,你...

    dwr3_helloword入门

    在本教程中,我们将学习如何使用DWR 3.0进行快速入门,通过一个简单的“Hello, World”实例来理解其工作流程。 首先,我们需要创建一个Web工程,并导入DWR 3.0的相关库。这通常包括DWR的核心JAR包和可能需要的日志...

    extjs入门之helloword

    这篇博客“extjs入门之hello world”应该是引导初学者了解并开始使用ExtJS的基本步骤。由于描述部分是空的,我们将主要依据标题和标签来探讨相关知识点。 首先,让我们来看看“源码”这个标签。在学习任何编程技术...

    spark-windows helloword入门例子

    这个"spark-windows helloworld入门例子"是专为Windows用户设计的,旨在帮助初学者快速理解和掌握Spark的基本用法。 首先,我们需要了解Spark的核心概念。Spark的核心在于它的弹性分布式数据集(Resilient ...

    springboot项目demo(HelloWord 入门)

    包含通过spring框架,对web项目的所有基本功能使用,包括...通过一个demo基本花费半天时间入门springboot. 项目导入sts(集成了springboot开发插件的eclipse)后,直接通过springboot启动运行就可以。jdk必须1.8及以上

    Springmvc-helloword简单例子

    【SpringMVC 框架入门详解】 SpringMVC 是 Spring 框架的一个模块,主要负责处理 Web 请求。它是一个轻量级的、模型-视图-控制器(MVC)架构,使得开发者可以轻松地将业务逻辑与展示层分离,从而实现更高效的开发。...

    spring-boot入门helloword

    在这个“spring-boot入门helloworld”教程中,我们将探讨如何使用Spring Boot创建一个简单的“Hello, World!”应用,并了解如何在IDEA(IntelliJ IDEA)中处理Tomcat外置启动的问题。 首先,让我们创建一个新的...

    C入门Helloword

    初学者入门,这是一个非常非常简单的代码,适合没学过计算机语言的学者学习。

    入门第一课 java编写helloword!

    java 入门 几乎是所有学习java的编写的第一个java程序

    第一个helloword

    helloword

    Gef入门程序-Helloword

    **Gef入门程序-HelloWord** Gef,全称为Gnu Extensible Debugger,是一个强大的、高度可扩展的GDB(GNU调试器)前端。它旨在提高调试效率,提供丰富的交互式命令,以及友好的用户体验。在本文中,我们将探讨如何...

    hibernate3.2之helloword

    【标题】"Hibernate3.2之HelloWorld"是关于Java持久化框架Hibernate的一个入门教程,主要针对的是Hibernate3.2版本。在这个版本中,Hibernate引入了一些改进和优化,旨在提高性能和开发效率,同时保持其作为对象关系...

    一个意义深刻 FreeMarker 入门例子之HelloWord

    本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...

    helloword

    标题 "HelloWord" 可能是指一个初学者入门编程时经常遇到的第一个程序。在许多编程语言中,"Hello, World!" 是一个简单的示例,用于演示如何在控制台打印出一条消息。这个程序通常用于介绍基本的编程概念,如变量、...

    helloworld_python_源码

    在这个名为“helloworld_python_源码”的压缩包中,包含了一个名为“helloworld.py”的文件,我们可以推测这正是一个简单的Python程序,用于打印经典的“Hello, World!”信息。 Python源码文件通常以.py为扩展名,...

    HelloWord.rar

    "C#入门":C#是一种面向对象的编程语言,广泛应用于Windows桌面应用、游戏开发、服务器端编程等领域。标签中的"C#入门"提示了这个源码可能适合初学者,用以理解C#语言基础以及如何用它来实现特定功能,如串口通信。 ...

    dwr入门 -- 02 -- HelloWord解释&&使用javabean

    在"HelloWorld解释&&使用javabean"这个主题中,我们将深入理解DWR的基本概念、工作原理,并通过一个简单的JavaBean示例来展示其用法。 首先,DWR的核心功能是提供了一个安全、高效的AJAX(Asynchronous JavaScript ...

    HelloWord文件

    HelloWord文件

Global site tag (gtag.js) - Google Analytics