SWT学习笔记3——颜色、字体、图片

9 篇文章 0 订阅
[img]http://dl.iteye.com/upload/attachment/0065/7231/a7791aa6-7244-3498-98a8-343495962e2c.png[/img]



import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.PaletteData;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.SWT;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.widgets.Button;

public class TestColorImageFont {
static Display display = Display.getDefault();
//三种颜色获取方式
static Color white = new Color(display, 255, 255, 255);
static Color sysBlack = display.getSystemColor(SWT.COLOR_BLACK);
static Color swtBlue = SWTResourceManager
.getColor(SWT.COLOR_LIST_SELECTION);

//两种图片获取方式,外加自己生成图片自己写数据
static Image errorIcon = display.getSystemImage(SWT.ICON_ERROR); //内置图像
static Image tigerIcon = new Image(display, "hu.jpg");//读取的图像
//自己生成图像,参数为 图像宽、高,颜色的depth,RGB的掩膜(RGB对应的bit)
static ImageData imageData=new ImageData(20, 20, 24, new PaletteData(0xFF0000, 0xFF00, 0xFF));
static Image createdIcon=new Image(display, imageData);//难道是独立的?设置完数据重新生成才有效!!!否则是黑的而且直接设置图片的内容也不行!!!


//字体
static Font sysFont = display.getSystemFont();
static Font songFont = new Font(display, "宋体", 22, SWT.NONE);

public static void main(String[] args) {

//设置生成的图像的内容
for (int x = 0; x < imageData.width; x++) {
for (int y = 0; y < imageData.height; y++) {
imageData.setPixel(x, y, 0xFF00FF);
// createdIcon.getImageData().setPixel(x, y, 0xFF00FF);//没用啊!!!
}
}
createdIcon=new Image(display, imageData);//不加此行改了图片数据也无效啊!!!

Shell shell = new Shell();
shell.setSize(576, 226);
shell.setText("SWT Application");
shell.setBackground(sysBlack);
shell.setImage(display.getSystemImage(SWT.ICON_WORKING));

Label lblErr = new Label(shell, SWT.NONE);
lblErr.setForeground(white);//前景颜色
lblErr.setBackground(swtBlue);//背景颜色
lblErr.setBounds(10, 10, 78, 32);
//lblNewLabel.setImage(errorIcon); //label中文字和图片不能同时显示
lblErr.setText("Error Label");
lblErr.setToolTipText("label中文字和图片不能同时显示");

Button btn = new Button(shell, SWT.NONE);
btn.setAlignment(SWT.RIGHT);
btn.setBounds(94, 31, 462, 127);
btn.setText("Button Text");
btn.setImage(tigerIcon);//图片
btn.setFont(songFont);//字体


Label lblCreate=new Label(shell, SWT.NONE);
lblCreate.setAlignment(SWT.CENTER);
lblCreate.setBounds(10, 100, 78, 32);
lblCreate.setImage(createdIcon);

shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值