wt

阅读 / 问答 / 标签

激战2WTS总决赛冠军争夺战之战术讲解

《激战2》WTS世界锦标赛中国站总决赛无疑是为广大电竞爱好者带来了一场无与伦比的比赛!到场观战的玩家无不大呼过瘾,所有人的神经都被每一场比赛牵动着,时而紧张,时而唏嘘,时而忐忑,时而亢奋,欢呼声此起彼伏。而在场上战斗着的选手们也随着比赛的紧张程度情不自禁的呐喊着,这是一个没有硝烟的战场,甚至有时需要牺牲自己来保全大局,每一位战士都在尽全力去争夺团队的至尊荣誉,这就是竞技的魅力所在! 【征战北美 共享荣誉】北美站报名的开启也预示着战鼓再次敲响,擦干之前失利的泪水,收起之前胜利的骄傲,重燃斗志,拥抱梦想,无论是重归战场还是第一次踏上征途,请不要忘记最初的梦想,《激战2》WTS世界锦标赛帮你圆梦电竞舞台,荣誉之战即将打响!【冠军争夺 世纪之战】当晚最精彩的莫过于北美The Abjured战队与欧洲The Civilized Gentlemen战队之间的冠军争夺战了,欧美双方均具备世界最强的实力,欧洲队已经建队许久,阵容稳定,队员对于《激战2》职业的理解也是颇为深刻。在国服PVP竞技场还是一水的弓锤战士体系的时候,以独创套路著称的欧服大神ROM已经在本次WTS上祭出了战号战士,着实让中国玩家惊讶了一把。而美服方面,预选赛结束后临时改变的无重甲职业的纯爆发机动流配备更是让所有人大跌眼镜。比赛一开始,观众们就感受到了和前几场比赛不一样的局势。三个点同时爆发战斗,谁也不能占据上风。首场比赛打到中段,美服队突然一次集中,占据了不小的优势。最终首局因为比赛时间打满,欧服在占据点位绝对优势情况下以470:483惜败。只要再有三十秒,胜负就将易主,这局比赛充分体现出了世界巅峰对决的含金量。第二场及时调整状态的欧洲队在开局不利的情况下逆转拿下一局。第三局,美服队410:341获胜拿到冠军点。双方第四战采用了静风神殿这副新地图,该地图的特点就是按时间定时刷出的两个BUFF,拿下BUFF之后三点全占,将给对手带来沉重的打击。美服队机动性高的职业搭配显示出了不小的优势,同时,对于欧服Sizer大神也进行了重点关照。最终,美服队再下一城,以总比分3:1拿下来《激战2》WTS世界锦标赛中国站的冠军。 【真竞技 绝对公平PVP】《激战2》的PVP系统与以往的MMORPG游戏相比是真正做到百分之百绝对公平,玩家达到2级的时候即可进入战场或者竞技场,进入战场的玩家属性完全相同,同时技能会全部点亮,特性点也全部解锁。玩家可以随心所欲的搭载PVP技能。一切套路均由你自己决定,充分体现了竞技的独特魅力所在,凭借超凡的战术意识以及熟练的操作才能最终取得胜利!

WTS-25A/4P-PC是什么开关

是漏电保安器要4 线的

wtsapp什么意思中文

好像是手机上的一个应用程序

配电柜内WTS是什么。

防雷器也叫浪涌

想问一下wts是什麼软件的缩写

确定不是WPS?

西门子WTS是什么???

西门子的WTS平台,英文world technology standed,全球统一技术标准,西门子德国总部研发产品,然后把每个产品的各方面设计、性能、组装、生产、采购的所有的参数上传到WTS平台,全球各地的西门子工厂按照上面的某个型号的参数采购、生产进而销售,这样做出来的产品和德国的就完全相同,比如如果某个型号的冰箱用的恩布拉科的压缩机在国内没有生产,就会用原装进口的,如果恩布拉科公司在国内生产就用国内产的,通过这样来做到全球统一标准。所以西门子不做原装进口,国产的零配件、生产工艺和进口的完全相同。苹果手机就是用这种方法,在美国研发,然后让深圳龙华的富士康全球采购零配件来组装苹果手机,所以你没听说过苹果手机有美国进口的。

wts软件是什么

WTS 是COHO 公司旗下的劳动力管理套件中的一个考勤管理模块,WTS考勤管理模块可从劳动力排班、时间/工作数据收集以及休假管理中获取原始数据信息,自动匹配企业制定的考勤制度实时运算结果,...

wts是什么程序

WTS  1、WTS=Want to sales,网络游戏中,表示想要出售物品的意思。  2、WTS=web tranlate system,babelzilla项目下的网络翻译系统,具体内容见babelzilla词条  3、Wideband Telemetry Subsystem 宽带遥测子系统  4 windows时间服务

wts什么软件

wts是babelzilla项目下的网络翻译系统,是一个手机应用程式软件。翻译是在准确,通顺,优美的基础上,把一种语言信息转变成另一种语言信息的行为。翻译是将一种相对陌生的表达方式,转换成相对熟悉的表达方式的过程。其内容有语言、文字、图形、符号和视频翻译。

用java SWT做迅雷项目时线程老卡死怎么办?求具体实例

swt执行线程SWT中的多线程机制和awt/swing中有些不同,这个大家应该都知道,不过还是要说下,Display对象中负责调用其他线程的方法有以下3种:● asyncExec(Runnable runnable):异步启动新的线程。所谓异步就是,UI线程不会等待runnable对象执行结束后再继续进行,就是说UI线程可以和runnable对象所在的线程同时运行。● syncExec(Runnable runnable):同步启动新的线程。所谓同步就是,UI线程会等待runnable对象执行结束后才会继续进行,当runnable对象是耗时大的线程时,尽量不要采用此种方式。另外,对于该种方式创建的线程可通过getSyncThread()方法获得线程对象。● timerExec(int milliseconds,Runnable runnable):指定一段时间再启动新的线程。用此方法创建的线程,将会在指定的时间后再启动线程。当然用此方法创建的线程启动后,与UI线程是异步的。如果指定的时间为负数,将不会按时启动线程。另外Display对象中,与UI线程相关的方法如下所示:● 获得当前的UI线程对象的方法:getThread(),返回Thread对象。● 使UI线程处于休眠状态:sleep()。● 唤醒UI线程:wake()。上面几点都是书里面的原话,不做阐述了.下面我要说的是一个写法的问题,不能小瞧啊,后果很严重.如果有一个线程他要做的事需要很久比如5分钟,像我这样的初学swt的人一定是new了一个线程然后getDisplay().asyncExec(线程对象); 结果虽然执行成功,但是界面确处于挂起状态(假死),直到执行结束,不过要说的是的确是异步执行的,还是ui却不知道为什么停止用户响应,原理暂时先不去理了,swt源码太复杂了.这里面就要引出一个问题为什么不 像下面这么写呢?Thread thread = new Thread(线程对象); thread.start();因为swt中非UI线程中调用窗口控件如果不像上面三种写法那样写的话,会抛org.eclipse.swt.SWTException: Invalid thread access这个异常在swt中程序启动时只有一个主线程,在这里与awt和swing是不一样的,它不允许其他线程访问UI主线程中的部件,具读过swt源码的人说AsyncExec方法根本就没有新启动一个线程而是由Synchronizer调用其中的 run 方法而已.如果是这样的话,也就难怪UI会挂起.解决这个问题的一个比较好的方法是如果要异步执行的线程所做的工作非常少的话,就无所谓了,如果异步线程需要执行很长时间的话,应该像下面这样启动线程Thread thread = new Thread(线程对象); thread.start();在线程对象里面所有调用到UI部件的地方classFinder.getGui().getDisplay().syncExec(new Runnable() { public void run() { //do run }});历经几个小时问题终于解决了这里做个总结吧.我对swt多线程的评价swt的syncExec ,asyncExec 以及timerExec都是伪线程执行方法,把它看成特别的Synchronizer调用就可以了,syncExec ,asyncExec 以及timerExec执行的线程要做的事只是改变UI部件的属性而已执行时间不能太长.此外的其他操作仍然由传统的线程来做.这里要特别注意,swt执行线程只用于在传统线程中操作ui组建在这里要感谢内部类,否则一个复杂的swt线程不知道要写多少个为swt部件服务的标准类

用SWT-Datepicker控件如何自定义CellEditor

这样不太容易弄。。以前有试过写过,不过失败而告终了。。反正挺难的。。希望楼主可以找到人弄吧。。祝你好运!

请问如何用java的SWT实现树节点的动态修改?

在SWT中的tree 和table要实现对应的动态编辑功能,SWT中实现了这样的方法,对应的类叫做TableEditor和TreeEditor.可以去看看

我想在 swing 的 jpanel 中嵌入 swt

链接:http://pan.baidu.com/s/1ntpCm7Z [/url]密码: cc57 可以关注公众号”zui分享“,那里有很多最新电影,会定期更新

用eclipse打包swt问题。。

是不是用到的JAR包没有打进去?

全面比较AWT和Swing

  比较AWT和Swing    AWT和Swing组件体系   a)Swing 通过在父组件上动态调用add()和remove()方法 来对组件树进行动态维护 因此 可以存在没有父组件的子组件   b)SWT 通过在构造函数的参数中 指定父组件 因此 不可能存在没有父组件的子组件    AWT和Swing组件绘制   a)Swing 通过调用组件的paint()方法来进行组件的绘制 组件进一步对他的子组件调用paint() 从而完成整棵组件树的绘制 通过子类化 重写paint()方法 可以完全定制一个组件的绘制   b)SWT SWT组件只是本地平台上实际组件的一个代理 实际组件采用win 编程方式进行绘制 绘制的过程不在JVM中完成 因此 子类化也不能对绘制进行完全定制 当SWT组件进行绘制时 他在完成了本地的绘制以后 会返回JVM 然后对所有已注册的PaintListener发出通知 因此 通过注册PaintListener可以对组件绘制进行一定程度上的修改    AWT和Swing事件模型   a)Swing中的事件会跟据当前的焦点进行发送 父组件不能对事件进行过滤 Swing中的事件监听器都是有类型的 因此每个组件所能支持的事件类型是通过方法名来限定的 不能扩展   b)SWT中的事件也是根据当前的焦点进行发送 父组件不能对事件进行过滤 SWT中支持有类型的监听器 也支持无类型的监听器 通过addListener(type listener) 我们可以为组件添加任何类型的监听器    AWT和Swing包设计   a)Swing是一个纯粹的组件库 他没有图形的操作 他的绘制最终转发给Java D来完成   b)SWT包含了组件库和图形库 他的结构与AWT比较接近    其它   AWT和SWT实现原理不同 AWT控件相当于是一笔一画绣出来的 参加 java awt Component paint(Graphics g) 性能差 而SWT调用了操作系统后台原生库 eclipse swt widgets Control类型中就没有类似的paint方法了 但是有一个接口 eclipse swt graphics Drawable 实现原理的不同带来了性能和用户视觉的差异   SWING 是基于AWT提供的MVC不完全实现 JFACE是基于SWT提供的MVC不完全实现 两者的核心作用都是提供了viewer和模型封装的概念 从设计实现层面看 SWING更加唯美一些 JFACE则更加侧重于实用 SWING和 JFACE两者都偏重于行为控制上下文 而对UI数据(例如 一个文本框控件中的内容)的管理都没有做太多的设计 JFACE中略有改进 提供了 setData的概念 JFACE是为了Eclipse而生的 虽然后来 RCP出来了 又做了其他的包装宣传 典型的体现就是提供了JFace Text Framework和其他一些用户构建Eclipse元素的UI支持 也提供了一些系统资源管理(ImageRegsitry ResourceManager等)等附加功能 lishixinzhi/Article/program/Java/hx/201311/26412

SWT 如何触发一个按钮的点击事件

你可以使用ie的调试器F12 点开F12,选择探查器,然后点击“开始配置文件”,然后在页面上点击按钮,然后再回到选择“停止配置文件” 你就可以看到触发这个点击事件的方法了

SWT中如何获取控件在屏幕上的位置

用控件坐标加上窗体坐标就得出了。。

java中SWT鼠标单击事件监听器

为什么不能满足?mouseUp就是按下之后被释放,mouseDown是按下去还没有释放。你可以结合Control的bound和location来计算按下和释放时的位置来确定是否进行必要的事件处理。

SWT Designer插件使用方法

在编辑视图中右键点击一个组件,可以找到各种事件。也可以在代码中写zujian.addOOXXListener(new OOXXListener(){ 实现各种方法})

如何将SWT中goup背景换颜色

Color whiteColor = new Color(null,255,255,255);//创建白色的color shell.setBackground(whiteColor );//设置背景颜色shell.setBackgroundMode(SWT.INHERIT_FORCE);//这个也比较常用,是把shell的所有的子控件的颜色背景设置成透明,设置之后所有的的子控件就不会有不同的背景颜色了。且这个属性是递归的,也就是说,你设置之后,就连你的孙控件的背景颜色都变透明。

在线等 小白等大神来解答一下这个Java SWT问题~

Caused by: java.lang.IllegalArgumentException: Argument cannot be null关键在这句话,说的是你的参数不能为空,你看下你的程序是不是哪里需要一个参数,而你没写呢!然后提醒你一下,如果你要问问题最好把你的问题说清楚一点,有代码的尽量把代码附上,这样回答者才能更好的帮你解决问题!

java swt 中如何刷新组件

你需要从新执行以下哪个读文件列表的函数,这样就可以实现刷新了。

SWT里的组件随窗口调整位置

请使用Java提供的布局方法,我以前SWT编程的经验是这样的, 如果布局选用的是NULL或者是X,Y布局,这样虽然在开发的时候,可以很好的控制控件的位置,但做好r后,控件的座标点就固定了,窗口变化不会引起控件变化,只有使用Java提供的布局才可以实现控件随着窗口变, 有一个折中的办法,使用NULL面局做完界面以后把布局改成GridBagLayout这样控件会有稍许移动, 最好的效果是多布局组合,不过非常累人............ 还有一点就是这个方法是在JBuilder中实现的,GridBagLayout是不是Java标准布局忘记了

SWT 怎么把组件的背景设置成透明的

给你一个插件,你绝对会喜欢的,http://www.oschina.net/p/beautyeye,

java swt 窗口监听问题

如果要想弹出B的话,你的B类.肯定是已经写的了.那就这样Button c = new Button(shell, SWT.none); c.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { new B(); } });

eclipse swt如何添加背景图片

java中的图形编程上时不能直接加背景图片的,如果相加。我们可以自己写,我给你一个类:这个是一个可以生成背景图片的类。import java.awt.Dimension;import java.awt.Graphics;import java.awt.Image;import javax.swing.JPanel;/** * 该类实现自定义的面板,可以显示图片 * */public class ImagePanel extends JPanel{ private static final long serialVersionUID = -5029535020120106282L; /**Image类型的实例*/ private Image img; /** * 构造函数 * @param img Image 对象 */ public ImagePanel(Image img) { this.img=img; Dimension size=new Dimension(img.getWidth(null),img.getHeight(null)); setSize(size); setPreferredSize(size); /* public void setPreferredSize(Dimension preferredSize)将组件的首选大小设置为常量值。 对 getPreferredSize 的后续调用总是返回此值。将首选大小设置为 null 可还原默认的行为*/ setMinimumSize(size); setMaximumSize(size); setLayout(null); } /** * 设置图像面板的图像对象 * @param img Image类型对象 */ public void setImage(Image img) { this.img = img; } /** * 重写父类的方法 */ public void paintComponent(Graphics g) { g.drawImage(img, 0, 0, null); }}下面是使用方法:import java.awt.Dimension;import java.awt.Toolkit;import java.net.URL;import javax.swing.ImageIcon;import javax.swing.JFrame;public class Member extends JFrame { public Member() { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("会员管理"); setSize(700,600); //把屏幕定位到中心 Toolkit tool=this.getToolkit(); Dimension di= tool.getScreenSize(); double width=di.getWidth(); double height=di.getHeight(); this.setLocation((int)((width-this.getWidth())/2), (int)((height-this.getHeight())/2));// //设置背景图片 { //设置背景图片 URL url = getClass().getResource("/images/1.jpg");//这个是你 的图片的路径,就不用我说了吧,把路径写正确就可以了 if(url != null) { ImagePanel mai=new ImagePanel(new ImageIcon(url).getImage()); this.add(mai); } } setResizable(false); setVisible(true); } public static void main(String[] args) { Member m=new Member(); }}

swt中窗口加载的事件

public class Main1{ public static void main(String[] args) { Display display = Display.getDefault(); Shell shell = new Shell(); shell.setBounds(50, 50, 682, 600); shell.open(); final Label label = new Label(shell, SWT.NONE); label.setText("Label"); final Label label_1 = new Label(shell, SWT.NONE); label_1.setFont(SWTResourceManager.getFont("", 36, SWT.NONE)); label_1.setText("欢迎使用书店进销存管理系统"); label_1.setBounds(28, 146, 636, 69); final ProgressBar progressBar = new ProgressBar(shell, SWT.NONE); progressBar.setBounds(105, 395, 449, 17); shell.layout(); shell.getDisplay().asyncExec(new Runnable(){ public void run() { System.out.println("dddd"); for(int i = 1; i < 11; i++) { progressBar.setSelection(i * 10); try { Thread.sleep(1000); } catch (Throwable t) { t.printStackTrace(); } } } });// shell.addShellListener(new ShellAdapter()// {//// public void shellActivated(ShellEvent e)// {// System.out.println("dddd");// for(int i = 1; i < 11; i++)// {// progressBar.setSelection(i * 10);// try// {// Thread.sleep(1000);// }// catch (Throwable t)// {// t.printStackTrace();// }// }//// }//// });while(!shell.isDisposed()) { if(!display.readAndDispatch()) display.sleep(); } display.dispose(); }}

java用swt 如何建立选择文件夹路径的对话框?

放在陆经理

魔兽世界SWT6.5装备在哪换

在岛上的船上~不是换s2~~你看了就知道~

swt 中group 的使用

public static void main(String[] args) { Display display = Display.getDefault(); Shell shell = new Shell(); shell.setBounds(50, 50, 600, 600); shell.open(); shell.setLayout(new GridLayout()); Composite composite = new Composite(shell, SWT.NONE);//添加composite的布局显示 composite.setLayout(new GridLayout(1, false)); Group group = new Group(composite, SWT.NONE); group.setText("有效更新"); Button button1 = new Button(group, SWT.RADIO);//设置Bounds button1.setBounds(10, 21, 193, 35); button1.setText("等价版本仅服务版本增加"); shell.layout(); while(!shell.isDisposed()) { if(!display.readAndDispatch()) display.sleep(); } display.dispose(); }

SWT如何关闭窗口

Window1:import java.awt.BorderLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;public class Window1 extends javax.swing.JFrame { private JPanel jPanel1; private JButton jButton1; public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Window1 inst = new Window1(); inst.setLocationRelativeTo(null); inst.setVisible(true); } }); } public Window1() { super(); initGUI(); } private void initGUI() { try { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); this.setTitle("Window1"); { jPanel1 = new JPanel(); getContentPane().add(jPanel1, BorderLayout.CENTER); jPanel1.setLayout(null); { jButton1 = new JButton(); jPanel1.add(jButton1); jButton1.setText("OK"); jButton1.setBounds(111, 62, 103, 22); jButton1.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { Window1.this.setVisible(false); Window1.this.dispose(); Window2 w2=new Window2(); w2.setVisible(true); } }); } } pack(); setSize(400, 300); } catch (Exception e) { e.printStackTrace(); } }}Window2:import javax.swing.WindowConstants;import javax.swing.SwingUtilities;public class Window2 extends javax.swing.JFrame { public Window2() { super(); initGUI(); } private void initGUI() { try { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); this.setTitle("Window2"); pack(); setSize(400, 300); } catch (Exception e) { e.printStackTrace(); } }}

java 用SWT开发软件,打包为jar无法出现界面

打包成jar要打包成runablejar。

java求助:swt中如何隐藏顶部菜单

窗体顶部菜可以在实例化的时候设置,也可以单独设置:Shell s = new Shell(parent,SWT.BORDER); //建立一个有边框但没有标题栏的窗口 Shell dlgShell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); setShellStyle(这里可以任意设置样式);能够设置的样式如下:(以下属性可以多选,但是某些属性相冲突时会导致设置的其他属性失效)SWT.BORDER //建立一个有边框但没有标题栏的窗口SWT.CLOSE //建立一个只有关闭按钮的窗口SWT.MIN //建立一个不能最大化的窗口SWT.MAX, //建立一个可以最大化最小化的窗口SWT.NO_TRIM //建立一个没有任何边界和标题栏的窗口SWT.RESIZE //建立一个可以改变大小的窗口SWT.TITLE //建立一个没有标题栏图标,没有关闭按钮的窗口SWT.ON_TOP //建立一个总是在上的窗口,注意:此属性最好与CLOSE、MIN、MAX一起使用。SWT.TOOL //建立一个类似工具栏的窗口SWT.APPLICATION_MODAL //建立一个APPLICATION模态窗口SWT.MODELESS //建立一个非模态窗口SWT.PRIMARY_MODAL //建立一个PRIMARY模态窗口SWT.SYSTEM_MODAL //建立一个SYSTEM模态窗口 还有两个快捷属性来建立窗口SHELL_TRIM //建立一个标准模式的窗口,相当于属性设置为CLOSE | TITLE | MIN | MAX | RESIZEDIALOG_TRIM //建立一个对话框模式的窗口,相当于属性设置为TITLE | CLOSE | BORDER

用户文件夹中出现一个“.swt文件夹”,是干什么用的?

这是java的SWT控件 生成的

SWT 设置背景图片的问题

new Image(Display.getCurrent(), getClass().getResourceAsStream("/images/1.jpg"))

swt如何删除组件

可以对它的父容器进行隐藏。Composite comp = new Composite(parent, SWT.NONE);comp.setLayout(new GridLayout(3, false));comp.setVisible(false);这样也可以。

java中,用SWT创建主窗体,我想点击关闭按钮时弹出个对话框,判断是否退出系统还是最小化到托盘...

你是不是给你窗体设了frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)?改为frame.setDefaultCloseOperation(do_nothing_on_close);

matlab dwt函数和swt函数有什么不同

连续小波是尺度可连续取值的小波,里面的a一般取整数,而不像二进小波a取2的整数幂。从连续小波到二进小波再到正交离散小波,其实就是a、b都连续,a不连续、b连续,a、b都不连续的过程。操作他们的快速算法也就是卷积(快速傅里叶),多孔(a trous),MALLAT。在MATLAB里,也就是CWT,SWT,DWT。SWT称平稳小波变换、二进小波变换、或者非抽取小波变换。从冗余性上:CWT>SWT>DWT,前面两个都冗余,后面的离散小波变换不冗余。从应用上:CWT适合相似性检测、奇异性分析;SWT适合消噪,模极大值分析;DWT适合压缩。

JAVA 运行 包含SWT包的程序报错了错,怎么解决啊,我在问题补充那里有说明错误哦

方法1,安装一个32位的jdk 然后window->preferences->java->installed JREs 勾选32位的jdk方法2,下载一个64位的SWT,替换即可

swt 如何关闭窗口

通过调用display.sleep()函数来关闭窗口。while (!shell.isDisposed()) { if(!display.readAndDispatch()) display.sleep(); }窗口不断地执行以上语句,等到shell关闭了,display也关闭了,display.sleep()关闭窗口。水平有限,有答错的多多包涵!

谁能告诉我swt、jface和swing它们之间有什么区别?它们之间的优劣?还有能同时学习它们吗?

他们都是桌面应用开发技术,只说他们区别的最大特点: SWT的桌面小控件工具集使用了当前操作系统的小工具集,如果遇到当前操作系统没有的控件才会自己去创建,这一特点使SWT开发出来的桌面系统在当前操作系统更和谐,放在windowx下是windows的风格,放在linux下是linux的风格。JFace是SWT的延伸拓展,更高级更强大,例如一些对话框JFace提供了原型,而用SWT的话就得先画shell再往里面放控件自己动手画。 而AWT SWing是一体系,他们完全使用了自己的小控件集,跟操作系统就无关了,放在哪都是开发时的风格样式。 用得多的还是SWT/JFACE,学完SWT/JFace后可以随便翻看一下SWing是怎么创建怎么布局就行了,他们是相通的.更多请参见:http://zhidao.baidu.com/question/14477884.html

汽车的SWT什么功能

是汽车管理系统;也是阻燃线

java swt出错,初学者求解决

额。。我想问,你这写法是什么语言转过来的,看着怪别扭的,大小写之类的全部都没区分。错误的话,应该是,text.setText(null);这个不能设置为null,改成text.setText("");就可以了。

为什么在Eclipse的官网找不到SWT的下载了?

swt是第三方的插件。直接从网上搜就行了。 你从网上搜一下 swt desinger下载。或者留下邮箱,我传给你。

如何在SWT中使用AWT、SWING组件

一、将SWING界面嵌套到SWT控件中/* import org.eclipse.swt.awt.SWT_AWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell;/** * swt中显示awt控件 final Display display = Display.getDefault(); final Shell shell = new Shell(); shell.setSize(327, 253); shell.setText("SWT Application"); //------------------新插入的界面核心代码---------- shell.setLayout(new RowLayout()); Composite comp = new Composite(shell, SWT.EMBEDDED);//SWT.EMBEDDED必须 java.awt.Frame frame = SWT_AWT.new_Frame(comp);//只能放frame不能放JFrame java.awt.Button button = new java.awt.Button();//可以放JButton等Swing控件 button.setLabel("AWT button"); frame.add(button); //------------------END------------------------ shell.layout(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep();}}}关键之处在于SWT_AWT.new_Frame()方法,得到的是一个java.awt.Frame对象,要显示的AWT,SWING内容都放在它上面就好。BTW, SWT下免费的图表工具好象很少,只能暂时先这样使用JFreeChart了。Update: 如果要在SWT里显示带有动画效果的AWT图形,最好在Frame上先放一个JPanel这样的带有双缓冲的控件,否则图象在运动时会产生明显的闪烁。 二、用SwingWT 三、两种方式的对比 (1)前者不用改用SWING的软件的源代码,后者需要。

SWT有什么方法可以让生成的shell出现在最前

windows操作系统还可以利用SWT的一个小BUG来达成这种效果,如果需要支持linux则有点问题windows的实现方式为:1.在原窗口打开的时候创建不能获得焦点的窗口,设置属性为隐藏2.需要打开不能获得焦点的窗口时设置可见属性为TRUE因为在原窗口打开的时候不能获得焦点的窗口已隐式打开,点击按钮时控制其显隐,不会获得焦点,这个其实是SWT在WINDOWS中的一个BUG,SHELL源码有注解,而linux版没有此BUG

swt怎么实现输入框

import org.eclipse.swt.widgets.Text; Text text = new Text(shell, SWT.BORDER);

斐乐swt和fwt区别

颜色上的区别。Swt相比较Fwt会稍微的暗一点,但是也没有什么太大的区别。FILA中国一直在持续采购和使用中国棉产区,包括新疆出产的棉花。FILA时尚活力的形象,新颖的设计和高品质的产品给消费者留下了深刻的印象。

SWT中table控件如何设置文字的对齐方式

Label.setAlignment(swt.CENTER)

Java 插件开发SWT中布局。用的是gridData

SWT插件用于Java 图形用户界面开发的,可以去其官网下载与Eclipse版本相关的压缩包。本人使用的是Eclipse3.4,下载的SWT包是Designer_v6.7.0_for_Eclipse3.4.zip。(注:SWT必须与Eclipse版本要一致,下载SWT是要看清楚)。将下载的SWT包解压缩,解压后有一个批处理文件和features、plugins文件夹。将这个批处理文件拷贝到eclipse目录,双击运行。然后将该批处理文件删除。将SWT解压包中features、plugins文件夹中的内容全部拷贝到eclipse的相应目录中。(注:有的资料上说:需要将eclipse目录下的configuration目录中,所有org.eclipse.*文件夹都删除。我这样试了,但是这样做Eclipse根本无法启动。所以我的这个方法中不需要这样做,不知到是否与eclipse的版本有关,还需详细考证)。然后启动eclipse,在file-new-other中如果看到designer选项,就证明SWT安装成功了。下来进行插件的注册,我选择的免费注册,不过这样需要填写一个用户的详细资料,然后就会通过email收到一个注册码。步骤:window-Preferences-Designer-Registration and Activation。在select a product to evaluate中选择SWT-Designer。点击next,然后填写你的个人信息。然后就会通过email收到一个Activation key。重新执行上述注册步骤,在Activation Key的文本框中输入通过email收到的key就完成了SWT的免费注册。

SWT管理事件循环

while(!shell.isDisposed()){ //如果当前窗口未被销毁 if(!display.readAndDispatch()) display.sleep(); //在窗口没有销毁之前,显示对象处于休眠状态 } display.dispose();//销毁当前对象

斐乐fwt和Swt的区别

颜色上的区别。Swt相比较Fwt会稍微的暗一点,但是也没有什么太大的区别。FILA中国一直在持续采购和使用中国棉产区,包括新疆出产的棉花。FILA时尚活力的形象,新颖的设计和高品质的产品给消费者留下了深刻的印象。作为不断打破常规的运动品牌,FILA持续以其不断创新,充满设计感的产品满足不同消费者的需求,以往新锐的原创产品成为今日的金典。

Eclipse中的swt需要的jar包

import java.awt.Label;你自己引入了awt的label怎么用SWT的label去掉这行,再导入swt的label就行了

swt 怎样实现“退出”键功能

最后加一句退出

swt中是否有年月日时分秒的日期控件,如何使用

CDateTime dateTime = new CDateTime(shell, CDT.DATE_SHORT | CDT.TIME_SHORT | CDT.DROP_DOWN); dateTime.setPattern("yyyy-MM-dd HH:mm:ss"); 这样就可以出现年月日时分秒控件。

eclipse,新建没有swt?

用手写

swt是什么格式?

SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit). 虽然AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD问题。LCD问题导致了一些主要平台特征的遗失。

“swt”是什么意思?

在Java中,SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract WindowingToolkit).AWT框架底层使用原生窗口部件(native widgets)构建,只能使用各个平台窗口部件的子集。SWT: 标准部件工具包SWT是一个为Java设计提供了高效的部件工具包,便携式的访的用户界面操作系统并在其上实现

SWT控件,区分背景色和前景色

其实就是区分背景色和前景色,一般做法是前景色置成黑色或是白色:用RGB颜色去处理: (R + G + B)/3 <=128 前景置白色(R + G + B)/3 > 128 前景置黑色

你们觉得 swing 和 swt 哪个比较好?

swing 更加丰富

Java swt 怎样通过 按不同的按钮 在一个地方 显示 不同的table(如图,按学

jtabpanel可以实现,另个动态table model也可以实现

SWT 添加滚动条问题

思路是没啥问题的,你是滚动菜单没出来是吧。滚动菜单你要这样写,创建滚动菜单scrolledComposite之后,再创建一个parent,然后scrolledComposite.setContent(parent);parent.setSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); 然后parent记得设置layout这样菜单才会显示,然后循环出来的composite的父组件都要设置成parent。

swt如何达到窗口锁定的效果?

楼主在小窗口构造时加个SWT.ON_TOP试试。FileDialog dialog=new FileDialog(new Shell(),SWT.OPEN | SWT.SYSTEM_MODAL | SWT.ON_TOP);

如何用swt实现弹出提示窗口

int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO; MessageBox messageBox = new MessageBox(shell, style); messageBox.setText("Information"); messageBox.setMessage("Close the shell?"); event.doit = messageBox.open() == SWT.YES;

SWT的获取焦点的问题

用xlib做个窗口通过printf("b2 "); wm_hints->flags |= InputHint; printf("b3 "); wm_hints->input = False; printf("b4 "); XSetWMHints(display, parent, wm_hints); 可以达到失去焦点效果。

SWT现在用的多吗?

不是很广,但是也有用的.我下个项目就要用到.

如何在SWT中实现 本地打开文件 并显示文件内容

先把每个要显示的数据都要放在一个input或者div里面,并设置一个id,或者name属性,根据getElementById,getElementByName函数取到所要操作的对象,对于input可以用.val()得到值,对于div等自己试试.innerHtml(),.html(),.text()函数看看哪个能取到值。然后把取到的值赋给那个文本框就可以了。示例代码:<input type="file" name="file" accept=".xls" value=""/>

怎么正确的使用SWT进度条

摘要 使用进度条监视器并不像看起来的那么简单,在使用时很容易犯错。这取决于各种因素,像底层实现,显示方式,是否被设定固定数目的工作条目,是否使用了SubProgressMonitor 嵌套,等等。结果可能是完全没问题,也可能是 让人挠头,或者彻底不可用。 本文将指导怎样有效的使用进度条监视器。使用进度条监视器在许多简单的惯例中,有一条是“只知道所知道的,并且仅限于此”。这就是说,不能假设完全了解你所不知道的事情。就像,你不能想当然的认为进度条监视器就是你在IDE中看到的那些图片样子的东西。IProgressMonitor通常,所有的进度条操作都是通过IProgressMonitor接口.进度条监视器具有4中状态,通过接口只可以测到一种状态(当监视器被取消时)。状态的改变是通过如下方法的作用: beginTask(), done() andsetCanceled().PRISTINEIProgressMonitor实例被初始化之后,方法beginTask() 被调用之前的状态。IN_USE方法beginTask()被调用之后的状态,这里要注意 beginTask()只能被调用一次,FINISHEDdone()被调用之后的状态, 它也只能调用一次,并且只能在 beginTask()之后调用。CANCELED进度条被取消之后的状态。要以以下的模式使用进度条:monitor = ? // 获取进度条实例,现在处于 pristine 状态 try { monitor.beginTask(? // 执行工作任务 }finally { monitor.done() } The 一定到保证 done() 最后被执行。子任务用代理使用进度条监视器beginTask()被调用不要多于一次,这种错误经常发生。进度条被传给子任务,子任务没有意识到进度条已经执行了beginTask(),还是按照规定的契约,执行beginTask()方法。除非子任务对此了解,否则传递进度条实例是十分错误的。一般情况下,接受到进度条实例的代码应该假设此实例自己会遵守beginTask()/done()契约。如果子任务也需要进度条,就应该使用SubProgressMonitor作为代理,封装传入的进度条实例。 如下为样例:monitor = ?// 获取进度条实例try { monitor.beginTask(? // 执行任务 ?BR> // 创建一个子任务 someThing.doWork(new SubProgressMonitor(monitor,?) // // 创建右一个子任务 anotherThing.doWork(new SubProgressMonitor(monitor,?) }finally { monitor.done() }每一个doWork()调用得到一个新的SubProgressMonitor 实例。管理条目个数如果确实不知道确切的条目总数,不要随意猜测数字。如果猜大了,数字会走的很慢,然后突然到达100%;如果猜小了,那么会很快到达终点,并且永远停在那里。没有确切总数的话,填写IProgressMonitor.UNKNOWN就可以了。怎样调用 beginTask() 和worked()通常你可以通过两种方式得出你究竟要处理多少条目:一是调用许多不同的方法来得到结果,二是在一个集合中为每一个实例调用同一个方法。每种方式你都可以知道总的条目数(方法的个数或集合的大小)。 你应该将按比例测量出你的总数。如果总数是3 (每个条目工作为worked(1)),你可以把比例定为1000,总数为3000, (每个条目工作为worked(1000) ). 当你要通过SubProgressMonitor将工作传递到子任务中,就要应用这种方式。因为子任务内部的总数和外部是不同的,也许比你定的总数大许多。你要给它们一些缓冲润滑的空间。这样可以避免进度条执行时视觉上的便扭。 样例:monitor = ? // 取到进度条监视器int total = 3 // 总数为3try { monitor.beginTask(total)// 条目1 this.doPart1() monitor.worked(1) // 条目 2 this.doPart2() monitor.worked(1) // 条目 3 this.doPart3() monitor.worked(1) }finally { monitor.done() }这里没有必要按比例放大,也没有集合动态计算。 更详细的样例:monitor = ? int total = thingyList.size() * 3 + 2try { monitor.beginTask(total) // 条目 1 this.doBeforeAllThingies() monitor.worked(1) // 条目 2 to 倒数第二个 for (Thingy t : thingyList) { t.doThisFirst() monitor.worked(1) t.thenDoThat() monitor.worked(1) t.lastlyDoThis() monitor.worked(1) } // 最后一条 this.doAfterAllThingies() monitor.worked(1) }finally { monitor.done() }混合使用子任务在使用子任务的时候,子任务的总数就是分配给它的比例数。 monitor = ? int scale = 1000 int total = 3 try { monitor.beginTask(total * scale)// item 1 this.doPart1() monitor.worked(1 * scale)// item 2 this.doPart2(new SubProgressMonitor(monitor, 1 * scale)) //分配一个条目 monitor.worked(1 * scale) // 这里是不需要的,因为任务的管理有子任务负责// 条目 3 this.doPart3() monitor.worked(1 * scale) }finally { monitor.done() }You worked(). 不要将 IProgressMonitor.UNKNOWN 传给创建的 SubProgressMonitor()子任务进度条的实现只是盲目的使用传入的总数进行计算,当它接受到的是一个负值(IProgressMonitor.UNKNOWN为-1) 它也是按照惯例来进行计算,所以你看到的结果是进度条往回走。 IProgressMonitor.UNKNOWN不能在子任务进度条中使用,但是在父进度条中使用没有这种问题。取消上面的例子中,都没有判断进度条是否被取消。在实际使用中,推荐要及时的进行判断。 monitor = ? try { monitor.beginTask(thingyList.size()) for (Thingy t : thingyList) { if(monitor.isCanceled()) throw new OperationCanceledException(); t.doSomething() monitor.worked(1) } }finally { monitor.done()}The 空进度条这样可以使调用者不用必须传入monitor,只要输入null 就可以了。 public void doIt(IProgressMonitor monitor){ if(monitor == null) monitor = new NullProgressMonitor(); try { monitor.beginTask(thingyList.size()) for (Thingy t : thingyList) { if(monitor.isCanceled()) throw new OperationCanceledException(); t.doSomething() monitor.worked(1) } }finally { monitor.done() } }结论只要遵循这些规则,在使用进度条的时候就不会碰到麻烦。如果不信邪,想当然的用,迟早会出现奇怪的视觉显示,你的客户又要不停的抱怨了。

java swt 焦点事件

filterText.addFocusListener(new FocusAdapter(){ @Override public void focusGained(FocusEvent e) { filterText.selectAll(); } });

java有了Swing,为什么还要使用SWT呢?

由于在不同的操作系统下,提供的控件是不一样的,AWT采用最小公约数的办法,只提供所有操作系统都有的控件。但后来SUN改变了做法,在Swing里除了JFrame,JWinodows,JDialog(记不太清了,好像是这几个)是调用本地操作系统的控件,其它JPanel,JButton之类的都是绘出来的,所以Swing在所有平台看起来都是一样的外观。这样保持了外观一致性,但牺牲了性能。 IBM更喜欢AWT的实现机制,做出了SWT,SWT采用的是最大公倍数的做法。SWT大部分都是用的本地操作系统的控件,一些在windows里有的控件可能在linux下没有,对这种控件才采用自己绘制的方式。SWT采用类似JAVA虚拟机的方式,在不同的平台,有不同的开发包,我们写的java代码是一样的,但不同平台下看起来外观是不一样的,但性能提升很高,据说和C++做的界面速度差不多:) 也许你会问哪种更好,引一名话:this is equivalent to asking whether a harmmer is better than a screw driver,of course ,a hammer wieldded with sufficient force can probably drive a screw into a wall ,and the butt of a screw can be used in a pinch to knock in a nail. However, a good carpenter keeps both harmer and screw drivers in her tool box and will use the tool that is appropriate for the job at hand. 个人感觉以前java做界面完全没有优势,从外观到性能(我很喜欢Swing的look and feel,可以改变风格),SWT的出现改变了性能上的缺点,再加上JFace,及Eclipse的RCP,我还是倾向于用SWT。

swt是仅用于eclipse还是java的基础类库里的?

eclipse 是用Swt开发的,swt是为了开发Eclipse而设计的一个可视化组件,相当的不错,所以说在Eclipse的安装目录下肯定有Swt这个包,同事Swt也是可用用来做应用软件开发的,比起Swing,Awt有很多优势。

java中SWT是不是已经过时了,没有swing好用哦?

原来是Eclipse推出的。。 囧

怎么实现SWT窗口间的数据交流

如果你的SWT窗口是在同一个class里面的话,你可以通过定义全局变量来进行数据交流。你可以考虑用两个全局变量,当一个SWT输入了数据到指定的全局变量了以后,将另外一个全局变量设定改变,目标SWT之需要轮询全局变量的设定是不是改变就可以了。如果你的SWT是在两个public class里面的话,你可以考虑使用文件或者是数据库的方式,基本原理跟1里面提到的是一样的,首先将某个文件搞成特定的格式,当swt收到数据了以后,就更行这个文件,另外一个swt不断的轮询这个文件,当发现这个文件的格式有变化,就知道有输入了,然后就可以做事情了。

swt文件怎么打开??

用IE就可以直接放。拖到IE里或是用IE打开就成。

swt有什么样式可以让两个button同时在同排居中

shell.setLayout(new GridLayout()); Composite composite = new YtComposite(shell , SWT.BORDER); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL , true,false)); //设置gridlayout的num为2 composite.setLayout(new GridLayout(2 , false)); Button btnButton = new Button(composite, SWT.PUSH); //设置布局数据,是右对齐,且水平充满 btnButton.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL , true,false)); btnButton.setText("点击1"); Button btnButton2 = new Button(composite, SWT.PUSH); //设置布局数据,是左对齐,且水平充满 btnButton2.setLayoutData(new GridData(SWT.LEFT, SWT.FILL , true,false)); btnButton2.setText("点击2");原理就是,设置两个按钮的右对齐,和左对齐。

eclipse 如何安装 swt?

一,直接复制SWT的设计者下的文件到Eclipse的插件下既可。二,建一个专门放插件的文件夹,如:月食 myplugins,把下载解压得到的文件夹整个复制到Eclipse的 myplugins下面,完整的路径为:月食 myplugins SWT的设计者食 featurest和日食 myplugins SWT的设计者日食插件。然后,在Eclipse中的根目录下建一个文件夹为链接,目录为Eclipse的环节,在此目录下建一个文本文件SWT的designer.txt,完整路径为:月食链接 SWT的designer.txt,文本文件SWT的designer.txt中的内容为:路径= myplugins\ SWT的设计师。重运行下的eclipse.exe看看,是不是成功了。zhu:引自百度。

swt有linux版本吗

swt没有linux版本。因为连MAC系统的版本都没有linux,目前只有WindowS系统的版本,所以swt没有linux版本。SWT遵循操作系统平台直接支持的线程模型。

SWT是什么

swing 是sun写的,因为速度问题,ibm后来开发了swt(eclipse就是用swt写的),都是做界面的 swing是传统的java,内存机制和原来的一样,所以在运行起来需要较多内存,速度会比较差些,而且swing是自己去做界面的绘画 而swt的内存有特别控制,虽然不用额外的代码,但是会自己更及时回收,速度据说相对会比较快,跟swing也不同,swt在界面绘制上使用原生窗口足见,因此可以有有ms的风格 另外,swt和swing是不兼容的 大家有兴趣去搜索一篇“swt 内幕”,里头讲到swing的设计者(一个MM哦:),瞒有意思的 说归说,个人还是比较喜欢swing

Java桌面应用程序设计:SWT简介

  Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符 至今仍然很少能看到非常成功Java桌面程序 虽然有JBuilder Netbean JProbe等大型软件作为代表 但这仍不能证明Java的GUI程序是成功的 它们的外观总是和同一操作系统平台下的其它软件显得格格不入 对机器配置的需求也似乎永无止境 这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍 或是那些不在乎金钱和时间的专业用户所接受 对绝大多数计算机使用者来说 AWT或SWING代表着怪异的界面和无法接受的速度 Standard Widget Toolkit(SWT)或许是Java这一噩梦的终结者 广大Java程序员终于可以开发出高效率的GUI程序 它们拥有标准的外观 几乎没有人能看出你的程序是用Java写出来的 更为重要的是 这些程序是跨平台的   SWT本身仅仅是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API 或许是无心插柳 或是有意为之 至今为止 SWT无论是在性能和外观上 都超越了SUN公司提供的AWT和SWING 目前Eclipse IDE已经开发到了 版本 SWT已经十分稳定 这里指的稳定应该包含两层意思   一是指性能上的稳定 其中的关键是源于SWT的设计理念 SWT最大化了操作系统的图形构件API 就是说只要操作系统提供了相应图形的构件 那么SWT只是简单应用JNI技术调用它们 只有那些操作系统中不提供的构件 SWT才自己去做一个模拟的实现 可以看出SWT的性能上的稳定大多时候取决于相应操作系统图形构件的稳定性   另一个稳定是指SWT API包中的类 方法的名称和结构已经少有改变 程序员不用担心由于Eclipse组织开发进度很快(Eclipse IDE每天都会有一个Nightly版本的发布) 而导致自己的程序代码变化过大 从一个版本的SWT更新至另一版本 通常只需要简单将SWT包换掉就可以了    第一个SWT程序   下面让我们开始一个SWT程序 (注意 以下的例子和说明主要针对Windows平台 其它的操作系统应该大同小异) 首先要在Eclipse安装文件中找到SWT包 Eclipse组织并不提供单独的SWT包下载 必须下载完整的Eclipse开发环境才能得到SWT包 SWT是作为Eclipse开发环境的一个插件形式存在 可以在${你的eclipse安装路径}plugins路径下的众多子目录下去搜索SWT JAR文件 在找到的JAR文件中包含了SWT全部的Java类文件 因为SWT应用了JNI技术 因此同时也要找到相对应的JNI本地化库文件 由于版本和操作平台的不同 本地化库文件的名称会有些差别 比如SWT WIN DLL是Window平台下Eclipse Build 的动态库 而在Unix平台相应版本的库文件的扩展名应该是 so 等等 注意的是 Eclipse是一个开放源代码的项目 因此你也可以在这些目录中找到SWT的源代码 相信这会对开发很有帮助 下面是一段打开空窗口的代码(只有main方法) import e one example;public class OpenShell{ public static void main(String [] args) {  Display display = new Display();  Shell shell = new Shell(display);  shell open();  // 开始事件处理循环 直到用户关闭窗口  while (!shell isDisposed()) {   if (!display readAndDispatch())    display sleep();  }  display dispose(); }}   确信在CLASSPATH中包括了SWT JAR文件 先用Javac编译例子程序 编译无错后可运行java Djava library path=${你的SWT本地库文件所在路径} e one example OpenShell 比如SWT WIN DLL件所在的路径是C:swtlib 运行的命令应该是java Djava library path=c:swtlib e one example OpenShell 成功运行后 系统会打开了一个空的窗口    剖析SWT API   下面再让我们进一步分析SWT API的组成 所有的SWT类都用 eclipse swt做为包的前缀 下面为了简化说明 我们用*号代表前缀 eclipse swt 比如* widgets包 代表的是 eclipse swt widgets包   我们最常用的图形构件基本都被包括在* widgets包中 比如Button Combo Text Label Sash Table等等 其中两个最重要的构件当数Shell和Composite Shell相当于应用程序的主窗口框架 上面的例子代码中就是应用Shell构件打开一个空窗口 Composite相当于SWING中的Panel对象 充当着构件容器的角色 当我们想在一个窗口中加入一些构件时 最好到使用Composite作为其它构件的容器 然后再去* layout包找出一种合适的布局方式 SWT对构件的布局也采用了SWING或AWT中Layout和Layout Data结合的方式 在* layout包中可以找到四种Layout和与它们相对应的布局结构对象(Layout Data) 在* custom包中 包含了对一些基本图形构件的扩展 比如其中的CLabel 就是对标准Label构件的扩展 上面可以同时加入文字和图片 也可以加边框 StyledText是Text构件的扩展 它提供了丰富的文本功能 比如对某段文字的背景色 前景色或字体的设置 在* custom包中也可找到一个新的StackLayout布局方式   SWT对用户操作的响应 比如鼠标或键盘事件 也是采用了AWT和SWING中的Observer模式 在* event包中可以找到事件监听的Listener接口和相应的事件对象 例如常用的鼠标事件监听接口MouseListener MouseMoveListener和MouseTrackListener 及对应的事件对象MouseEvent   * graphics包中可以找到针对图片 光标 字体或绘图的API 比如可通过Image类调用系统中不同类型的图片文件 通过GC类实现对图片 构件或显示器的绘图功能   对不同平台 Eclipse还开发了一些富有针对性的API 例如 在Windows平台 可以通过* ole win 包很容易的调用ole控件 这使Java程序内嵌IE浏览器或Word Excel等程序成为可能!    更复杂的程序   下面让我们展示一个比上面例子更加复杂一些的程序 这个程序拥有一个文本框和一个按键 当用户点击按键的时候 文本框显示一句欢迎信息   为了文本框和按键有比较合理的大小和布局 这里采用了GridLayout布局方式 这种布局是SWT中最常用也是最强大的布局方式 几乎所有的格式都可能通过GridLayout去达到 下面的程序也涉及到了如何应用系统资源(Color) 以及如何释放系统资源 private void initShell(Shell shell) { //为Shell设置布局对象 GridLayout gShellLay = new GridLayout(); shell setLayout(gShellLay); //构造一个Composite构件作为文本框和按键的容器 Composite panel = new Composite(shell SWT NONE); //为Panel指定一个布局结构对象   这里让Panel尽可能的占满Shell 也就是全部应用程序窗口的空间  GridData gPanelData = new GridData(GridData GRAB_HORIZONTAL| GridData GRAB_VERTICAL|GridData FILL_BOTH); panel setLayoutData(gPanelData); //为Panel也设置一个布局对象 文本框和按键将按这个布局对象来显示  GridLayout gPanelLay = new GridLayout(); panel setLayout(gPanelLay); //为Panel生成一个背景色 final Color bkColor = new Color(Display getCurrent() ); panel setBackground(bkColor); //生成文本框 final Text text = new Text(panel SWT MULTI|SWT WRAP); //为文本框指定一个布局结构对象   这里让文本框尽可能的占满Panel的空间  GridData gTextData = new GridData (GridData GRAB_HORIZONTAL| GridData GRAB_VERTICAL|GridData FILL_BOTH); text setLayoutData(gTextData); //生成按键 Button butt = new Button(panel SWT PUSH); butt setText( Push ); //为按键指定鼠标事件 butt addMouseListener(new MouseAdapter(){  public void mouseDown(MouseEvent e){   //当用户点击按键的时候 显示信息   text setText( Hello SWT );  } }; //当主窗口关闭时 会触发DisposeListener 这里用来释放Panel的背景色  shell addDisposeListener(new DisposeListener(){  public void widgetDisposed(DisposeEvent e) {   bkColor dispose();  } };}   把这段代码中的方法initShell()加入到第一个打开空窗口的例子中 得到的是一段能成功运行的完整GUI应用程序 运行方法可参考第一个例子    系统资源的管理   在一个图形化的操作系统中开发程序 都要调用系统中的资源 如图片 字体 颜色等 通常这些资源都是有限的 程序员务必非常小心的使用这些资源 当不再使用它们时 就请尽快释放 不然操作系统迟早会油尽灯枯 不得不重新启动 更严重的会导致系统崩溃   SWT是用Java开发的 Java语言本身的一大优势就是JVM的 垃圾回收机制 程序员通常不用理会变量的释放 内存的回收等问题 那么对SWT而言 系统资源的操作是不是也是如此?答案是一个坏消息 一个好消息   坏消息是SWT并没采用JVM的垃圾回收机制去处理操作系统的资源回收问题 一个关键的因素是因为JVM的垃圾回收机制是不可控的 也就是说程序员不能知道 也不可能做到在某一时刻让JVM回收资源!这对系统资源的处理是致命的 试想你的程序希望在一个循环语句中去查看数万张图片 常规的处理方式是每次调入一张 查看 然后就立即释放该图片资源 而后在循环调入下一张图片 这对操作系统而言 任何时刻程序占用的仅仅是一张图片的资源 但如果这个过程完全交给JVM去处理 也许会是在循环语句结束后 JVM才会去释放图片资源 其结果可能是你的程序还没有运行结束 操作系统已经宕掉   但下面的好消息也许会让这个坏消息变得无关紧要 对于SWT 只需了解两条简单的 黄金 法则就可以放心的使用系统资源!之所以称为黄金法则 一是因为少 只有两条 二是因为它们出奇的简单 第一条是 谁占用 谁释放 第二条是 父构件被销毁 子构件也同时被销毁 第一条原则是一个无任何例外的原则 只要程序调用了系统资源类的构造函数 程序就应该关心在某一时刻要释放这个系统资源 比如调用了 Font font = new Font (display Courier SWT NORMAL);   那么就应该在不在需要这个Font的时候调用 font dispose();   对于第二个原则 是指如果程序调用某一构件的dispose()方法 那么所有这个构件的子构件也会被自动调用dispose()方法而销毁 通常这里指的子构件与父构件的关系是在调用构件的构造函数时形成的 比如 Shell shell = new Shell();Composite parent = new Composite(shell SWT NULL);Composite child = new Composite(parent SWT NULL);   其中parent的父构件是shell 而shell则是程序的主窗口 所以没有相应的父构件 同时parent又包括了child子构件 如果调用shell dispose()方法 应用第二条法则 那么parent和child构件的dispose()方法也会被SWT API自动调用 它们也随之销毁    线程问题   在任何操作平台的GUI系统中 对构件或一些图形API的访问操作都要被严格同步并串行化 例如 在一个图形界面中的按键构件可被设成可用状态(enable)或禁用状态(disable) 正常的处理方式是 用户对按键状态设置操作都要被放入到GUI系统的事件处理队列中(这意味着访问操作被串行化) 然后依次处理(这意味着访问操作被同步) 想象当按键可用状态的设置函数还没有执行结束的时候 程序就希望再设置该按键为禁用状态 势必会引起冲突 实际上 这种操作在任何GUI系统都会触发异常   Java语言本身就提供了多线程机制 这种机制对GUI编程来说是不利的 它不能保证图形构件操作的同步与串行化 SWT采用了一种简单而直接的方式去适应本地GUI系统对线程的要求 在SWT中 通常存在一个被称为 用户线程 的唯一线程 只有在这个线程中才能调用对构件或某些图形API的访问操作 如果在非用户线程中程序直接调用这些访问操作 那么SWTExcepiton异常会被抛出 但是SWT也在* widget Display类中提供了两个方法可以间接的在非用户线程的进行图形构件的访问操作 这是通过syncExec(Runnable)和asyncExec(Runnable)这两个方法去实现 例如 //此时程序运行在一个非用户线程中 并且希望在构件panel上加入一个按键 Display getCurrent() asyncExec(new Runnable() { public void run() {  Button butt = new Button(panel SWT PUSH);  butt setText( Push ); }});   方法syncExec()和asyncExec()的区别在于前者要在指定的线程执行结束后才返回 而后者则无论指定的线程是否执行都会立即返回到当前线程    SWT的扩展 JFace   JFace与SWT的关系好比Microsoft的MFC与SDK的关系 JFace是基于SWT开发 其API比SWT更加易于使用 但功能却没SWT来的直接 比如下面的代码应用JFace中的MessageDialog打开一个警告对话框 MessageDialog openWarning(parent Warning Warning message );   如果只用SWT完成以上功能 语句不会少于 行!   JFace原本是为更加方便的使用SWT而编写的一组API 其主要目的是为了开发Eclipse IDE环境 而不是为了应用到其它的独立应用程序 因此在Eclipse 版本之前 很难将JFace API完整的从Eclipse的内核API中剥离出来 总是要多多少少导入一些非JFace以外的Eclipse核心代码类或接口才能得到一个没有任何编译错误的JFace开发包 但目前Eclipse组织似乎已经逐渐意识到了JFace在开发独立应用程序起到的重要作用 在开发的 版本中 JFace也开始变成了和SWT一样的完整独立的开发包 只是这个开发包还在变动中(笔者写本文时 应用的Eclipse M 版本) JFace开发包的包前缀是以 eclipse jface开头 JAR包的源代码也和SWT一样 也在${你的eclipse安装路径}plugins路径下去找   对开发人员来说 在开发一个图形构件的时候 比较好的方式是先到JFace包去找一找 看是不是有更简洁的实现方法 如果没有再用SWT包去自己实现 比如JFace为对话框提供了很好的支持 除了各种类型的对话框(比如上面用的MessageDialog 或是带有Title栏的对话框) 如要实现一个自定义的对话框也最好从JFace中的Dialog类继承 而不是从SWT中的* widget Dialog继承   应用JFace中的Preference包中的类很容易为自己的软件做出一个很专业的配置对话框 对于Tree Table等图形构件 它们在显示的同时也要和数据关联 例如Table中显示的数据 在JFace 中的View包中为此类构件提供了Model View方式的编程方法 这种方法使显示与数据分开 更加利于开发与维护 JFace中提供最多的功能就是对文本内容的处理 可以在 eclipse jface text * 包中找到数十个与文本处理相关类    与应用程序更近一步   Java程序通常是以class文件的方式发布的 运行class需要JRE或JDK的支持 这又是Java GUI程序的另一个致命的弱点 想象对一个面向广大用户的应用程序来说 无论你的程序功能有多简单 或是你的代码十分的精简 你都不得不让用户去下载一个 M的JRE 那是多么令人沮丧的一件事 而且对程序员来说 Class通常意味着源代码的暴露 反编译的工具让那些居心叵测的人轻易得到你的源代码 虽然有很多对Class的加密方法 但那总是以牺牲性能为代价的 好在我们还有其它的方式可用 把Class编译成exe文件! lishixinzhi/Article/program/Java/gj/201311/27737

swt起什么作用摩托车

户外防风作业。摩托车,由汽油机驱动,靠手把操纵前轮转向的两轮或三轮车,轻便灵活,行驶迅速,广泛用于巡逻、客货运输等,也用作体育运动器械。从大的方向上来说,摩托车分为街车,公路赛摩托车,越野摩托车,巡航车,旅行车等。摩托车是一种灵便快速的交通工具,也用于军事和体育竞赛,装有内燃发动机,有两轮和三轮摩托车。
 首页 上一页  1 2 3 4 5 6 7 8  下一页  尾页