导航:首页 > 编程语言 > java界面swt

java界面swt

发布时间:2022-06-02 06:10:30

⑴ 要用java开发GUI,SWT,Jface,RCP有什么联系什么关系。

jsf是表示层的框架,主要是web界面方面的应用;而其他的都属于桌面UI库,与前者不同,在此不做比较。
AWT是java早期版本使用的UI库,为了跨平台,它指提供各个平台上支持的组件的最大公约数集合..比如苹果操作系统并不支持按钮的图片展示,于是AWT的按钮是无法使用图片的;AWT的实现是以本机对等体的方式来实现的,即一个Button对象则对应于本机一个窗口组件(利用本地程序实现映射),于是AWT组件与本地组件长得是一模一样的。
SWING则是基于AWT的基础上做了许多扩展,它提供的是各种平台上支持的组件的最小公倍数集合..在设计上使用了MVC(分UI、Component、Model),除了窗口之外,其大部分组件都使用Java2D来实现渲染模拟,也因为如此,Swing在渲染方面的灵活性非常大。
SWT是IBM公司针对Java桌面UI开发出来的另一个分支,它的实现方式与AWT类似,都使用了本机对等体的实现,于是它的组件也与本机组件非常雷同;此外它遵循最小公倍数原则,对于非公共组件部分,它又使用了类似Draw2D库的API来模拟渲染。JFace是SWT的增强包,它是对SWT的进一步封装,使得SWT界面开发的模块划分更加清晰,代码也更加维护。

综上,在渲染的灵活性上面,swing是最优的,因为它的渲染可在java程序中实现(MVC),而AWT和SWT则因为本机对等体的缘故不是那么灵活;在内存占用上面,AWT和SWT比swing要少得多,而且也响应也要快一些,这是因为Swing将组件的渲染信息(甚至是像素信息)都放在程序内存中,并由自己管理,所以Swing界面响应很慢是不足为怪的~~;在支持的组件集合上,SWT和Swing比AWT丰富得多;最后,在稳定性上面,SWT稍显不足~~
上面的几种UI库中,Swing和SWT都占据一定的份额吧,Swing在一些报表图形展示方面有更好的灵活性,也有比较好的开源组件支持(如JFreeChart);而SWT在快速应用开发方面是非常合适的,Eclipse界面便是SWT的实现,而也基于此出现了Eclipse RCP技术(类似于MFC),该技术整合了SWT

⑵ java swt 登陆成功后,怎样跳转到主界面

楼主说详细点吧!不明白你的意思!

⑶ java中SWT和swing是什么关系在界面中分别扮演着什么样的角色

据我自己的使用情况来看:
awt使用起来较为繁琐,但速度优于swing

⑷ JAVA SWT界面风格问题

用JAVA开发图形界面是比较困难的,如果没有一定的开发经验,你恐怕很难去驾驭。

⑸ java SWT界面跳转问题

dispose()
Disposes of the operating system resources associated with the receiver and all its descendents.第1个界面调用这个方法

⑹ JAVA用SWT写的界面,怎样把数据库里面的表显示在SWT的table中并且实现修改查询删除功能。

import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

public class TabViewTest {

public void open() throws Exception{
Display display=new Display();
Shell shell=new Shell(display);

shell.setLayout(new FillLayout());
shell.setSize(new Point(400,300));

Table table=new Table(shell,SWT.MULTI | SWT.FULL_SELECTION |SWT.BORDER);
table.setHeaderVisible(true);
table.setLinesVisible(true);

TableColumn idColumn =new TableColumn(table,SWT.LEFT);
idColumn.setText("id");
idColumn.setWidth(100);
TableColumn usernameColumn=new TableColumn(table,SWT.LEFT);
usernameColumn.setText("username");
usernameColumn.setWidth(100);
TableColumn passwordColumn=new TableColumn(table,SWT.LEFT);
passwordColumn.setText("password");
passwordColumn.setWidth(100);

Connection conn=getAcessConnection();
String sqlString="select * from user";
Statement statement=conn.createStatement();
ResultSet rSet=statement.executeQuery(sqlString);

while(rSet.next()){
TableItem item=new TableItem(table,SWT.LEFT);
String[] valueStrings={rSet.getInt("id")+"0",rSet.getString("username"),rSet.getString("password")};
item.setText(valueStrings);
}

rSet.close();
statement.close();
conn.close();

shell.open();
while(!shell.isDisposed()){
if( !display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}

public static void main(String[] args) throws Exception {
new TabViewTest().open();
}

public Connection getAcessConnection(){
Connection conn=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
URL url1=TabViewTest.class.getClassLoader().getResource("db/test.mdb");
String path=url1.getPath();
path=path.substring(1, path.length());
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path;
conn=DriverManager.getConnection(url);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

}
数据库用的是access,楼主可以自己随便修改下的。

⑺ java界面刷新SWT

SwingUtilities.updateComponentTreeUI (this);

用这个刷新即可

阅读全文

与java界面swt相关的资料

热点内容
程序员长沙开滴滴 浏览:136
十几加几的进位加法算法 浏览:379
c语言实现字母加密成字母 浏览:323
linux重启java服务 浏览:48
ubuntu的命令行在哪里 浏览:979
服务器tk是什么意思 浏览:392
防止软件加密码卸载 浏览:177
自建服务器与云服务器 浏览:537
已解压车能过户能买吗 浏览:770
上网行为linux 浏览:348
解压对身体的好处 浏览:67
php服务端框架 浏览:450
gitlabpdf 浏览:607
大专程序员面试公司 浏览:948
iphone相片不能新建文件夹 浏览:446
底部加密封条 浏览:494
linux变量字符串 浏览:432
苹果解压视频在哪里找 浏览:968
中国程序员发现最大程序漏洞 浏览:778
图像数据加密解密 浏览:194