/*******************************************************************************
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.swt.snippets;
/*
* example snippet: embed Swing/AWT in SWT
*
* For a list of all SWT example snippets see
* http://www.eclipse.org/swt/snippets/
*
* @since 3.0
*/
import java.awt.EventQueue;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.awt.SWT_AWT;
public class Snippet135 {
static class FileTableModel extends AbstractTableModel {
File[] files;
String[] columnsName = {"Name", "Size", "Date Modified"};
public FileTableModel (File[] files) {
this.files = files;
}
public int getColumnCount () {
return columnsName.length;
}
public Class getColumnClass (int col) {
if (col == 1) return Long.class;
if (col == 2) return Date.class;
return String.class;
}
public int getRowCount () {
return files == null ? 0 : files.length;
}
public Object getValueAt (int row, int col) {
if (col == 0) return files[row].getName();
if (col == 1) return new Long(files[row].length());
if (col == 2) return new Date(files[row].lastModified());
return "";
}
public String getColumnName (int col) {
return columnsName[col];
}
}
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("SWT and Swing/AWT Example");
Listener exitListener = new Listener() {
public void handleEvent(Event e) {
MessageBox dialog = new MessageBox(shell, SWT.OK | SWT.CANCEL | SWT.ICON_QUESTION);
dialog.setText("Question");
dialog.setMessage("Exit?");
if (e.type == SWT.Close) e.doit = false;
if (dialog.open() != SWT.OK) return;
shell.dispose();
}
};
Listener aboutListener = new Listener() {
public void handleEvent(Event e) {
final Shell s = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
s.setText("About");
GridLayout layout = new GridLayout(1, false);
layout.verticalSpacing = 20;
layout.marginHeight = layout.marginWidth = 10;
s.setLayout(layout);
Label label = new Label(s, SWT.NONE);
label.setText("SWT and AWT Example.");
Button button = new Button(s, SWT.PUSH);
button.setText("OK");
GridData data = new GridData();
data.horizontalAlignment = GridData.CENTER;
button.setLayoutData(data);
button.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
s.dispose();
}
});
s.pack();
Rectangle parentBounds = shell.getBounds();
Rectangle bounds = s.getBounds();
int x = parentBounds.x + (parentBounds.width - bounds.width) / 2;
int y = parentBounds.y + (parentBounds.height - bounds.height) / 2;
s.setLocation(x, y);
s.open();
while (!s.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
}
};
shell.addListener(SWT.Close, exitListener);
Menu mb = new Menu(shell, SWT.BAR);
MenuItem fileItem = new MenuItem(mb, SWT.CASCADE);
fileItem.setText("&File");
Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
fileItem.setMenu(fileMenu);
MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH);
exitItem.setText("&Exit\tCtrl+X");
exitItem.setAccelerator(SWT.CONTROL + 'X');
exitItem.addListener(SWT.Selection, exitListener);
MenuItem aboutItem = new MenuItem(fileMenu, SWT.PUSH);
aboutItem.setText("&About\tCtrl+A");
aboutItem.setAccelerator(SWT.CONTROL + 'A');
aboutItem.addListener(SWT.Selection, aboutListener);
shell.setMenuBar(mb);
RGB color = shell.getBackground().getRGB();
Label separator1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
Label locationLb = new Label(shell, SWT.NONE);
locationLb.setText("Location:");
Composite locationComp = new Composite(shell, SWT.EMBEDDED);
ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
ToolItem exitToolItem = new ToolItem(toolBar, SWT.PUSH);
exitToolItem.setText("&Exit");
exitToolItem.addListener(SWT.Selection, exitListener);
ToolItem aboutToolItem = new ToolItem(toolBar, SWT.PUSH);
aboutToolItem.setText("&About");
aboutToolItem.addListener(SWT.Selection, aboutListener);
Label separator2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
final Composite comp = new Composite(shell, SWT.NONE);
final Tree fileTree = new Tree(comp, SWT.SINGLE | SWT.BORDER);
Sash sash = new Sash(comp, SWT.VERTICAL);
Composite tableComp = new Composite(comp, SWT.EMBEDDED);
Label separator3 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
Composite statusComp = new Composite(shell, SWT.EMBEDDED);
java.awt.Frame locationFrame = SWT_AWT.new_Frame(locationComp);
final java.awt.TextField locationText = new java.awt.TextField();
locationFrame.add(locationText);
java.awt.Frame fileTableFrame = SWT_AWT.new_Frame(tableComp);
java.awt.Panel panel = new java.awt.Panel(new java.awt.BorderLayout());
fileTableFrame.add(panel);
final JTable fileTable = new JTable(new FileTableModel(null));
fileTable.setDoubleBuffered(true);
fileTable.setShowGrid(false);
fileTable.createDefaultColumnsFromModel();
JScrollPane scrollPane = new JScrollPane(fileTable);
panel.add(scrollPane);
java.awt.Frame statusFrame = SWT_AWT.new_Frame(statusComp);
statusFrame.setBackground(new java.awt.Color(color.red, color.green, color.blue));
final java.awt.Label statusLabel = new java.awt.Label();
statusFrame.add(statusLabel);
statusLabel.setText("Select a file");
sash.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
if (e.detail == SWT.DRAG) return;
GridData data = (GridData)fileTree.getLayoutData();
Rectangle trim = fileTree.computeTrim(0, 0, 0, 0);
data.widthHint = e.x - trim.width;
comp.layout();
}
});
File[] roots = File.listRoots();
for (int i = 0; i < roots.length; i++) {
File file = roots[i];
TreeItem treeItem = new TreeItem(fileTree, SWT.NONE);
treeItem.setText(file.getAbsolutePath());
treeItem.setData(file);
new TreeItem(treeItem, SWT.NONE);
}
fileTree.addListener(SWT.Expand, new Listener() {
public void handleEvent(Event e) {
TreeItem item = (TreeItem)e.item;
if (item == null) return;
if (item.getItemCount() == 1) {
TreeItem firstItem = item.getItems()[0];
if (firstItem.getData() != null) return;
firstItem.dispose();
} else {
return;
}
File root = (File)item.getData();
File[] files = root.listFiles();
if (files == null) return;
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (file.isDirectory()) {
TreeItem treeItem = new TreeItem(item, SWT.NONE);
treeItem.setText(file.getName());
treeItem.setData(file);
new TreeItem(treeItem, SWT.NONE);
}
}
}
});
fileTree.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
TreeItem item = (TreeItem)e.item;
if (item == null) return;
final File root = (File)item.getData();
EventQueue.invokeLater(new Runnable() {
public void run() {
statusLabel.setText(root.getAbsolutePath());
locationText.setText(root.getAbsolutePath());
fileTable.setModel(new FileTableModel(root.listFiles()));
}
});
}
});
GridLayout layout = new GridLayout(4, false);
layout.marginWidth = layout.marginHeight = 0;
layout.horizontalSpaci
没有合适的资源?快使用搜索试试~ 我知道了~
SWT/JFace 控件实例
共285个文件
java:285个
5星 · 超过95%的资源 需积分: 32 49 下载量 114 浏览量
2008-11-18
14:35:12
上传
评论
收藏 317KB ZIP 举报
温馨提示
SWT、JFACE控件实例,官方的东西,各种控件例子! 已经把包名等修复好了。直接导入IDE中可以运行。各种效果。
资源推荐
资源详情
资源评论
收起资源包目录
SWT/JFace 控件实例 (285个子文件)
Snippet135.java 9KB
Snippet133.java 9KB
Snippet171.java 8KB
Snippet186.java 8KB
Snippet123.java 7KB
Snippet156.java 7KB
Snippet277.java 6KB
Snippet96.java 6KB
Snippet79.java 6KB
Snippet141.java 5KB
Snippet81.java 5KB
Snippet139.java 5KB
Snippet212.java 5KB
Snippet221.java 5KB
Snippet119.java 5KB
Snippet91.java 5KB
Snippet257.java 5KB
Snippet25.java 5KB
Snippet83.java 5KB
Snippet128.java 4KB
Snippet234.java 4KB
Snippet209.java 4KB
Snippet259.java 4KB
Snippet195.java 4KB
Snippet162.java 4KB
Snippet223.java 4KB
Snippet158.java 4KB
Snippet179.java 4KB
Snippet185.java 4KB
Snippet196.java 4KB
Snippet48.java 4KB
Snippet111.java 4KB
Snippet178.java 4KB
Snippet204.java 4KB
Snippet217.java 4KB
Snippet210.java 4KB
Snippet226.java 4KB
Snippet235.java 4KB
Snippet273.java 4KB
Snippet140.java 4KB
Snippet227.java 4KB
Snippet125.java 4KB
Snippet205.java 4KB
Snippet208.java 3KB
Snippet207.java 3KB
Snippet187.java 3KB
Snippet222.java 3KB
Snippet282.java 3KB
Snippet152.java 3KB
Snippet192.java 3KB
Snippet199.java 3KB
Snippet229.java 3KB
Snippet232.java 3KB
Snippet172.java 3KB
Snippet75.java 3KB
Snippet124.java 3KB
Snippet219.java 3KB
Snippet174.java 3KB
Snippet84.java 3KB
Snippet267.java 3KB
Snippet193.java 3KB
Snippet211.java 3KB
Snippet203.java 3KB
Snippet2.java 3KB
Snippet231.java 3KB
Snippet228.java 3KB
Snippet173.java 3KB
Snippet274.java 3KB
Snippet265.java 3KB
Snippet194.java 3KB
Snippet285.java 3KB
Snippet285.java 3KB
Snippet239.java 3KB
Snippet77.java 3KB
Snippet220.java 3KB
Snippet65.java 3KB
Snippet236.java 3KB
Snippet262.java 3KB
Snippet218.java 3KB
Snippet167.java 3KB
Snippet134.java 3KB
Snippet9.java 3KB
Snippet266.java 3KB
Snippet104.java 3KB
Snippet154.java 3KB
Snippet270.java 3KB
Snippet88.java 3KB
Snippet165.java 3KB
Snippet230.java 3KB
Snippet129.java 3KB
Snippet122.java 3KB
Snippet130.java 3KB
Snippet107.java 3KB
Snippet181.java 3KB
Snippet150.java 3KB
Snippet284.java 3KB
Snippet94.java 3KB
Snippet21.java 3KB
Snippet160.java 3KB
Snippet143.java 3KB
共 285 条
- 1
- 2
- 3
li2498940
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
- 基于matlab实现进行简单车辆识别-车辆检测.rar
- 基于JSP物流信息网的设计与实现
- 基于matlab实现车牌识别程序,和论文,自己做的,做毕业设计的可以看看 .rar
- Windows系统下安装与配置Neo4j的步骤
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页