最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SWT(JFace)體驗(yàn)之圓環(huán)狀(戒指型)

 更新時(shí)間:2009年06月25日 10:59:08   作者:  
SWT(JFace)體驗(yàn)之圓環(huán)狀(戒指型)實(shí)現(xiàn)代碼。
演示代碼:
復(fù)制代碼 代碼如下:

package swt_jface.demo1;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.graphics.Region;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class RingShell {

int[] createCircle(int radius, int centerX, int centerY) {
int[] points = new int[360 * 2];
for(int i=0; i<360; i++) {
points[i*2] = centerX + (int)(radius * Math.cos(Math.toRadians(i)));
points[i*2+1] = centerY + (int)(radius * Math.sin(Math.toRadians(i)));
}
return points;
}

Point originalPosition = null;
public RingShell() {

final Display display = new Display();
final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
shell.setBackground(display.getSystemColor(SWT.COLOR_DARK_MAGENTA));

Region region = new Region();
region.add(createCircle(100, 100, 100));
region.subtract(createCircle(50, 100, 100));
shell.setRegion(region);

shell.addMouseListener(new MouseListener() {
public void mouseDoubleClick(MouseEvent e) {
display.dispose();
}
public void mouseDown(MouseEvent e) {
originalPosition = new Point(e.x, e.y);
}
public void mouseUp(MouseEvent e) {
originalPosition = null;
}
});

shell.addMouseMoveListener(new MouseMoveListener() {
public void mouseMove(MouseEvent e) {
if(originalPosition == null) return;
Point point = display.map(shell, null, e.x, e.y);
shell.setLocation(point.x - originalPosition.x, point.y - originalPosition.y);
System.out.println("Moved from: " + originalPosition + " to " + point);
}
});

Rectangle regionBounds = region.getBounds();
shell.setSize(regionBounds.width, regionBounds.height);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
region.dispose();
}

public static void main(String[] args) {
new RingShell();
}
}

相關(guān)文章

  • Java this關(guān)鍵字的使用詳解

    Java this關(guān)鍵字的使用詳解

    this 關(guān)鍵字是 Java 常用的關(guān)鍵字,可用于任何實(shí)例方法內(nèi)指向當(dāng)前對象,也可指向?qū)ζ湔{(diào)用當(dāng)前方法的對象,或者在需要當(dāng)前類型對象引用時(shí)使用
    2021-11-11
  • JVM中的程序計(jì)數(shù)寄存器PC是什么詳解

    JVM中的程序計(jì)數(shù)寄存器PC是什么詳解

    這篇文章主要介紹了JVM中的程序計(jì)數(shù)寄存器PC原理分析,JVM中的程序計(jì)數(shù)寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存儲指令相關(guān)的現(xiàn)場信息
    2021-09-09
  • idea構(gòu)建web項(xiàng)目的超級詳細(xì)教程

    idea構(gòu)建web項(xiàng)目的超級詳細(xì)教程

    好多朋友在使用IDEA創(chuàng)建項(xiàng)目時(shí),總會(huì)碰到一些小問題,下面這篇文章主要給大家介紹了關(guān)于idea構(gòu)建web項(xiàng)目的超級詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Spring?Boot項(xiàng)目中使用OpenAI-Java的示例詳解

    Spring?Boot項(xiàng)目中使用OpenAI-Java的示例詳解

    Spring?Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程,這篇文章主要介紹了Spring?Boot項(xiàng)目中使用OpenAI-Java的示例詳解,需要的朋友可以參考下
    2023-04-04
  • 詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場景上的區(qū)別

    詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場景上的區(qū)別

    這篇文章主要介紹了詳解java CountDownLatch和CyclicBarrier在內(nèi)部實(shí)現(xiàn)和場景上的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Idea中添加Maven項(xiàng)目支持scala的詳細(xì)步驟

    Idea中添加Maven項(xiàng)目支持scala的詳細(xì)步驟

    這篇文章主要介紹了Idea中添加Maven項(xiàng)目支持scala,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Java設(shè)計(jì)模式之Prototype原型模式

    Java設(shè)計(jì)模式之Prototype原型模式

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之Prototype原型模式的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 如何在pom文件中引入本地jar包并打包

    如何在pom文件中引入本地jar包并打包

    在項(xiàng)目中使用本地JAR文件的方法有很多,下面這篇文章主要給大家介紹了關(guān)于如何在pom文件中引入本地jar包并打包的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • java String 可變性的分析

    java String 可變性的分析

    這篇文章主要介紹了java String 可變性的分析的相關(guān)資料,通常大家都認(rèn)為java String 是不可變的,這里分析下源碼來說明它的可變性,需要的朋友可以參考下
    2017-03-03
  • spring boot 全局異常處理方法匯總

    spring boot 全局異常處理方法匯總

    這篇文章主要介紹了spring boot 全局異常處理方法匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評論

娄烦县| 涟源市| 定日县| 车致| 梧州市| 托里县| 应城市| 民乐县| 镇安县| 长丰县| 浪卡子县| 永州市| 绵阳市| 永寿县| 灵武市| 阿勒泰市| 沐川县| 慈利县| 芦溪县| 宝丰县| 长泰县| 卢氏县| 凤阳县| 洛阳市| 阳城县| 名山县| 丽水市| 涞源县| 开平市| 五原县| 长寿区| 东辽县| 韶关市| 泸定县| 长武县| 宁安市| 中卫市| 高阳县| 南陵县| 桑植县| 札达县|