swt和awt之间的互调

SWT中嵌入awt/swing控件:

public static void main(String[] args) ...{
        
final Display display = new Display();
        
final Shell shell = new Shell(display,SWT.EMBEDDED);
        Frame frame 
= SWT_AWT.new_Frame(shell);
        
        frame.setLayout(
new BorderLayout());
        frame.setBackground(Color.blue);
        frame.add(
new JLabel("I'm swing label."),BorderLayout.NORTH);
        JButton btnClose
=new JButton("close");
        btnClose.addActionListener(
new ActionListener()...{
            
public void actionPerformed(ActionEvent e) ...{

                display.syncExec(
new Runnable()...{
                    
public void run()...{
                        shell.close();
                    }

                }
);
            }

        }
);        
        frame.add(btnClose,BorderLayout.SOUTH);
        Panel panel 
= new Panel();
        panel.setBackground(Color.orange);
        frame.add(panel,BorderLayout.CENTER); 

        shell.setSize(
400, 300);
        shell.open();
        
while (!shell.isDisposed()) ...{
            
while (!display.readAndDispatch()) ...{
                display.sleep();
            }

        }

        display.dispose();
    }

 

Eclipse视图效果:

    public void createPartControl(Composite parent) ...{
        Composite p
=new Composite(parent,SWT.EMBEDDED);
        Frame frame 
= SWT_AWT.new_Frame(p);
        
        frame.setLayout(
new BorderLayout());
        frame.setBackground(Color.blue);
        frame.add(
new JLabel("I'm swing label."),BorderLayout.NORTH);
        JButton btnClose
=new JButton("close");
        frame.add(btnClose,BorderLayout.SOUTH);
        Panel panel 
= new Panel();
        panel.setBackground(Color.orange);
        frame.add(panel,BorderLayout.CENTER); 
    }

 

swing/awt中使用swt

 

    public static void main(String[] args) ...{
        
final JFrame frame = new JFrame();
        Canvas canvas 
= new Canvas();
        frame.getContentPane().add(canvas,BorderLayout.CENTER);
        frame.setVisible(
true);

        Display display 
= new Display();
        
final Shell shell = SWT_AWT.new_Shell(display,canvas);
        shell.setLayout(
new FillLayout());
        Button button 
= new Button(shell,SWT.PUSH);
        button.setText(
"SWT Button");
        button.addSelectionListener(
new SelectionListener()...{
            
public void widgetDefaultSelected(SelectionEvent e) ...{
            }


            
public void widgetSelected(SelectionEvent e) ...{
                SwingUtilities.invokeLater(
new Runnable()...{
                    
public void run()...{
                        frame.dispose();
                    }

                }
);
            }

            
        }
);
        frame.setSize(
400,300);
        
        
while (!shell.isDisposed()) ...{
          
if (!display.readAndDispatch())...{
            display.sleep ();
          }

        }

        display.dispose();
    }

 

SWT的透明效果(对控件无效)

 

    public static void main(String[] args) ...{
        
final Display display = new Display();
        
final Shell shell = new Shell(display,SWT.NO_BACKGROUND);
        shell.addPaintListener(
new PaintListener() ...{
            
public void paintControl(PaintEvent e) ...{
                GC gc 
= e.gc;
                ImageData imageData 
= new ImageData("qd2.jpg");
                imageData.alpha
=90;
                Image image 
= new Image(display, imageData);
                gc.drawImage(image,
0,0);
            }

        }
);
        shell.setSize(
400,300);
        shell.open();
        
while (!shell.isDisposed()) ...{
          
if (!display.readAndDispatch())...{
            display.sleep ();
          }

        }

        display.dispose();
    }
NBIS单细胞教程:差异基因(五) 此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。 阅读详情

相关推荐

安卓直链APK安装拦截全解析:从Play Protect到厂商管控的应对指南

在移动应用分发领域,APK(Android Package)安装是开发者与用户交互的关键环节。其核心原理涉及安卓系统的安全沙箱机制与权限管理体系,旨在保护用户设备免受恶意软件侵害。这一机制的技术价值在于平衡了应用生态的开放性与安全性,但也在应用推广、企业内部分发等场景中带来了挑战。尤其在通过官网、广告等直链渠道分发APK时,常会遇到安装转化率骤降的问题。这背后主要受到Google Play Protect云端扫描、安卓系统安装权限模型演进(如Android 8.0+的安装源授权)以及设备制造商附加安全层(如

weixin_33894640的博客 467

swt与awt/swing互嵌

 SWT中嵌入awt/swing控件:public static void main(String[] args) ...{        final Display display = new Display();        final Shell shell = new Shell(display,SWT.EMBEDDED);        Frame frame = SW

红流 2247

伪距单点定位推导+DOP值分析(附matlab仿真代码)

伪距单点定位公式推导、DOP值分析与matlab仿真分析

shannanshouyin的博客 2511

SWT、Swing 或 AWT:哪个更适合您?

2006 年 4 月 27 日本文通过对 Eclipse 的 SWT 和 Java Swing、Abstract Windows Toolkit(AWT)GUI 工具包进行比较,可以帮助新应用程序的开发人员从中选择适当的工具。您可以通过本文了解对每个工具包的基本特性的介绍,以及使用每个工具包的优缺点。简介developerWorks 上另外一些作者已经展示了如何在 Swing 和 SW

Ryuka的专栏 2216

如何用zemax导入solidworks装配体

在zemax使用中,常常需要导入各种零件。如果光机结构较为复杂,那么手工一个一个加载零件,还需要在zmx文件中调整object的位置,非常麻烦。如果能将solidworks的装配体模型直接导入,则可以大幅减小工作量。具体过程为(非序列模式下): 1、新建或打开一个zemax空文件 2、在元件编辑器中,找到一个空文件,双击或直接展开三角符,在类型中找到zemax里的solidworks装配体,如图。...

wojiaoyyy的博客 1万+

DDS器件原理与应用(AD9833 AD9834)

是DDS的核心组成部分,用于实现相位的累加,并输出相应的幅值。相位累加器由M位宽加法器和M位宽寄存器组成,通过时钟控制,将上一次累加结果反馈到加法器输入端实现累加功能,从而使每个时钟周期内的相位递增数为,并取相位累加结果作为地址输出给ROM查找表部分。DDS的相位信息被存放在累加寄存器中,虽然幅值和相位不是线性关系,但寄存器累加值和相位可以是线性关系,很容易用寄存器的累加值表达相位信息。

m0_49968063的博客 6442

SWT高级控件之SWT的高级应用

<br /><br />13.1 打印支持<br />    SWT通过Printer类可以实现打印的功能。Printer类与Display对象都属于设备的一种,都继承自Device类。<br />    SWT中涉及打印的类都在org.eclipse.swt.printing包中,包括打印对话框类(PrintDialog)、打印类(Printer)、打印数据类(PrinterData)。<br />1. 打印类(Printer)和打印数据类(PrinterData)<br />    PrinterDat

chihailf的专栏 1259

在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

本文介绍了在Mac上搭建本地AI工作流的方法,结合Dify平台和DeepSeek模型。Dify是一个开源的大语言模型应用开发平台,支持可视化AI应用开发。部署步骤包括:1)安装Homebrew和Docker;2)克隆Dify代码库;3)配置环境变量并启动服务。同时,使用Ollama工具本地部署DeepSeek模型,将其集成到Dify中创建聊天助手。通过配置模型接口和新建应用,用户可以在本地环境中实现AI对话功能。这种方案既保证了数据隐私,又提供了灵活的AI应用开发能力。

Linda的自动化测试之旅 1535

在Swing中嵌入SWT的组件

可以用SWT_AWT类将Shell添加到Canvas上,然后将Canvas放入Panel中,Panel则可以随意放入SWING组件中。 大概代码思路如下: JFrame frame = new JFrame(); Container cp = frame.getContentPane(); Canvas canvas = new Canvas(); cp.add(canvas,BorderLa

MissionRex的博客 2444

【2025年华为秋招(AI)-11月19日-第一题(100分)- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要: 本文包含15道单选题和5道多选题,涵盖机器学习、深度学习、概率统计和数值计算等多个领域。单选题涉及Transformer的Softmax层作用、最小二乘法拟合、概率密度计算、注意力机制、反向传播问题、ROC曲线用途、截断误差来源等知识点。多选题考察大模型训练技术、BERT/GPT比较、强化学习对齐方法、CNN常见层以及PCA特性等内容。题目设计注重理论与实践结合,既包含数学推导,又关注前沿技术应用,全面检验读者对机器学习核心概念的理解能力。正确答案均附有详细解析,帮助理解相关技术原理。

m0_73659489的博客 145

Android 12.0 kenel中修改rom系统内部存储的大小

在12.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,由于在产品后续订单中,有些产品是出口的,但是硬件方面已经定板,时间比较仓促,所以 就需要软件方面在rom内部存储的大小方面作假,修改rom真实的大小容量,所以就需要在kenel驱动部分来修改这部分的值最好了,接下来分析下计算rom容量的 相关代码,然后做出相关的修改,来实现功能

安卓兼职framework和app工程师的博客 1678

SWT和AWT图像的互相转换 icon(AWT)--image(SWT)

最近做的RCP项目中,基本用的都是SWT,要在导出的RCP产品中运行起来时看到图片,只要使用 AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID, imagePath);即可。   棘手的是,有部分图片,使用的是icon,因为对象GraphConstants只有setIcon( );这个方法来设置图像。  所以我

xiaoliyaqian的专栏 2699

linux系统下XDMA驱动的安装与测试问题总结

先看两个常见的问题。一个是驱动安装问题,一个是驱动测试错误;error 512 能识别PCIE的设备,但是The kernel modle installed correctly, but no devices were recognized.

whm128的博客 3797

AWT、SWING、SWT和JFACE的比较

AWT Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。在任何一个 Java 运行环境中都可以使用它。AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包.有些经常使用的组件,例如表、树、进度条等,都不支持。  通常对于 AWT 来说(也适用于 Swing 和 SWT),每个事件类型都有一个相关的 XxxListe

玄机逸士的专栏 3786

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

AWT,SWT和Swing的区别

本文介绍AWT,SWT和Swing的区别是Swing是纯Java实现,而SWT和AWT 是Java和JNI的混合,当然,它们的目标都是相同的,提供一个跨平台的APIs。 GUI 应用程序是软件的一种主要类型,所以Java的GUI库应该是标准化并被集成到JRE平台中的。然而不同的操作系统有不同的GUi风格和组件集。有一些组件在所以平台上有相似的观感。这些共有组件如按钮

jwmwdxxxx的专栏 1293

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

awt,swing,swt比较

  特性 AWT Swing SWT

treewater的技术 3706

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

GUI开发之AWT、SWING、SWT和JFACE的比较

 AWT Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。在任何一个 Java 运行环境中都可以使用它。 AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包.有些经常使用的组件,例如表、树、进度条等,都不支持。   通常对于 AWT 来说(也适用于 Swing 和 SWT),每个事件类型都有一个相关的 XxxL

Gaowen_HAN的专栏 7895

细说Java GUI:AWT,SWT,Swing

历史 Internet上有许多围绕这一争论的故事。你可能已经听说过它们中的大多数了,其中之一有助于让你理清头绪,让我们就从这里开始,Amy Fowler是Swing阵营的一个倡导者。 回到上个世纪90年代,曾几何时有3家庞大的Smalltalk公司——IBM、Parc-Place和 Digitalk。在90年代初期3家公司的市场份额大致相等,生活是美好的。Parc-Place采用仿窗口部件(emulated widgets)的设计(即Swing的设计),IB...

顺其自然~专栏 2258

SWT:AWT和SWING的强大竞争者

SWT:AWT和SWING的强大竞争者        内容: 第一个SWT程序 剖析SWT API 更复杂的程序 系统资源的管理 线程问题 SWT的扩展:JFace 参考资料 关于作者 Also in the Java zone: 教学 工具与产品 代码与组件 所有文章 实用技巧 倪大鹏 (ndp@e2one.com)2003 年 2 月从Java诞生至今,已经在太多的领域取得

tar的专栏 1501

swt与awt/swing比较

    自IBM公司提供的跨平台GUI开发包SWT以来,越来越多受到广大程序员的亲睐,已经有不少程序员用它开发出美观、高效、实用的桌面应用程序。这让我们更有理由去探索SWT给我们带来的惊奇。        SWT在外观和性能上都超过了awt/swing,为什么这样说呢?下面简单的测试程序会让你一目了然。废话也不多说,让我们看程序。    下面让我们写一个简单的程序来测试一下,程序只做一件事,就是用

1665

java awt swing swt_如何在SWT中使用AWT、SWING组件

本文转载自『流子的博客!』http://liuzi.roboticfan.com更多精彩内容,欢迎访问流子的博客!1推荐大家知道在windows平台上SWT有一种更快更美更好的优势,但是现在的许多控件,比如jfreechart是基于Swing的,这就有个需要把SWT-AWT桥接起来的问题.前几天就遇到了这个问题,就是要在一个Eclipse里显示JFreeChart的图形,因为后者是基于Java2D...

weixin_42347873的博客 413

swing/swt/awt组件互嵌

SWT中嵌入awt/swing控件: public static void main(String[] args) {         final Display display = new Display();         final Shell shell = new Shell(display,SWT.EMBEDDED);         Frame frame = SW

pan-zy的专栏 2220

如何在AWT,Swing和SWT中选择?

IBM工程师写的,参见。http://www-128.ibm.com/developerworks/opensource/library/os-swingswt/ AWT:In general for AWT (and also Swing and SWT), each event type has an associated XxxListener interface (and po

ychcai的专栏 1537

AWT, SWING, SWT, JFACE 比较

[b]AWT[/b] Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包.在任何一个 Java 运行环境中都可以使用它. AWT 是一个非常简单的具有有限 GUI 组件、布局管理器和事件的工具包.有些经常使用的组件,例如表、树、进度条等,都不支持. 通常对于 AWT 来说(也适用于 Swing 和 SWT),每个事件类型都有一个相关的 XxxL...

[203] 一直都有新高度 508

在SWT里显示AWT对象

今天遇到一个问题,就是要在一个Eclipse插件里显示JFreeChart的图形,因为后者是基于Java2D的,要把图形显示在SWT应用程序里需要利用SWT-AWT桥接器来实现,虽说桥接的方式多半会伴随着性能下降,但总归是一个解决方法。 代码并不复杂,以下是一个片断: publicvoidcreatePartControl(Compositeparent){par...

diaozhuo4700的博客 208

SWT行,AWT/Swing也行系列(1)-实现半透明及不规则窗体

对于Java来说,GUI开发一直都是项比较头疼的事情。从AWT的功能奇缺,到Swing的臃肿不堪,往如梦魇般困扰着Java开发人员。于是,有一群人开始走向了邪路……这群误入岐途的人(至少Sun是这么认为的……),走出了自己的一条路,名为SWT(Standard Widget Toolkit)的不归路(Sun,Sun|||)。说起SWT冒着被诟病为邪恶所换取的,无外以下几点:1.彻底摒弃了AWT/S

【Java究竟怎么玩?】 1万+
上一篇: 扩展jfreechart实现对于每一个bar颜色的控制
下一篇: 对于osgi bundle的集成测试研究
tkxing
博客等级 码龄19年 1粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值