SWT与Linux安装包
关于SWT
- SWT首先要在Eclipse中添加SWT的安装包:Windowsbuilder Pro。下载路径:http://www.eclipse.org/windowbuilder/download.php
- 通过Help -> Install New Software...来进行安装。
- 下面就是添加项目,要添加JFace/SWT项目,然后添加Shell类,这样才会在Shell的Design页面中加载合适的Platte,最重要的就是Controls Tab,里面的控件是即拖即用的。
- swt打包成可运行jar
- Windows平台下面需要添加org.eclipse.win32.jar(dll就是从这个文件夹下面获取)
- Linux下面也需要安装添加swt.jar,来自于swt-gtk包。但是注意不要部署win32.jar包
- 运行需要通过脚本文件(.sh文件)引导。故需要分配可执行权限(或者使用sh/source指令)。在Linux下面需要为sh文件赋执行权限(chmod +x)
- Eclipse创建的JFace/SWT项目会引用很多无用jar包,因为我们关注的是swt,所以默认引用的equio,ibm-uc等plugin的jar包统统删掉,只是引用swt的jar包即可;
- SWT里面的多线程,或者对于某些长执行想要在执行过程中改变控件值,需要使用Display.getDefault().asyncExec(new Runnable() {...}的方式来进行异步实现;比如要在当前窗体弹出一个页面,需要使用模式。
- 设置text自动换行,首先Text本身要制定是可以WRAP的,然后需要创建一个GridData,然后指定其WidthHint,之后,就可以了。
txtTodo = new Text(this, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI | SWT.WRAP); GridData gd_cmdIntro = new GridData(SWT.FILL, SWT.FILL, true, true, , );
gd_cmdIntro.widthHint = ; // 必须得设置宽度,否则自动换行不好使
txtTodo.setLayoutData(gd_cmdIntro); - SWT的换行,可以添加keyListener事件,判断keyCode值为13即可。
txtTodo = new Text(this, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI | SWT.WRAP);
txtTodo.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if (e.keyCode == 13) {
txtTodo.setSize(txtTodo.getSize().x, txtTodo.getSize().y + 10);
}
}
});
关于安装包的设计
Java能做的事情,尽量Java做,靠谱,而且具有跨平台性,比如拷贝文件
Java不支持chmod的通配符,这个只能在脚本中来做
注意Windows下面写的sh文件很可能无法在Linux下面执行,因为windows会在记事本中莫名添加一些符号;所以最好在Linux下面编写,再回流到Windows上面
有一次和nohup…&相遇,为了让应用启动不随着脚本结束而结束,使用到了它。
SWT与Linux安装包的更多相关文章
- Linux安装包
关于SWT SWT首先要在Eclipse中添加SWT的安装包:Windowsbuilder Pro.下载路径:http://www.eclipse.org/windowbuilder/download ...
- linux安装包地址备忘
64位系统安装包: http://mirrors.163.com/centos/5/os/x86_64/CentOS/ 32位系统安装包: http://mirrors.163.com/centos/ ...
- Linux安装包生成工具:checkinstall、makeself
关键词:checkinstall.dpkg.deb/rpm.makeself等等. checkinstall记录make install安装的文件,生成相应的(Slackware/RPM/Debian ...
- linux安装包制作
1. 常见安装包 打包或压缩文件tar,zip,gz等,一般解压后即可 管理工具的deb,rpm等.这类安装文件可以通过第三方的命令安装 (apt和yum) .bin类,其实就是把sh和zip打包为b ...
- linux安装包资源库
最近发现了一个很不错的linux的rpm资源库,可以在里面找到rpm安装过程中缺失的资源! 网址:http://pkgs.org/
- nslookup、dig命令Linux安装包
linux下提供nslookup,dig命令的软件就是 bind-utils yum install bind-utils -y
- 查看linux安装包的版本信息-TX2
前言 新到手一块TX2板子,想要检查系统是否安装某软件及其版本. 操作命令 Cuda8.:nvcc --version Opencv:pkg-config --modversion opencv G+ ...
- Apt下载安装包时Hash校验和不符
近期我的电脑在使用apt-get或aptitude下载Linux安装包时总是出现如下图所示的Hash校验和不符的问题.以至于下载过程被频繁中断,不得不反复运行apt-get或者在aptitude中按g ...
- 在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包
.NET 的开源,有了更多的DIY乐趣.这篇博文记录一下在新安装的 Linux Ubuntu 14.04 上通过自己动手编译 dotnet cli 的源代码生成 .net core sdk 的 deb ...
随机推荐
- java中类名.class, class.forName(), getClass()区别
Class对象的生成方式如下: 1.类名.class 说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象 2.Cla ...
- 【转载】linux下使用 TC 对服务器进行流量控制
tc 介绍 在linux中,tc 有二种控制方法 CBQ 和 HTB.HTB 是设计用来替换 CBQ 的.HTB比CBQ更加灵活,但是CPU 开销也更大,通常高速的链路会使用CBQ,一般而言HTB使用 ...
- apache2.4配置ssl
1,yum 安装openssl和openssl-devel,httpd-devel2,生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl genrsa -des3 > ...
- 主攻ASP.NET.4.5 MVC4.0之重生:图书推荐
前段时间看完ASP.Net4.0 框架揭秘 ,目前现在此书在家睡大觉,看得云里雾里,实战有些东西用不上,感觉好可惜. 大概看了一下这本书,这本书很多功能,可以在实际项目中能用上的方法和技巧.小小推荐, ...
- library-type:fr-unstanded vs fisrt-stand vs second-stanrd
建库时是否是链特异性建库. Tophat2: --library-type The default is unstranded (fr-unstranded). If either fr-firsts ...
- class_exists — 检查类是否已定义
class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload = true ] ) 检查指定的类是否 ...
- leetcode刷题1:两数之和two_sum
题目:(难度:Easy) 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, ...
- sqlserver ,镜像数据库,CDC,实时监控数据变化
1.数据库镜像配置 1)主机环境:计算机名称修改SQL1.xiaoping.com 添加用户sqluser 密码永不变,率属于administrators sqlserver安装时,将所有sqlser ...
- Kafka详解三:开发Kafka应用
问题导读 1.Kafka系统由什么组成?2.Kafka中和producer相关的API是什么? 一.整体看一下Kafka 我们知道,Kafka系统有三大组件:Producer.Consu ...
- UVA 12716 GCD XOR (异或)
题意:求出[1,n]中满足gcd(a,b)=a xor b,且1<=a<=b<=n的对数 题解:首先a xor b = c,则a xor c = b,而b是a的约数,则可以使用素数筛 ...