
Swing
iteye_21045
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Swing开发中的小技巧归纳
1.改变Swing应用程序的默认字体/字号Swing组件默认显示文字的字号为11,这对于英文显示毫无问题,但是如果用这个字号显示中文的话,这么小的字号就会使程序变得很难看。可以用如下代码来解决。[code="java"]FontUIResource f = new FontUIResource("\u5b8b\u4f53", Font.PLAIN, 13); java.ut...2009-05-08 00:44:14 · 274 阅读 · 0 评论 -
swing实现系统托盘
在jdk1.6里,swing方面的改动非常大,其中有个改动就是加入了java自己的托盘实现,终于不用去引用第三方的jar来做了。一个简单的demo:[code="java"]public class TrayIconTest extends JFrame { /** * */ private static final long serialVersionUID = 1L;...2009-05-21 00:00:18 · 205 阅读 · 0 评论 -
圆角高亮Button
swing的JButton方方正正,看久了总觉得审美疲劳了,看了apple上的按钮,就舒服多了。借助java2D,要做类似那种按钮也不是不可能的。 要做到这个效果,可以重写BasicButtonUI然后给调用JButton的setUI,也可以继承JButton重写部分方法。两者原理都一样,我这里用的是第二种。原理就是重新绘制Jbutton包括按钮,边框等,也就是重写paintCo...2009-05-17 00:08:58 · 217 阅读 · 0 评论 -
JInternalFrame用法
JInternalFrame的使用跟JFrame几乎一样,可以最大化、最小化、关闭窗口、加入菜单等功能;唯一不同的是JinternalFrame是lightweight component ,也就是说JInternalFrame不能单独出现,必须依附在最上层组件上。由于这个特色,JInternalFrame能够利用java提供的Look and Feel功能作出完全不同于原有操作系...2009-05-08 00:51:18 · 812 阅读 · 0 评论 -
定制应用程序的启动画面
Eclipse启动时有一个启动画面,在Eclipse所有的初始化工作都完成之后,启动画面消失。 解决方案: 1、新建一个启动画面Window类 java.awt.Window windowSplash; 2、调用prepareSplash()函数,初始化启动界面[code="java"]private void prepareSplash() { Tool...2009-05-08 00:49:43 · 172 阅读 · 0 评论 -
自定义的进度条
jdk自带的JProgressBar效果不太符合需求,如下是一个跑马灯式渐进效果的progressbar,效果就是一段渐进色的矩形来回滚动。实现原理很简单,就是用一个线程循环绘制一个矩形区域,并用渐进色填充。详细代码如下。[code="java"]public class ProcessBar extends JComponent implements ActionListener {...2009-05-08 00:48:57 · 103 阅读 · 0 评论 -
Windows鼠标框选效果
常见情况下,一个JTable是放到一个JScrollPane,这样数据量很大的时候,可以通过滚动条来控制。因此要实现框选效果,需要考虑到这两个主要组件的paint问题。框选操作,可以分解为 鼠标左键点击,拖拽,释放三个动作,因此需要实现MouseInputListener。考虑到此框选操作为特定look&feel拥有,故以BasicTableUI为基类实现[code="java"]...2009-05-08 00:47:39 · 419 阅读 · 0 评论 -
浏览器地址栏swing版
浏览器的地址栏一般带有输入网址的记忆功能,输入首字母,就会出现以它开头的所有曾使用记录。在swing中也能很容易的实现这个功能。 对于这个功能,可以分解成几个步骤:输入-->响应并弹出提示-->选择或继续输入。为防止重复的保存,直接用Set保存所有输入。显示提示的组件可以用JList外面套上1个JWindow.再加上鼠标响应和输入响应,基本就完成了。 用户的所有输入由addC...2009-05-08 00:46:54 · 121 阅读 · 0 评论 -
Swing EDT线程思考
先总结下最常见的一个说法;swing是单线程的。我的理解就是,一旦swing组件被实现(setVisiable(true)/show()/pack()或者父组件已经被实现),所有改变组件状态的代码或者依赖于组件状态的程序代码,全部需要给EDT执行。在这之前可以由多少个线程调都无所谓。所有的swing组件都认为只有EDT才会调用它们,为此组件的方法都是不做同步处理的。为什么这么做呢。在我的另一篇...2009-05-08 00:45:44 · 230 阅读 · 0 评论 -
UIDefaults所有参数总结
-----------------------Font-----------------------CheckBox.fontTree.fontViewport.fontProgressBar.fontRadioButtonMenuItem.fontFormattedTextField.fontToolBar.fontColorChooser.fontTog...2009-05-08 00:45:04 · 270 阅读 · 0 评论 -
冻结列的初步实现
之前老想着用一个Jtable上实现冻结列的效果,弄得非常复杂还出错。现在我用两个Jtable合并起来,第一个table作为冻结的列,第二个作为非冻结的列,这样就好办了。为了使外界看起来是一个Table,就需要改进如下几点:1.ListSelected事件统一处理,选中某个表中任何一行,另外一个表的对应行也需要被选中。2.Mouse事件,Key事件统一处理,repaint事件也统一处理。...2009-07-14 15:03:34 · 262 阅读 · 0 评论