我在按钮中显示图像,单击该按钮会打开一个复合图像,使我可以选择另一张图片用于该按钮.执行保存操作后,下面的代码将调整图片大小并将其保存到目录中.然后加载重新加载复合材料.当组合加载时,按钮会根据用户正在查看的记录的ID从默认位置拉出其图像.我遇到的问题是,除非关闭并重新加载应用程序,否则按钮上的图像将保持不变.需要注意的一件有趣的事是,当加载默认按钮图像时(即,没有为其ID保存图片),按钮图像会按其应有的方式进行更改,而只是第一次更改.

希望我已经足够清楚地描述了我的问题,如果您需要我澄清一下,请发表评论.

-保存按钮的代码-

Button btnSave = new Button(this, SWT.NONE);

btnSave.addSelectionListener(new SelectionAdapter() {

@Override

public void widgetSelected(SelectionEvent e) {

String path = txtPhotoPath.getText();

if (CC_Files.fileExists(path)) {

ArrayList picTypes = new ArrayList();

picTypes.add(".jpg");

picTypes.add(".png");

picTypes.add(".gif");

int t = 0;

for(int i = 0; i < picTypes.size(); i++){

String s = picTypes.get(i);

if(path.contains(s.toUpperCase())){

t++;

}

if(path.contains(s.toLowerCase())){

t++;

}

}

if (t > 0) {

Image image = (Image) SWTResourceManager.getImage(path);

ImageData imgData = image.getImageData();

int intH = image.getBounds().height;

int intW = image.getBounds().width;

int h = (150 * intH) / intW;

int w = 150;

if (h > 150){

h = 150;

w = (150 * intW) / intH;

}

imgData = imgData.scaledTo(w, h);

ImageLoader imageLoader = new ImageLoader();

imageLoader.data = new ImageData[] { imgData };

imageLoader.save(Variables.getStrResources()

+ "Pics\" + a.getHerd_id() + ".jpg",

SWT.IMAGE_JPEG);

try {

Frm_Animal.setAnimalEditSC(Frm_Animal

.createAnimalComp(a));

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

}

});

GridData gd_btnSave = new GridData(SWT.LEFT, SWT.CENTER, false, false,

1, 1);

gd_btnSave.widthHint = 60;

btnSave.setLayoutData(gd_btnSave);

btnSave.setText("Save");

—在复合中创建按钮的代码—

Button btnPic = new Button(composite, SWT.CENTER);

btnPic.addSelectionListener(new SelectionAdapter() {

@Override

public void widgetSelected(SelectionEvent e) {

try {

Comp_Add_Photo photo = new Comp_Add_Photo(

scrolledComposite, SWT.FILL, a);

setAnimalEditSC(photo);

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

});

Image image = null;

String strPic = Variables.getStrResources() + "Pics\" + a.getHerd_id() +".jpg";

if(CC_Files.fileExists(strPic)){

image = (Image) SWTResourceManager

.getImage(strPic);

}else {

image = (Image) SWTResourceManager

.getImage(Variables.getStrResources() + "black_cow.png");

}

btnPic.setImage(image);

btnPic.setToolTipText("Click Here To Add Photo");

GridData gd_btnPic = new GridData(SWT.CENTER, SWT.CENTER, false, false,

1, 7);

gd_btnPic.heightHint = 160;

gd_btnPic.widthHint = 160;

btnPic.setLayoutData(gd_btnPic);

java swt 不显示图片_Java SWT按钮图像未刷新相关推荐

  1. java界面中显示图片_java中怎样在界面中显示图片?

    方法一: JLabel helloLabel = new JLabel("New label"); helloLabel.setIcon(new ImageIcon("E ...

  2. 使用python中tkinter库显示图片点击按钮跳跳下一张图片

    实现的主要功能: 1. 显示图片 2. 按钮按下,或者上下左右键切换 显示上一张图片,下一张图片 3. 跳转按钮可以跳转到指定图片位置 4. 对图片评价并保存到文本中 使用方法: 在代码同级目录下新建 ...

  3. java swt 布局管理器_JAVA.SWT/JFace: SWT布局管理器

    7.1 布局管理器概述 FillLayout(充满式布局):在单行或单列中放置相同大小的控件,是最简单的布局. RowLayout(行列式布局):在单行或者多行中放置控件,应用了fill.wrap和s ...

  4. java 对话框 显示图片_Java对话框上显示图片

    手掌心 其实有很多种方法可以解决图片显示大小的问题:使用photoshop修改. 优点是可以节省系统资源, 显示图片的时候,不用做处理,缺点是需要了解ps的基本操作使用JDialog 自定义对话框. ...

  5. java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

    java 转换图片为字符串,将字符串转换成图片显示, 该方法只适用于比较小的图片传输,50K以内: try{ // 将图片转换成字符串 File imgFile = new File("f: ...

  6. java awt 显示图片_Java开发笔记(一百二十三)AWT图像视图

    前面介绍了AWT的几种基础控件,从按钮到文本标签,从输入框到选择框,无一例外都能显示文字,唯独无法显示某张图片文件.本以为AWT会提供专门的控件来显示图片,然而偏偏没有意料之中的图像控件,这可真是弱爆 ...

  7. java显示图片_java显示图片的方法

    java显示图片的方法 applet能显示GIF,JPEG,BMP等其他格式的图片.为了在applet中显示图片,你需要使用java.awt.Graphics类的drawImage()方法.以下是小编 ...

  8. java显示图片_Java 显示图片的方法

    下面是两种显示图片的简单方法: package org.bruce.vertices.asist.experiments; import java.awt.BorderLayout; import j ...

  9. java表格里面显示图片_jquery表格datagrid单元格显示图片及分页使用

    要想达到自定义显示表格框的目的比如显示图片,超链接,按钮的形式,只需要给列添加formatter属性即可,比如显示图片: columns: [[ { field: 'IName', title: '显 ...

最新文章

  1. 生物信息培训之WGCNA-权重基因共表达网络分析
  2. C++中引用的用法和应用实例
  3. oracle未授权sql查询,【oracle使用笔记3】sql查询遇到的若干问题总结
  4. python最重要的库
  5. mysql安装之后怎么进入_MySQL常规练习 .MySQL安装成功后的进入方式
  6. 什么舱位_海运出口中FOB条款是什么意思?
  7. php和其他语言的区别,为什么说php是弱类型好学,跟其他语言的区别
  8. 学会使用Trace和Debug
  9. BigGAN_用于高保真自然图像合成的大规模 GAN 训练
  10. 使用Cloudflare API动态解析域名IP
  11. Selenium元素定位神器工具谷歌浏览器插件-SelectorsHub介绍、安装和使用
  12. 苹果11微信表格服务器地址怎么填,苹果实用技巧:iPhone11手机微信打字怎么换行...
  13. 美图嗅嗅+到意大利的水族馆里吃西餐
  14. 二十四式长生图——清手抄本(扫描版)
  15. centos7安装ifconfig命令
  16. android 5.0一键刷机教程,HTC D820t (Desire 820 移动4G Android 5.0)一键刷机教程,轻松刷机...
  17. 利用arcscene将shape文件拉伸后三维展示
  18. 城市公共交通规划掌握内容
  19. 华硕笔记本没有无线服务器,华硕电脑搜不到wifi怎么回事
  20. 气动阀门定位器工作原理

热门文章

  1. sales organization mapping logic debug
  2. 代码改动和配置文件相分离
  3. 使用IntelliJ, 让lombok生效的方式
  4. Organization unit determine log logic enablement
  5. 重复download CRM已经存在的parent equipment
  6. SM66 does not have debug button in Q system
  7. SAP ABAP实用技巧介绍系列之 template的match顺序
  8. 如何给SAP Cloud ConnectorRegion列表中添加新的Region
  9. c 是泛型程序设计语言,c ++中的“泛型编程”是什么意思?
  10. linux+ip+路由设置,Linux下IP巧设置-网管专栏,防火墙和路由