`
visionary_2006
  • 浏览: 126685 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

工具栏图片资源的管理

    博客分类:
  • RCP
阅读更多
如果软件开发界面中的工具栏中只有一两个图片,这种直接创建图片对象然后释放的办法是可行的,但当图片增多时也要一个一个地创建和释放吗?可想而知,代码将变得复杂,所以有必要将图片的管理集中到一起,进行统一的管理.

main方法:
package sxjm;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;

import swtDemo.ImageFactory;

public class ToolBarSample ...{
    
public static void main(String args[])
    
...{
        Display d 
= new Display();
        Shell s 
= new Shell(d);
        s.setLayout(
new GridLayout());
        Composite tool  
=  new Composite(s,SWT.NONE);
        tool.setLayoutData(
new GridData(SWT.LEFT,SWT.TOP,true,false));
        ToolBar toolBar 
= new ToolBar(tool,SWT.NONE);
        ToolItem saveItem 
= new ToolItem(toolBar,SWT.PUSH);
        saveItem.setImage(ImageFactory.loadImage(d,ImageFactory.SAVE_EDIT));
        saveItem.setText(
"save");
        toolBar.pack();
        s.setSize(
new Point(200,200));
        s.open();
        
while(!s.isDisposed())
        
...{
            
if(!d.readAndDispatch())
            
...{
                d.sleep();
            }

        }

        ImageFactory.dispose();
        d.dispose();
        
    }

}


下面是ImageFactory类
package swtDemo;
import java.util.Enumeration;
import java.util.Hashtable;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
public class ImageFactory ...{
    
private ImageFactory()...{}
        
//配置图片的绝对路径
        public static  final String REAL_PATH = "E:\workspace\icons\";
        
//一些图片名称的常量
        public static final String DELETE_EDIT="delete_edit.jpg";
        
public static final String SAVE_EDIT="save_edit.jpg";
        
public static final String COPY_EDIT="copy_edit.jpg";
        
public static final String PRINT_EDIT="print_edit.jpg";
        
//..........
        
        
private static  Hashtable htImage = new Hashtable();
        
        
public static Image loadImage(Display display , String imageName)
        
...{
            Image image 
= (Image)htImage.get(imageName.toUpperCase());
            
if(image==null)
            
...{
                image 
= new Image(display,REAL_PATH+imageName);
                htImage.put(imageName.toUpperCase(),image);
            }

            
return image;
        }

        
public static void dispose()
        
...{
            Enumeration e 
= htImage.elements();
            
while(e.hasMoreElements())
            
...{
                Image image 
= (Image)e.nextElement();
                
if(!image.isDisposed())
                
...{
                    image.dispose();
                }

            }

        }

}


如果显示不出,检查图片地址对否

下面这个示例创建了一个数字的哈希表。
//它将数字的名称用作键:

Hashtable numbers 
= new Hashtable();
numbers.put(
"one"new Integer(1));
 numbers.put(
"two"new Integer(2));
numbers.put(
"three"new Integer(3));

//要检索一个数字,可以使用以下代码:
Integer n = (Integer)numbers.get("two");
 
if (n != null...{
         System.out.println(
"two = " + n);
 }


value.put(K key, V value)
将指定 key 映射到此哈希表中的指定
get(Object key)
返回此哈希表中指定键所映射到的值。

//实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。 

//例如,要输出向量 v 的所有元素,可使用以下方法: 

     
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) ...{
         System.
out.println(e.nextElement());
     }

//这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。 
hasMoreElements()
测试此枚举是否包含更多的元素。
nextElement()
如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
分享到:
评论

相关推荐

    Directory Opus 9.1强大的文件管理工具

    这是一个功能非常强大的文件管理工具,强烈建议替换掉windows资源管理器,其强大的功能主要表现在: 1.程序在支持包括复制,移动,删除,更名,查找,搜索,浏览,压缩,解压缩,分割,合并,直接发送邮件,压缩后...

    Win10 资源管理器替代工具 FilesUWP 1.5.0.0 中文免费版.zip

    其他有用的功能包括能够导航到工具栏上的父目录(通过UP按钮),添加喜欢的位置,在各种精美的布局模型之间进行选择以及通过选择以下两个提供的主题之一来个性化GUI的能力:黑暗与光明。 此外,从“首选项”部分,...

    Chrono下载管理器(资源嗅探器)

    Chrono与Chrome浏览器紧密地整合在一起,添加了对浏览器菜单、工具栏和快捷键的支持。 除了高效管理下载任务,Chrono也是你下载视频或批量下载图片的最好帮助工具。Chrono资源嗅探器可以检测网页上的所有链接、图片...

    KODExplorer 芒果云-资源管理器

    - 文件管理工具栏 增加菜单选项,方便移动设备操作 - 文件编辑器,文件树目录 上下左右键盘切换 快捷键加入 - 树目录去掉库,改为个人目录等多处文案修改 - 默认打开用户目录 ####fix bug:(bug解决和程序优化)...

    qttabbar 2018最新版

    比clover更好的资源管理器标签工具,  浏览器中的Tab功能非常受欢迎,但是你有没有想过在Windows Explorer中使用Tab呢?那快来使用QT TabBar,让你在Windows Explorer中使用Tab功能,让你的不再堆满窗口。QT TabBar...

    Gallery4U 图片管理系统 v1.25.rar

    9.添加删除图片集后不再直接更新二级分类索引页,降低资源消耗,会在栏目管理页以红色标出需要更新首页的栏目名称。 10.可以选择是否为每个图片添加说明,可以选择是否支持html,增加了{imageintro}标签 11.修正自定义...

    软件界面设计工具_3款合集

    可使用标准Windows元素创建图形用户界面(GUI)屏幕,包括框架窗口、会话、菜单、工具栏、标签、按钮、复选框、单选按钮、滚动条、滑动调节框、微调框、组合框、树列表、列表框、编辑框以及静态文本等。 通过现有...

    Chrono下载管理器-0.11.2.zip

    浏览器紧密地整合在一起,添加了对浏览器菜单、工具栏和快捷键的支持。 除了高效管理下载任务,chrono也是你下载视频或批量下载图片的最好帮助工具。chrono资源嗅探器可以检测网页上的所有链接、图片、音频和视频,...

    chrono下载管理器 chrome 插件

    Chrono与Chrome浏览器紧密地整合在一起,添加了对浏览器菜单、工具栏和快捷键的支持。除了高效管理下载任务,Chrono也给用户提供了下载视频或批量下载图片的采集功能。Chrono资源嗅探器可以检测网页上的所有链接、...

    房产中介管理系统

    系统测试管理员为:admin 密码:admin ,正式使用时请更改密码。 EIMS基于先进的B/S架构,不需要安装任何客户端,只要有...文件操作:图片文件操作, 其他文件操作:对上传的图片和文件进行管理,主要是删除的作用。

    房产中介管理系统eimsHouse_for_mssql v1.1.rar

    系统测试管理员为:admin 密码:admin ,正式使用时请更改密码。 EIMS基于先进的B/S架构,不需要安装任何客户端,只要有...文件操作:图片文件操作, 其他文件操作:对上传的图片和文件进行管理,主要是删除的作用。

    Total Commander 文件管理工具

    支持随意自定义的菜单、工具栏、快捷键,给您最大的自由,打造个性 TC。一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有。  Total Commander(原名 Windows Commander)是强大的 Windows 资源管理...

    企业信息管理系统 EIMS_for_mssql v1.1.rar

    系统测试管理员为:admin 密码:admin ,正式使用时请更改密码。 EIMS基于先进的B/S架构,不需要安装任何客户端,只要有...文件操作:图片文件操作, 其他文件操作:对上传的图片和文件进行管理,主要是删除的作用。

    WinCE工具和小软件合集包括计算器闹钟电子阅读器万年历画图工具词典等(58款).zip

    WinCE工具和小软件合集包括计算器闹钟电子阅读器万年历画图工具词典等(58款): ToWinCe.exe WinCE内存释放工具 WinCE桌面工具软件Explorer WINCE浏览器 ...资源管理.exe 进程管理.exe 重启.exe 闹 钟 黄历

    后台管理系统样例,学习后台的可以借用

    留言过滤关键词,网站名称,网站LOGO,网站标题title,description,keyword关键词SEO优化设置,版权栏设置,系统自动复邮设置,ICP备案设置和安装、公司的联系交通地图绑定、在线支付方式和即时沟通交流工具的设置、...

    Delphi 7编程100例

    新颖的资源管理器界面 如何生成半圆形窗口 制作字幕滚动窗体 详解Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox控件制作画图程序 使用...

    NTKO附件管理控件

    ★ 支持自定义工具栏 通过附件提供的事件和方法,用户可以自定义工具栏执行调用。 ★ 支持直接编辑文件 用户可双击附件直接打开编辑,或者使用右键菜单选择打开或者打印,系统自动下载到临时目录并执行相关操作。 ...

    PHP课程网站管理系统(源代码+论文)

    通过“网上办公,无纸办公”,课程办公系统充分利用强大的网络资源,方便快捷、即时高效完成政府办公。课程管理系统包括个人办公平台、领导办公、行政办公管理、公文管理、信访管理、管理、财务管理、系统管理、电子...

    网络监视工具

    很好的网络监视工具。首先我们来看看第一个控制命令文件管理,不过在执行这个命令以前我推荐大家,先点击右键菜单中的上传插件命令。因为一会我们在执行文件管理的时候,有个功能就会用到木马提供的插件文件。因此在...

Global site tag (gtag.js) - Google Analytics