SWING
juce
这个作者很懒,什么都没留下…
展开
-
JNI技术实践小结--原理分析和详细步骤截图说明
JNI技术实践小结xx组 kimmking2008年11月12日 昨天和一部zzz一起研究解决一个java调用第三方dll的问题,从零开始学习了jni技术的应用,现在总结如下。 事情的起因是一部的一个项目需要用到一个爱国者提供的基于U盘的加密技术。对方提供了U盘和一个dll动态链接库hiddenIO.dll。在U盘的隐藏区域内可以储存USB-Key信原创 2013-07-29 16:41:16 · 611 阅读 · 0 评论 -
CentOS6.2下安装eclipse
在eclipse官网下载eclipse的linux版本(此处省略下载过程),我下载的是eclipse-jee-indigo-SR2-linux-gtk.tar.gz,下面是安装过程: 1.sudo mv eclipse-jee-indigo-SR2-linux-gtk.tar.gz /opt/ 把文件移动到/opt/目录下(如果开始就放在/opt下面的就省略此步); 2.tar -zx原创 2013-06-07 15:38:09 · 449 阅读 · 0 评论 -
eclipse工作台概念图
eclipse工作台概念图原创 2013-06-06 10:02:14 · 714 阅读 · 0 评论 -
GEF源码分析(六) GEF 的EditPart的职能分离 __ 跨国时尚媒体集团广告部门 的故事 二
GraphicalEditPart先生当天安排了部门及会议计划。经过EditPart部门紧张有奏的准备会议讨论的资料,第三天、按时8:30开会。GraphicalEditPart先生还如往常,准时提前5分钟坐在会议室前边角上。他喜欢部门的小伙子们,虽然这些小伙子们做事情时常有些不周,但是他更欣赏他们的活力和富有创造激情。所以、每每开会时,他更愿坐在旁边听这些小伙子们的意见,“相比较当个威武原创 2013-06-06 10:00:06 · 908 阅读 · 0 评论 -
GEF源码分析(五) GEF 的EditPart的职能分离 __ 跨国时尚媒体集团广告部门 的故事
接下来我们以一个故事的方式来解决第三篇遗留下来问题:已存在一个三角图形EditPart,我们想重用它,但是我们还需要增加(或删去)边框可调整的特性,如何保证无需重新建立一个新的EditPart,或者做出丑陋的继承,当功能不断组合后,出现无数子EditPart类?如何由框架自动完成Undo及Redo功能? 话说在某个跨国时尚媒体集团中国区广告部门(这是一家主营平面广告的广告公原创 2013-06-06 09:56:41 · 933 阅读 · 0 评论 -
GEF源码分析(四) GEF 消息转义 ___ Tool的作用
我们先解决如下问题:在界面操作过程中,我们希望面对的是边框调整事件,图形移动事件,或者是编辑文本事件,而不是原始的鼠标和键盘事件? 术语定义:系统UI事件: 一般由某些计算机人机交互硬件发出信号,并且经操作系统理解后产生的事件,例如:原始的鼠标的移动、点击和键盘的敲击事件等。UI业务语义事件:由系统UI事件和其它UI业务语义事件触发,由UI业务代码原创 2013-06-06 09:54:17 · 672 阅读 · 0 评论 -
GEF源码分析(三) 模拟GEF设计思路,解剖GEF2 附图:包含GEF的Editor创建时序图
包含GEF的Editor创建时序图以eclipse网站上例子A Shape Diagram Editor为例原创 2013-06-06 09:51:25 · 871 阅读 · 0 评论 -
GEF源码分析(三) GEF 的树状构架 ___ Model/EditPart/Figure
树状对象模型 建立过程 如果要建立可编辑2D图形程序,比较基本的要有以下几个主要需求一方面我们有一个model对象组,这些包含了拥有一些业务以及UI展现上的数据;另一方面我们有一个视图它将包含一组可视化对象,这些可视化对象定义了如何在屏幕上描绘;用户能够使用鼠标和键盘修改图形视图。这需要在程序的内部通过某种方式建立在UI对象和model关联方式,透过二者的关联,原创 2013-06-06 09:49:02 · 883 阅读 · 0 评论 -
GEF学习笔记(二) 模拟GEF设计思路,解剖GEF 1
GEF如同其他的一些framework一样,是一个复杂庞大(有点夸张)的,当我们想使用驾驭它时,就必须全面的理解其整体构架及其运作过程。这需要我们的毅力和敏锐。旅途开始了…. GEF主要的任务是针对2D图形编辑操作,如下图。 为了使GEF能够广泛的用于种类繁多2D图形编辑领域,GEF就必须建立一个严格的易扩充/易组合/易重用的MVC框架(当然这种分解细化功能对象原创 2013-06-06 09:42:12 · 607 阅读 · 0 评论 -
XStream快速起步 简单方便实现序列化(XML和JSON)
其实XStream和JAXB在一些观念上是很相似的但是JAXB作为Java EE的一个规范 是非常正式的 且和其他很多规范有联系 是一种标准的实现这边简单说说实现方式(博客里有文介绍使用):1.一个实体类,使用@XmlRootElement表示一下类(最简单的)2.建立一个ObjectFactory用来产生这个实体类3.使用JAXBContext 然后产生Marshaller(原创 2013-06-18 14:54:28 · 845 阅读 · 0 评论 -
使用xStream对(Java对象、List集合、Map )到JSON转换、从JSON转换java对象
XStream对JSON的支持 xStream对JSON也有非常好的支持,它提供了2个模型驱动。用这2个驱动可以完成Java对象到JSON的相互转换。使用JettisonMappedXmlDriver驱动,将Java对象转换成json,需要添加jettison.jar 一、准备工作 1、 下载jar包、及官方资源 xStream的jar下载地址: htt原创 2013-06-18 14:38:12 · 2482 阅读 · 0 评论 -
javah命令详解
javah命令主要用于在JNI开发的时,把java代码声明的JNI方法转化成C\C++头文件,以便进行JNI的C\C++端程序的开发。但是需要注意的是javah命令对Android编译生成的类文件并不能正常工作。如果对于Android的JNI要想生成C\C++头文件的话,可能只有先写个纯的java代码来进行JNI定义,接着用JDK编译,然后再用javah命令生成JNI的C\C++头文件。当原创 2013-07-29 16:39:35 · 1259 阅读 · 0 评论 -
单实例运行Java桌面应用程序
在做java桌面应用程序时,双击程序的快捷启动图标,桌面程序就会打开。再次双击,又会打开一个新的桌面应用程序。如果软件中的某些值是不允许共享和并发的,比如端口占用等。因此必须找到一种方法使得无论双击多少次启动图标,我们的应用程序都只会打开一个。那么该怎么解决呢?我想到的大概有两种方法:1.在本地应用程序的目录下,新建一个文件,文件中可存储一个作为标记的变量,设为flag,每次运行应用程序时原创 2013-07-29 09:32:32 · 832 阅读 · 0 评论 -
Eclipse安装SVN插件
Eclipse是一个优秀的开源IDE,目前支持C/C++、JAVA、JS、PHP等语言。 我使用的是"Eclipse IDE for C/C++ Developers"Version: Helios Release Build id: 20100617-1415该版本默认使用CVS插件进行版本管理。下面安装SVN插件,以便能下载Google Code上的源代码。原创 2013-08-02 11:52:32 · 550 阅读 · 0 评论 -
org.hibernate.exception.JDBCConnectionException: could not execute query
最近的一个项目在Hibernate使用C3P0的连接池,数据库为Mysql。开发测试没有问题,在运行中每个一段长的空闲时间就出现异常:org.hibernate.exception.JDBCConnectionException: could not execute query at org.hibernate.exception.SQLStateConverter.convert(SQL原创 2013-07-31 10:50:15 · 746 阅读 · 0 评论 -
java 应用单例运行
public class ApplicationInstanceManager { private static ApplicationInstanceListener subListener; /** Randomly chosen, but static, high socket number */ public static final int SING原创 2013-07-31 10:39:58 · 573 阅读 · 0 评论 -
javah 命令小结
按照网上抄来的javah用法一般出错,今天查了一下午在一篇文章(http://www.ibm.com/developerworks/cn/java/j-jtctips/part6/index2.html) 中看到:“Javah 获取您的 Java 源文件并生成 C 头文件,其中包含您的 Java 代码中所有本机方法的 JNI 存根(stub)。如果您正在生成一个类的 JNI 存根,而且您已经把原创 2013-07-29 16:38:27 · 450 阅读 · 0 评论 -
在JVM上运行的五大脚本语言
遵循软件开发工具,在过去十年中的任何人都知道,长期的“Java”指的是一双的技术:Java编程语言和Java虚拟机(JVM)。Java语言被编译成字节码在JVM上运行。通过这种设计,JAVA提供可移植性。 然而,语言和JVM,已越来越多地在相反的方向移动。语言已变得越来越复杂,而JVM已经成为最快和最有效的执行平台之一。Java的许多基准,等于如编译语言生成的二进制代码的性能转载 2013-06-28 09:17:36 · 6116 阅读 · 1 评论 -
遍历Map的四种方法
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过原创 2013-06-25 14:34:19 · 449 阅读 · 0 评论 -
GEF源码分析(一) eclipse的GEF相关项目说明
GEF学习笔记(一) eclipse的GEF相关项目说明 首先、感谢八进制的辛勤劳动和奉献。这几天开始对GEF发生兴趣,八进制的GEF系列对我学这些的帮助很大入门很快。自己也就顺手把周末学习的东西记录下来。帮助后来学人。我会把这几天所学陆续写出希望大家支持。目前、正在为八进制例子发愁,我对NodePart增加了ResizeEditPolicy,但是不知为何鼠标拖动时有个灰色的区域在随着变化原创 2013-06-06 09:40:48 · 1014 阅读 · 0 评论 -
java正则表达式验证手机号码ip,邮箱
1.java验证IP地址:Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?原创 2013-06-05 11:17:06 · 723 阅读 · 0 评论 -
一个开源的Java源代码管理平台:Sonar
一。什么是Sonar Sonar是 一个开源平台,用于管理Java源代码的质量。“一个质量数据报告工具+代码质量管理平台”http://docs.codehaus.org/display/SONAR/Documentation 主要特点 · 代码覆盖:通过单元测试,将会显示哪行代码被选中 ·原创 2013-06-05 17:53:29 · 934 阅读 · 0 评论 -
swing 布局管理器 GridBagLayout
/** * */package demo.swing;import javax.swing.*;import java.awt.*;public class test{ static final int WIDTH=300; static final int HEIGHT=150; //写一个add方法方便下面在界面中添加组件 public void原创 2013-05-21 16:33:39 · 563 阅读 · 0 评论 -
Swing之JTable的详细介绍
表格(Table)的使用与介绍8-1:使用JTable组件:类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel在使用JTable以前,我们先看一下它的构造函数有哪些, 以及应该如何使用:JTa原创 2013-05-17 13:55:12 · 713 阅读 · 0 评论 -
java JList 添加数据后,如何更新啊
我不知道怎么更新列表,但是你可以重置一下整个列表。不太清楚你的动态添加是什么意思。我一般的做法是用一个ArrayList来维护Jlist里的数据。。每次添加删除都是操作ArrayList里的数据,然后再jList.setListData(list.toArray());刷新Jlist一下数据就好。。不知道你是不是想要这个结果。。原创 2013-04-28 12:01:41 · 7368 阅读 · 0 评论 -
java updateUI() 有什么用?怎样用
updateUI() 是刷新面板用的 例如下面这两句scrollable_panel.add(panel1, c);scrollable_panel.updateUI();当scrollable_panel添加了一个新的panel时 scrollable_panel本身就会刷新 说简单点就是 你开始把scrollable_panel这个面板拖到屏幕一个其他的地方 当这两句执行时 scr原创 2013-04-28 09:27:31 · 9476 阅读 · 0 评论 -
如何关闭一个swingworker线程?
如题,一般程序中利用swingworker启动一个线程都是直接用匿名方法直接new swingworker(){protected Void doInBackground() throws Exception {while(true){内容。。。}}}.execute();一般都是这样的,而且一次根据需要可能会new出N个线程来,全都是匿名的,那么我现在在窗口dis原创 2013-04-10 11:11:32 · 2042 阅读 · 0 评论 -
不规则窗体形状的ToolTip .
前一篇利用层实现ToolTip,利用图形组合实现不规则的ToolTip 是实现不规则窗体的ToolTip的方法,该方法虽然实现了要求,但却有两点不足:第一:该方法太笨拙,每个需要ToolTip的组件都得重新去设置一次新的ToolTip类;第二:在ToolTip超出窗体边缘时,没法显示超出部分。 于是乎觉得这样处理是不正确的,定有其他方法来更好的实现。所以在网上找了下。找了N久原创 2013-04-01 11:57:31 · 632 阅读 · 0 评论 -
Swing 带标题栏的右键菜单
在Windows的“开始”菜单上,会在菜单左侧显示一幅图像。很多基于Windows的软件也有类似效果的菜单。用Java Swing可以制作出类似效果的菜单吗?答案当然是肯定的,而且非常简单。 我们首先从Swing的JPopupMenu组件进行扩展,让其接受一个图片,显示在左侧;或者接受一个字符串,动态生成图片后,在显示在左侧。为 了避免准备图片的麻烦,我们就以动态生成内存图片为例,原创 2013-04-01 12:02:18 · 578 阅读 · 0 评论 -
通过Java SE 7自带的监控服务(WatchService API)
Java SE 7 Tutorial中增加了一个监控目录变更情况的示例,用于介绍其新发布的WatchService API。 但对于用惯了.NET FileWatcher的用户而言,如果用于项目我认为它有两个欠缺:1、应该提供一个独立线程后台运行机制,让这个监控过程自己在后台转,不影响前端处理2、 Java不像.NET有内置的源生事件机制,不过可以借助它内置的Observer/Ob原创 2013-04-01 13:44:36 · 723 阅读 · 0 评论 -
JNI的实现原理
JNI接口函数和指针Java虚拟机访问本机代码通过调用JNI的功能特性。JNI的功能都可以通过一个接口指针。一个接口指针是一个指向指针的指针。这个指针指向一个一个指针数组,这个数组中的每一个成员指向一个函数入口。每个接口的功能是在一个预定义的内部数组的偏移量。图一、JNI接口函数和指针JNI接口的组织像C++虚函数列表或COM接口一样。使用接口列表的好处是JNI名字原创 2013-05-21 17:38:00 · 742 阅读 · 0 评论 -
swing 较好布局
package com.newer.frame.setSystem;import java.awt.*;import javax.swing.*;import java.awt.event.*;import org.jvnet.substance.SubstanceDefaultLookAndFeel;import org.jvnet.substance.Substance原创 2013-05-21 11:22:37 · 748 阅读 · 0 评论 -
分析Eclipse源代码,理解OSGI插件机制内幕
一、概述 一直关注我blog的朋友会看到,最近我一直在关注Eclipse源代码的编译工作,但除了简单的编译设置和烦琐而极具耐心的源代码剥离,似乎还没有什么太有趣的东西出现。现在,经过了前面一系列的热身运动,我将和大家一起走入Eclipse的内核,看看它到底是怎么工作的? 1、Eclipse源代码 版本:3.1.1 大小:63.2MB原创 2013-06-05 17:42:20 · 603 阅读 · 0 评论 -
UI框架设计文档(初稿) .
第一章. 需求自定义组件需要完成两样基本任务:第一侦听并处理低层事件,根据具体情况改变组件状态,如需要还要发出高级事件;第二,根据当前组件的状态画出当前组件的外观 侦听底层的事件是指侦听类似于mouse、keyboard、focus等事件,然后处理此事件,如果发现此事件带有特定语义,表达某种组件行为,则改变当前的组件状态以记录,并触发某种事件通知应用程序进行处理。举例说明,原创 2013-06-05 17:21:30 · 1318 阅读 · 0 评论 -
Eclipse的架构 .
Eclipse简介Eclipse的优秀源于其优良的体系结构,由一个微小核心及众多插件组成Eclipse设计之初是要通过其特有的插件开发结构,开发插件使其支持任何语言的开发,甚至成为绘图工具。基于Eclipse核心只要开发插件,就可以让Eclipse做任何事情Eclipse体系结构的核心是动态发现插件,Eclipse有一个很小的核心(Platform Runtime)和大量建立在核心之上原创 2013-06-05 17:20:43 · 2458 阅读 · 0 评论 -
java读取properties文件
使用java.util.Properties1、创建一个Properties对象。2、使用对象的load方法加载你的property文件。3、使用getProperty方法取值。例子:package com.bill.test;import java.io.FileInputStream;import java.util.Properties;publi原创 2013-06-03 10:18:38 · 724 阅读 · 0 评论 -
关于 JTable 刷新绘制(repaint) 以及JTable各属性设置
关于 JTable 刷新绘制(repaint) 以及JTable各属性设置关于 JTable 刷新绘制(repaint) java swing说明:本文典型应用于,当数据发生改变时,重新加载JTable数据,并且刷新,令使用者可以立刻看到改变的结果。使用JTable展示数据时,本部分对数据的增、删、改、查所引起的数据列表的改变,可以进行实时刷新展示。而不论改变动作来自于原创 2013-05-23 17:46:10 · 3047 阅读 · 1 评论 -
java常用组件GUI设计
9.1 Swing概述9.2事件响应原理9.3JLable组件9.4JButton组件与JToggleButton组件9.5JCheckBox和JRadioButton组件9.6JComboBox组件9.7JList组件9.8JTextField与JTextArea组件9.1 Swing概述原创 2013-05-23 17:23:04 · 1472 阅读 · 0 评论 -
JTree树控件的使用
树和节点的基本概念树可以用图形的方式显示众多的节点以及它们之间的关系,最常见的树的例子就是目录树。所有组成树的元素都成为节点(Node),一棵树的最顶层的节点称为根节点,如Program;而没有子节点的节点成为叶子节点,如domain。在层次结构中,上层的节点是下层节点的父节点,而下层节点是上层节点的子节点,如图:Program是C# Programs和Programs的父节点;FileB原创 2013-05-22 16:34:59 · 1193 阅读 · 0 评论 -
Swing JTree
树这东西给用户的感觉极为方便,但给程序员带来很大的麻烦,它是swing中最麻烦的控件之一。树要弄的好非常麻烦,图标的美化,层次的划分,各种事件的处理。。。对于初学者来说,就不要太讲究样式,下面举个粗糙的例子,egpublic class SimpleJTree { JFrame jf = new JFrame("简单树"); JTree tree; //定原创 2013-05-22 16:33:13 · 802 阅读 · 0 评论