当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在Windows的“开始”菜单上,会在菜单左侧显示一幅图像。
 

 

 ·digester解析xml文档sample    »显示摘要«
    摘要: 解析xml文档 digester的使用相当简单,请参看如下的sampledigester类中的注释,这里不再拗述: /*============================================================ * copyright:www.skyinn.org (c) 2002 - 2003 all rights reserved. * fil......
 ·jnlp文件模板    »显示摘要«
    摘要: <?xml version="1.0" encoding="utf-8"?><jnlp spec="1.0+" codebase="http://192.168.1.1:8100" href="mytest.jnlp"> <information> <title>my test</title> <vendor>xxx cor......


用Java创建带图像的菜单

在windows的“开始”菜单上,会在菜单左侧显示一幅图像.很多基于windows的软件也有类似效果的菜单.用java swing可以制作出类似效果的菜单吗?答案当然是肯定的,而且非常简单.

jimagedpopupmenu在创建时可以接受一个字符串,生成一副内存图片bufferedimage.然后,我们需要覆盖jcomponent的getinsets方法,重新计算inset的left值,将其在原数值基础上加上图片的宽度,然后返回: 【程序编程相关:Java学习:Servlet/JSP配置

我们首先从swing的jpopupmenu组件进行扩展,让其接受一个图片,显示在左侧;或者接受一个字符串,动态生成图片后,在显示在左侧.为了避免准备图片的麻烦,我们就以动态生成内存图片为例,编写一个jimagedpopupmenu类. 【推荐阅读:Windows+Apache+resin

??????? insets insets = (insets)super.getinsets().clone(); 【扩展信息:使用Resin在NT环境下配置JSP环境

?public insets getinsets() {

??????? insets.left += imageicon.geticonwidth();

??????? return insets;

??? }

最后,覆盖paintcomponent方法,在原基础上增加图片的绘制:

??? public void paintcomponent(graphics g) {

??????? super.paintcomponent(g);

??????? if (imageicon != null) {

??????????? insets insets = getinsets();

??????????? g.drawimage(imageicon.getimage(),

??????????????????????? insets.left - imageicon.geticonwidth(),

??????????????????????? insets.top,

??????????????????????? null);

??????? }

??? }

完整代码如下:


...   下一页
 ·java操作文本文件中的中文    »显示摘要«
    摘要: try{randomaccessfile rf=new randomaccessfile("e:\\my.txt","rw");string str="中文";byte [] b;b=str.getbytes();rf.write(b);//中文就写入文本文件了。}catch(exception e){}try{ bufferedreader br=new bufferedreader(new......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE