今天本来想继续昨天的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
分享到:
相关推荐
这个“HelloWorld入门系列之Swing入门 简单的桌面小词典”旨在引导初学者了解并掌握Swing的基本用法,通过创建一个实际的小应用来实践理论知识。在本教程中,我们将会探讨Swing的主要组件、布局管理以及事件处理。 ...
综上所述,Struts1入门教程的核心内容包括Action的编写、struts-config.xml配置、ActionForm的使用、视图层的JSP设计以及源码阅读和开发工具的运用。通过学习这些基础知识,你可以开始构建自己的Java Web应用程序,...
本教程将带你逐步了解如何在Android平台上创建一个简单的应用程序,展示“Hello, World!”。 首先,我们从`strings.xml`配置文件开始。这是Android应用中管理文本资源的地方。在`res/values/strings.xml`文件中,你...
在本教程中,我们将学习如何使用DWR 3.0进行快速入门,通过一个简单的“Hello, World”实例来理解其工作流程。 首先,我们需要创建一个Web工程,并导入DWR 3.0的相关库。这通常包括DWR的核心JAR包和可能需要的日志...
这篇博客“extjs入门之hello world”应该是引导初学者了解并开始使用ExtJS的基本步骤。由于描述部分是空的,我们将主要依据标题和标签来探讨相关知识点。 首先,让我们来看看“源码”这个标签。在学习任何编程技术...
这个"spark-windows helloworld入门例子"是专为Windows用户设计的,旨在帮助初学者快速理解和掌握Spark的基本用法。 首先,我们需要了解Spark的核心概念。Spark的核心在于它的弹性分布式数据集(Resilient ...
包含通过spring框架,对web项目的所有基本功能使用,包括...通过一个demo基本花费半天时间入门springboot. 项目导入sts(集成了springboot开发插件的eclipse)后,直接通过springboot启动运行就可以。jdk必须1.8及以上
【SpringMVC 框架入门详解】 SpringMVC 是 Spring 框架的一个模块,主要负责处理 Web 请求。它是一个轻量级的、模型-视图-控制器(MVC)架构,使得开发者可以轻松地将业务逻辑与展示层分离,从而实现更高效的开发。...
在这个“spring-boot入门helloworld”教程中,我们将探讨如何使用Spring Boot创建一个简单的“Hello, World!”应用,并了解如何在IDEA(IntelliJ IDEA)中处理Tomcat外置启动的问题。 首先,让我们创建一个新的...
初学者入门,这是一个非常非常简单的代码,适合没学过计算机语言的学者学习。
java 入门 几乎是所有学习java的编写的第一个java程序
helloword
**Gef入门程序-HelloWord** Gef,全称为Gnu Extensible Debugger,是一个强大的、高度可扩展的GDB(GNU调试器)前端。它旨在提高调试效率,提供丰富的交互式命令,以及友好的用户体验。在本文中,我们将探讨如何...
【标题】"Hibernate3.2之HelloWorld"是关于Java持久化框架Hibernate的一个入门教程,主要针对的是Hibernate3.2版本。在这个版本中,Hibernate引入了一些改进和优化,旨在提高性能和开发效率,同时保持其作为对象关系...
本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...
标题 "HelloWord" 可能是指一个初学者入门编程时经常遇到的第一个程序。在许多编程语言中,"Hello, World!" 是一个简单的示例,用于演示如何在控制台打印出一条消息。这个程序通常用于介绍基本的编程概念,如变量、...
在这个名为“helloworld_python_源码”的压缩包中,包含了一个名为“helloworld.py”的文件,我们可以推测这正是一个简单的Python程序,用于打印经典的“Hello, World!”信息。 Python源码文件通常以.py为扩展名,...
"C#入门":C#是一种面向对象的编程语言,广泛应用于Windows桌面应用、游戏开发、服务器端编程等领域。标签中的"C#入门"提示了这个源码可能适合初学者,用以理解C#语言基础以及如何用它来实现特定功能,如串口通信。 ...
在"HelloWorld解释&&使用javabean"这个主题中,我们将深入理解DWR的基本概念、工作原理,并通过一个简单的JavaBean示例来展示其用法。 首先,DWR的核心功能是提供了一个安全、高效的AJAX(Asynchronous JavaScript ...
HelloWord文件