一个简单的编辑器 ,为什么按钮的图片显示不出来啊 ?

问题描述

源代码如下(其中加大加粗的两句为插入按钮图片的句子):packagecom.swtdesigner;importorg.eclipse.jface.dialogs.MessageDialog;importorg.eclipse.swt.SWT;importorg.eclipse.swt.custom.ViewForm;importorg.eclipse.swt.events.SelectionAdapter;importorg.eclipse.swt.events.SelectionEvent;importorg.eclipse.swt.graphics.Image;importorg.eclipse.swt.layout.FillLayout;importorg.eclipse.swt.widgets.Display;importorg.eclipse.swt.widgets.Shell;importorg.eclipse.swt.widgets.Text;importorg.eclipse.swt.widgets.ToolBar;importorg.eclipse.swt.widgets.ToolItem;publicclassSimpleEditer1{/***Launchtheapplication.*@paramargs*/publicstaticvoidmain(String[]args){Displaydisplay=Display.getDefault();Shellshell=newShell();shell.setSize(450,300);shell.setText("SWTApplication");shell.setLayout(newFillLayout());ViewFormviewForm=newViewForm(shell,SWT.NONE);viewForm.setLayout(newFillLayout());ToolBartoolBar=newToolBar(viewForm,SWT.NONE);finalTexttext=newText(viewForm,SWT.BORDER|SWT.V_SCROLL);viewForm.setContent(text);viewForm.setTopLeft(toolBar);ToolItemtoolItem=newToolItem(toolBar,SWT.PUSH);toolItem.setText("取得");toolItem.setImage(newImage(display,"icons/aa.gif"));toolItem.addSelectionListener(newSelectionAdapter(){publicvoidwidgetSelected(SelectionEvente){Stringstr=text.getText();//取得文本框的文字MessageDialog.openInformation(null,null,str);}});ToolItemtoolItem2=newToolItem(toolBar,SWT.PUSH);toolItem2.setText("清除");toolItem2.setImage(newImage(display,"icons/bb.gif"));toolItem2.addSelectionListener(newSelectionAdapter(){publicvoidwidgetSelected(SelectionEvente){text.setText("");}});shell.open();shell.layout();while(!shell.isDisposed()){if(!display.readAndDispatch()){display.sleep();}}}}

解决方案

解决方案二:
没有你这么使用的,这个路径肯定是不对的
解决方案三:
既然那用了WindowBuilderpro,为啥不看看它是怎么设置图片的呢,然后学习下
解决方案四:
恩不过感觉看完还是不懂我查了下apiImage类的构造方法如下:Image(Devicedevice,ImageDatadata)ConstructsaninstanceofthisclassfromthegivenImageData.Image(Devicedevice,ImageDatasource,ImageDatamask)Constructsaninstanceofthisclass,whosetypeisSWT.ICON,fromthetwogivenImageDataobjects.Image(Devicedevice,ImagesrcImage,intflag)Constructsanewinstanceofthisclassbasedontheprovidedimage,withanappearancethatvariesdependingonthevalueoftheflag.Image(Devicedevice,InputStreamstream)Constructsaninstanceofthisclassbyloadingitsrepresentationfromthespecifiedinputstream.Image(Devicedevice,intwidth,intheight)Constructsanemptyinstanceofthisclasswiththespecifiedwidthandheight.Image(Devicedevice,Rectanglebounds)Constructsanemptyinstanceofthisclasswiththewidthandheightofthespecifiedrectangle.Image(Devicedevice,Stringfilename)Constructsaninstanceofthisclassbyloadingitsrepresentationfromthefilewiththespecifiedname.还是不怎么懂。。。引用2楼salever的回复:

既然那用了WindowBuilderpro,为啥不看看它是怎么设置图片的呢,然后学习下

解决方案五:
这个"icons/aa.gif"一定要在当前的runtime的classpath下,一般我会使用Activator.getImageDescriptor()来避免绝对路径的问题的
解决方案六:
引用4楼salever的回复:

这个"icons/aa.gif"一定要在当前的runtime的classpath下,一般我会使用Activator.getImageDescriptor()来避免绝对路径的问题的

原来高手在这里哈哈我建议楼主去googlercpiamge使用你就知道怎么回事了
解决方案七:
引用5楼soszou的回复:

引用4楼salever的回复:这个"icons/aa.gif"一定要在当前的runtime的classpath下,一般我会使用Activator.getImageDescriptor()来避免绝对路径的问题的原来高手在这里哈哈我建议楼主去googlercpiamge使用你就知道怎么回事了

不是啥高手,读过几年书,上过几年班,尘世里一个迷途小coder。。。
解决方案八:
引用6楼salever的回复:

引用5楼soszou的回复:引用4楼salever的回复:这个"icons/aa.gif"一定要在当前的runtime的classpath下,一般我会使用Activator.getImageDescriptor()来避免绝对路径的问题的原来高手在这里哈哈我建议楼主去googlercpiamge使用你就知道怎么回事了……

说你高手还自恋上了哈哈

时间: 2024-08-02 07:26:19

一个简单的编辑器 ,为什么按钮的图片显示不出来啊 ?的相关文章

一个简单不报错的summernote 图片上传案例_javascript技巧

一个比较完整的summernote上传图片的案例,没有后台(上传图片网上案例太多),只有前端js.修正了网上提供的,但是有bug的代码. 这个例子,js保证不报错.亲测可用 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html > <html> <head&

【C#新手】点击bottom按钮将图片显示在picture box1中后如何显示图片的长宽?

问题描述 [C#新手]点击bottom按钮将图片显示在picture box1中后如何显示图片的长宽? 点击bottom按钮将图片显示在picture box1中了,我想显示图片的长和宽是多少该怎么办,求大神指导. 解决方案 Image image = pictureBox1.Image; int h = image.Height; int w = image.Width; 解决方案二: MFC利用CImage类将图片显示到Picture控件上 解决方案三: 我也不知道

c++-一个简单的C++练习,运行时显示“vector iteration incompatible&amp;amp;quot;。

问题描述 一个简单的C++练习,运行时显示"vector iteration incompatible". array ar = { 0 1 1 2 3 5 8 13 21 55 89 }; vector vec(ar.begin() ar.end()); auto it = vec.begin(); while (it != vec.end()) { if (*it % 2) vec.erase(it); else it++; } for (auto i : vec) cout &l

PySide教程:一个简单的点击按钮示例

在这篇文章里,我们将为你展示如何使用PySide使用信号.槽机制.基本来说,这是Qt提供给你的允许一个图形控件与其他图形控件或者python代码进行通讯的特性. 我们将要创建一个应用,你点击应用中的按钮后将在Python终端里显示"Hello World"字样. 下面让我们引入必要的Qt类以及python sys类. import sysfrom PySide.QtCore import *from PySide.QtGui import * 同时,创建一个python函数,只是用来向

C#2003做的一个简单查询网站程序,但是图片和CSS都无法显示 。用的vista系统。IIS是7.0的。。

问题描述 如题所示..请教各位大仙有什么办法能测试是哪里出了问题?在另外一台机器上都没问题.但是一拿到我的vista系统的机器上就有问题.我怀疑是我机器的问题.但是我机器上的IE.firefox,google.这些浏览器都试过..都是一样.不能显示CSS和图片...请帮我解决一下...非常感谢..

一个简单的Timer动画,就是没显示,求指点啊

问题描述 import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.awt.Graphics;public class MovingCar extends JFrame{public MovingCar(String s){super(s);CarPanel MyCar=new CarPanel();add(MyCar);}public static void main(String [] args){J

string-在vs2013用MFC做一个简单的视图

问题描述 在vs2013用MFC做一个简单的视图 解决方案 CString对象需要显示的创建 解决方案二: 注意字符类型 pDC->TextOutW(10 10 L""ONE WORLD ONE DREAM""); 解决方案三: 一般这样写pDC->TextOut(10 10 _T(""ONE WORLD ONE DREAM""));

BtBatStat 0.4发布 一个简单的OS X应用程序

BtBatStat是一个简单的OS X应用程序,显示您的苹果蓝牙鼠标和键盘在菜单栏中的电池状态.它支持苹果BT键盘,苹果Mighty鼠标,和苹果魔术鼠标.其他设备也可以工作. BtBatStat 0.4该版本现在同时支持触控板+鼠标. 下载地址:http://code.google.com/p/btbatstat/downloads/detail?name=BtBatStat-0.4.zip

Joomla! Show Twitgoo Module 2.0.0发布 Twitter图片显示工具

Joomla! Show Twitgoo Module 是一个简单的Joomla!模块,用于显示Twitgoo上的Twitter用户发布的图片.主要功能包括显示公众或个人的资料料,以单个或多个图片模式显示,显示鼠标移到图片的描述,使用 Highslide JS 或 Twitgoo 网站显示个人网站上的大版本图片. Joomla! Show Twitgoo Module 2.0.0该版本更新单独安装档案,支持Joomla!1.5 和 1.6/1.7/2.5.扩展更新支持,增加了Joomla!1.6