SWT 的字体(Font)、颜色(Color)、图像(Image)和绘图
来源:互联网 发布:java instance单例 编辑:程序博客网 时间:2024/06/09 23:04
下面一个例子展示了Font、Color、Image 以及绘图的基本内容。
import org.eclipse.swt.SWT;import org.eclipse.swt.events.PaintEvent;import org.eclipse.swt.events.PaintListener;import org.eclipse.swt.graphics.Font;import org.eclipse.swt.graphics.Image;import org.eclipse.swt.layout.FillLayout;import org.eclipse.swt.widgets.Canvas;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;public class CanvasSample {private Image image = null;private Shell shell = null;private Canvas canvas = null;public CanvasSample(){createContent();}public void createContent(){shell = new Shell();shell.setLayout(new FillLayout());image = new Image(shell.getDisplay(), getClass().getResourceAsStream("1.gif"));canvas = new Canvas(shell, SWT.NONE);canvas.addPaintListener(new PaintListener(){public void paintControl(PaintEvent e){//绘制图像e.gc.drawImage(image, 10, 10);//绘制椭圆e.gc.drawOval(20, 20, 200, 100);//绘制直线e.gc.drawLine(20,10,100,20);Font font = new Font(e.display, "Arial", 14, SWT.BOLD | SWT.ITALIC);//绘制字符串e.gc.drawString("This is a String", 30, 20);//设置display前景色e.gc.setForeground(e.display.getSystemColor(SWT.COLOR_GREEN));//设置display字体e.gc.setFont(font);//设置display 背景色e.gc.setBackground(e.display.getSystemColor(SWT.COLOR_DARK_GRAY));//再绘制字符串e.gc.drawString("This is a String", 30, 50);font.dispose();}});shell.setSize(200, 150);}public Canvas getCanvas(){return canvas;}public void setCanvas(Canvas canvas){this.canvas = canvas;}public Image getImage(){return image;}public void setImage(Image image){this.image = image;}public Shell getShell(){return shell;}public void setShell(Shell shell){this.shell = shell;}public static void main(String[] args){Display display = Display.getDefault();CanvasSample cSample = new CanvasSample();cSample.getShell().open();while(!cSample.getShell().isDisposed()){if(!display.readAndDispatch())display.sleep();}cSample.getImage().dispose();display.dispose();}}
运行如下图所示:
该程序画了一个图片,一个椭圆,一个直线,一个字符串,然后设置前景色背景色和字体后重新画字符串。
另外,画字符串的方法还可以使用
drawString(String string, int x, int y, boolean is Transparent)
来指定文本是否透明显示。透明显示则看不到背景色,而直线显示面板内容。
SWT 的绘图功能是通过 org.eclipse.swt.graphics 包中的GC 类来完成的。任何实现了Drawable 的类都可以进行绘制。通常使用GC 对象有两种用法:
1. 构造GC 对象
GC(Drawable drawable)
GC(Drawable drawable, int style).
其中style 可以为 SWT.LEFT_TO_RIGHT 或 SWT.RIGHT_TO_LEFT 或 SWT.NONE。
2. 在绘图监听器中完成绘制。
控件通过addPaintListener 方法注册绘图监听器。上面的例子中就是用了这种方式。
- SWT 的字体(Font)、颜色(Color)、图像(Image)和绘图
- Color & Font - 使用颜色和字体
- Image Color Space(图像色彩空间)
- 颜色(color)、字体(Fonts)管理
- [Java] Font/Color/Event 字体/颜色/事件综合
- C# 实现虚拟打印机 HP Color LaserJet 4500 (2) True Type Font字体显示
- SWT 绘图(GC类)
- 点阵字体(Bitmap font)
- 10010---CSS Font(字体)
- 颜色(Color)大全
- 【第三方软件】利用WIN8系统自带的绘图软件获取图像信息(位置和颜色信息)
- Setting color and font attribute for individual items (单独设置CTreectrl 的item 的颜色 与字体)
- SWT和AWT图像的互相转换 icon(AWT)--image(SWT)
- Font---Android中字体颜色的设置 .
- CSS入门之字体样式用法color(颜色),font-style(倾斜),font-weight(重量),font-variant(大小写)
- icon-font字体颜色
- WIN32中颜色值(COLORREF)和.NET中颜色值(Color)的转换
- iPhone之Quartz 2D系列--颜色和颜色空间(4)Color and Color Spaces
- 切线空间(tangent space)
- oracle创建简单的outline
- 大骂邻居家阿姨
- 筛选出可用的代理+刷百度博客访问量+ip正则表达式
- silverlight 获取控件间的相对位置
- SWT 的字体(Font)、颜色(Color)、图像(Image)和绘图
- c++调用python总结
- NEFU 115 斐波那契的整除
- 数据库顶级会议——ACM SIGMOD/PODS、VLDB会议介绍
- Eclipse中的文件系统
- Java高新技术
- Box2d源码学习<四>数学库API的实现
- Source Taste: Struts 2 org.apache.struts2.dispatcher.Dispatcher
- 杨辉三角