导航:首页 > 编程语言 > 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相关的资料

热点内容
下载钉钉app是什么 浏览:222
什么服务器支持云播放 浏览:835
什么app进货牛排比较好 浏览:107
为什么鸿蒙用安卓app 浏览:82
手相面相pdf 浏览:374
军犬不听命令追出大门 浏览:913
程序员必背97件事 浏览:939
云服务器python怎么读取 浏览:30
哪里买云服务器划算 浏览:236
四川日报pdf 浏览:965
按摩解压助眠小姐姐 浏览:411
风冷压缩机水冷却器 浏览:879
服务器播放器如何打开方式 浏览:790
phppython快 浏览:366
pdf转换word免费版 浏览:37
二手的有什么APP 浏览:329
服务器的应用镜像是什么 浏览:153
命令行的使用方法 浏览:514
怎么让图片左右压缩 浏览:656
白鹿原pdf 浏览:433