导航:首页 > 操作系统 > swtlinux

swtlinux

发布时间:2022-07-29 18:29:42

‘壹’ java界面开发 能否运行在linux

当然是可以运行在linux下的。
java的代码执行需要一个叫JVM的东东去做中转,
换句话说有了JVM,计算机就能知道你写的代码叫Java。
这跟计算机用的什么操作系统没有关系。

Java里的桌面应用程序现在是用swing技术来做基本支撑的,就是界面设计啊之类的。
SWT也是不可获取的一部分,主要用于事件监听,就是什么鼠标点击啊之类的。
就从这两个部分去学吧。
他们都是JavaSE的知识。
随便一本系统讲解JavaSE的书应该都有的。

‘贰’ 怎样把相关文件拷贝到/.swt/lib/linux/x86

public static void main(String[] args) {
File from = new File("相关文件夹地址");
File to = new File("存放的地址");

try {
FileUtils.Directory(from, to);
} catch (IOException e) {
e.printStackTrace();
}
}
我不知道是不是你想要的

‘叁’ 在linux下无法运行eclipse

看提示,是因为没有安装GTK库出的错误。
如果是Ubuntu,用
sudo apt-get install build-essential gnome-core-devel pkg-config libgtk2.0-dev
如果是CentOS,用
yum install gtk+*

由于可能你没有安装必要的库,后面可能还会出其他错,需要再看清错误提示,再解决问题,安装对应的库包。

‘肆’ SWT现在用的多吗

你先要了解下JAVA图形开发的基本知识.

JAVA处理图形界面的话有3中实现方式,AWT,SWT,SWING
AWT,是SUN自己开发的,和JAVA语言一样完全与系统无关的,所有界面元素都是"画"出来的,兼容性好,但表现能力很弱,看着AWT的窗口都像"win95"时代的窗口,呵呵
SWT,前身是IBM公司的一个团队开发的一套图形组件,和系统的粘度很高,但是可以很好的展现各类的显示效果.比如你用SWT开发的界面在WINDOWS下编译的,那么显示出来全是windows的风格,但是这个程序就不一定能在LINUX下运行了
SWING是结合了AWT和SWING的长处的一种轻量级的界面组件,兼容性和视觉感受都可以,也是现在用的最多的.

再回到楼主的问题,的确现在国内的确用JAVA客户端的基本是没有,这是和国内的用户环境有关的.因为在国外,WINDOWS系统并不是像国内这样基本是台电脑就是windows,还有很多是linux或MAC的系统,所以JAVA开发图形界面多用在国外外包方面和些政府机关的东西(这个个人接触过几个)
再举几个用JAVA做的界面的"大软件"吧:oracl(呵呵,够NB吧),weblogic,还有<<世界足球经理>>
所以实际情况并不像楼上说的那悲观,JAVA的GUI开发只要搞NB了,还是很有"钱"途的

‘伍’ 如何让基于Swing的Java程序在Linux下看起来更和谐

在Windows上装的JDK和Linux上的不同、你需要下载一个Linux版本的JDK安装在Linux上、Linux下的Java环境搭建好后、把你在Windows上写的程序直接拿过来运行就行了。其实Java的跨平台我不敢恭维、代码是跨平台了、可是JVM根本就没实现跨平台。想跨平台还得带着不同操作系统版本JVM走。java swing的程序在linux使用的问题

‘陆’ linux上安装was报错

你执行安装的人是否有权限读取安装目录的所有东西?你是在你的安装文件的根目录执行的安装命令吗?

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

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

‘捌’ 我在官网上下载了swt插件:/home/abc/download/swt-3.5.2-gtk-linux-x86.zip,怎么解压安装

http://wenku..com/view/13b2fef67c1cfad6195fa75f.html
这个网址你看懂就行

‘玖’ 如何使用kettle源码更改spoon的东西

1.2. 编译源码
将项目加载到eclipse
将kettle项目拷贝到eclipse的workspace目录下,在eclipse中新建java project,项目名称和你拷贝过来的kettle文件夹名称一致

项目导入到eclipse中会出现一个错误,如下图,将这个文件的源码全部注释掉

编译
打开build.xml, 在右边的。Outline 点击kettle->run as ->ant build

第一次编译的时候需要从网上下载几个文件,放在C:\Documents and Settings\Administrator\.subfloor,网络不好的话下载会比较慢,也可以直接文件放在C:\Documents and Settings\Administrator\下。编译完成后将bin目录下的.bat文件拷贝到Kettle目录下点击Spoon.bat运行,运行成功代表编译已近通过
用源码运行Spoon
Kettle源码工程本身可能是在linux64位机器上调试的,swt配置是linux64的库,所有在运行源码前需要修改成win32的swt,步骤如下:工程à属性àJava Build Pathàlibrariesàadd jars

然后将linux64的SWT库删除

最后打开src-uiàorg.pentaho.di.ui.spoonàSpoon.java, Run As àjava application
二.源码分析
2.1. 修改kettle界面
修改初始化界面
打开package org.pentaho.di.ui.spoon的Spoon.Java,找到main函数,该main函数为Spoon工具的入口,找到如下语句

Splash splash = new Splash(display);

该语句为spoon初始化显示的界面,跳到定义Splash.java,下面函数

canvas.addPaintListener(new PaintListener() {
publicvoid paintControl(PaintEvent e) {
String versionText = BaseMessages.getString(PKG, "SplashDialog.Version") + " " + Const.VERSION; //$NON-NLS-1$ //$NON-NLS-2$

StringBuilder sb = new StringBuilder();
String line = null;

try {
BufferedReader reader = new BufferedReader(newInputStreamReader(Splash.class.getClassLoader().getResourceAsStream("org/pentaho/di/ui/core/dialog/license/license.txt")));//$NON-NLS-1$

while((line = reader.readLine()) != null) {
sb.append(line + System.getProperty("line.separator")); //$NON-NLS-1$
}
} catch (Exception ex) {
sb.append(""); //$NON-NLS-1$
Log.warn(BaseMessages.getString(PKG, "SplashDialog.LicenseTextNotFound")); //$NON-NLS-1$
}

String licenseText = sb.toString();
e.gc.drawImage(kettle_image, 0, 0);

// If this is a Milestone or RC release, warn the user
if (Const.RELEASE.equals(Const.ReleaseType.MILESTONE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.DeveloperRelease") + " - " + versionText; //$NON-NLS-1$ //$NON-NLS-2$
drawVersionWarning(e);
} elseif (Const.RELEASE.equals(Const.ReleaseType.RELEASE_CANDIDATE)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.ReleaseCandidate") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.PREVIEW)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.PreviewRelease") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}
elseif (Const.RELEASE.equals(Const.ReleaseType.GA)) {
versionText = BaseMessages.getString(PKG, "SplashDialog.GA") + " - " + versionText; //$NON-NLS-1$//$NON-NLS-2$
}

Font verFont = new Font(e.display, "Helvetica", 11, SWT.BOLD); //$NON-NLS-1$
e.gc.setFont(verFont);
e.gc.drawText(versionText, 290, 205, true);

// try using the desired font size for the license text
int fontSize = 8;
Font licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);

// if the text will not fit the allowed space
while (!willLicenseTextFit(licenseText, e.gc)) {
fontSize--;
licFont = new Font(e.display, "Helvetica", fontSize, SWT.NORMAL); //$NON-NLS-1$
e.gc.setFont(licFont);
}

e.gc.drawText(licenseText, 290, 290, true);
}
});

1. 修改背景图片
找到ui/image/下面的kettle_splash.png,替换该图片
2. 修改版本信息
找到e.gc.drawText(versionText, 290, 205, true); 改为e.gc.drawText("海康威视数据交换平台V1.0", 290, 205, true);
3. 修改下面的描述性文字
找到e.gc.drawText(licenseText, 290, 290, true);改为e.gc.drawText("作者:海康", 290, 290, true);
4. 预览效果

阅读全文

与swtlinux相关的资料

热点内容
c语言中编译和运行 浏览:997
画流图找循环编译原理 浏览:129
oppo手机西瓜视频的文件夹 浏览:867
骑手一般用哪个app 浏览:610
程序员老板用什么手机 浏览:848
比心app头像不通过为什么 浏览:105
加密币市值前十走势 浏览:190
单片机学习推荐课程 浏览:473
对数ln的运算法则图片 浏览:735
仿微博app源码 浏览:781
怎么取消调用app 浏览:545
程序员去哪里求助 浏览:834
服务器里的端口是什么 浏览:975
aspnetjavaphp 浏览:399
程序员毕业时间 浏览:286
程序员用户免费软件 浏览:754
51单片机汇编语言指令 浏览:139
女程序员好难 浏览:688
三田压缩机与电装 浏览:710
重生细胞安卓版没键盘怎么玩 浏览:994