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 ...
随机推荐
- 在安装mysqli的时候,出现error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory
/application/php5.:: warning: /ext/mysqli/mysqli_api.c::: error: ext/mysqlnd/mysql_float_to_double.h ...
- P4271 [USACO18FEB]New Barns
题目 P4271 [USACO18FEB]New Barns 做法 这题很长见识啊!! 知识点:两棵树\((A,B)\)联通后,新树的径端点为\(A\)的径端点与\(B\)的径端点的两点 不断加边,那 ...
- 生信概念之global alignment VS local alignment
- 20145240 《Java程序设计》第九周学习总结
20145240 <Java程序设计>第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数 ...
- Java 重写equals()与hashCode()方法
List对象的contains方法实际上也是调用的equals()方法来进行逐条对比的. 示例代码: package com.imooc.collection; /** * 课程类 */ public ...
- Centos6.8安装Mysql5.7
1.下载 wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm 2.安装用来配置mysql的yum源的rp ...
- EntityFramework 学习 一 Multiple Diagrams in Entity Framework 5.0
Visual Studio 2012 provides a facility to split the design time visual representation of the Entity ...
- 【转】jQuery对象与DOM对象之间的转换方法
刚开始学习jquery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象.至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换. 什么是jQuery对 ...
- ambari2.4.2在CentOS7上的二次开发
前言:如果想安装到CentOS7,就一定要将源码在CentOS7上编译,然后安装,否则可能会出现各种问题 目录 源码结构 技术点 编译环境的搭建 安装samba 安装编译环境 整体编译 ambari ...
- 关于谷歌浏览器(chrome)的一些好用的插件推荐
很多在测试时候都可以使用 第一部分: A:Adblock Plus for Google Chrome™https://chrome.google.com/webstore/detail/cfhdoj ...