0 0

SWT如何在当前窗口中打开新窗口?5

请问,SWT中,如何实现在当前窗口中打开一个新窗口?由于刚接触SWT,还不懂改如何实现,谢谢!
SOA 
2008年7月23日 14:50

3个答案 按时间排序 按投票排序

0 0

采纳的答案

需要给控件添加事件监听,在事件执行中就可以去写打开另一个Dialog的代码了.

        final Button button = new Button(shell, SWT.NONE);   
        button.addSelectionListener(new SelectionAdapter() {   
            public void widgetSelected(SelectionEvent e) {   
                new CustomDialog(Display.getCurrent().getActiveShell()).open();   
            }   
        });  

2008年7月23日 19:22
0 0

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Dialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;


public class CustomDialog extends Dialog {
	protected Object result;
	protected Shell shell;

	public CustomDialog(Shell parent) {
		super(parent, SWT.NONE);
	}

	public Object open() {
		createContents();
		shell.open();
		shell.layout();
		Display display = getParent().getDisplay();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		return result;
	}

	protected void createContents() {
		shell = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
		shell.setSize(312, 212);
		shell.setText("SWT Dialog");

		final Button button = new Button(shell, SWT.NONE);
		button.setText("button");
		button.setBounds(127, 74, 44, 23);
	}
}

2008年7月23日 19:21
0 0

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SwtApplication {
	protected Shell shell;

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

	public void open() {
		final Display display = Display.getDefault();
		createContents();
		shell.open();
		shell.layout();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}

	protected void createContents() {
		shell = new Shell();
		shell.setSize(500, 375);
		shell.setText("SWT");

		final Button button = new Button(shell, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				new CustomDialog(Display.getCurrent().getActiveShell()).open();
			}
		});
		button.setText("button");
		button.setBounds(438, 308, 44, 23);
	}

}

2008年7月23日 19:21

相关推荐

    SWT java浏览器

    - **打开**:用户可以打开新的URL,通过`setUrl`方法将指定的URL加载到浏览器中。 - **前进/后退**:使用`goForward`和`goBack`方法,开发者可以实现浏览器的历史导航功能。 - **查看历史**:SWT的`Browser`类并不...

    SWT入门.docx

    在本篇文章中,我们将深入探讨SWT的基本概念、使用步骤以及核心类`Display`和`Shell`。 首先,使用SWT需要下载相应的jar包,例如`org.eclipse.swt.win32.win32.x86_64_3.104.2.v20160212-1350.jar`,这适用于...

    [原创]用SWT/JFace实现的深路径自动生成软件(附源码)

    <br>详细资料及截图请参考压缩包中doc/how to run.doc文档 <br>新特性: 支持拽入:可以将源/目标目录以及配置文件拽入相对应窗口 支持双击:在窗口双击可以打开相应功能 新TreeViewer窗口:更加...

    Eclipse下SWT图形界面开发指南(2)

    在窗口布局中添加一个新的状态栏组件。 2. 针对不同的事件触发状态信息的更新,例如文件夹的打开或关闭、文件的选择等。 #### 图标和图像的应用 图标和图像在GUI设计中扮演着极其重要的角色。良好的图标设计不仅...

    Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)

    通过SWT,我们可以方便地在Java应用中集成其他原生组件,比如在这个案例中的Web浏览器控件。 在本示例中,开发者可能使用了DJnative-SWT提供的API来创建一个Swing组件,该组件能够内嵌WebKit浏览器引擎。这通常涉及...

    Java程序的设计之swt教程.docx

    下面详细介绍如何在Eclipse中设置SWT环境以及编写简单的SWT程序: 1. **解压SWT库**: - 使用`jar`命令将SWT的原生库文件解压出来,例如: ```bash jar xf org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar ``...

    Eclipse3.4之SWT Designer的安装、注册及实践

    2. **新建SWT类文件**: 在项目资源管理器中右键选择“新建 -> 其他 -> Designer -> SWT -> Application Window”,并按提示完成类文件“HelloWorld.java”的创建。 3. **设计界面**: 在“HelloWorld.java”文件中...

    Java运用SWT插件编写桌面记事本应用程序

    1. **创建项目**:首先,我们需要在Eclipse中创建一个新的SWT项目,选择"WindowBuilder" -> "SWT Designer" -> "SWT/JFace Java Project",并命名为"NotePad"。 2. **创建包和窗口**:在项目中创建一个名为...

    2022年职称计算机考试Dreamever模拟题(九) 3.docx

    - `_self`(默认值,链接在当前窗口或框架中打开) - `_blank`(链接在一个新窗口中打开) - `_parent`(链接在父框架或窗口中打开) - `_top`(链接在整个浏览器窗口中打开,取消所有框架) 因此,链接目标有...

    JAVA开发工具_Eclipse快捷键的应用

    21. **F2**:在Java编辑器中,显示当前选择的元素描述。 22. **Alt+Shift+↑/←/→**:在Java编辑器中,用于选择封装元素、上一个元素和下一个元素。 23. **Ctrl+J/Shift+J**:在文本编辑器中,进行增量查找和逆向...

    用javadoc命令生成api帮助文档

    1. **打开命令提示符**:打开命令行窗口,切换到SWT源代码的目录下。 2. **执行javadoc命令**:在命令行中输入以下命令来生成API文档: ``` javadoc -d api @package.txt ``` 其中: - `-d api` 指定了生成的...

    如何使用Netbeans调试J2ME应用程序.rar

    使用"运行"菜单中的"显示模拟器"选项可以打开模拟器窗口,观察应用的运行情况。 2. **实际设备调试**:如果需要在真实设备上测试,需要先在设备上安装NetBeans的远程调试代理。这个代理通常可以通过USB或蓝牙连接到...

    Java项目开发与毕业设计指导

    注意,同时在多台机上运行客户端才能显示出网络游鱼的效果,在同一台机上打开多个客户端窗口不能看到该效果。 Ch05:野人与传教士过河问题的实现 安装JDK、配置环境变量,打开Eclipse导入ch05项目,运行主类...

    WindowsBuilder安装

    4. **工作区设置**:在弹出的窗口中,“Work with:”区域粘贴之前复制的链接地址。 5. **查找安装项**:点击“Enter”键后,会列出可安装的组件列表。 6. **勾选安装**:在列表中找到“WindowBuilder Pro for ...

    eclipse visual editor VE插件

    重启后,您可以在Eclipse的"窗口" -> "透视图" -> "打开透视图"中找到与Visual Editor相关的视图。 5. **使用VE插件**:现在,您已经成功安装了VE插件,可以在Eclipse中创建新的Java项目,并使用它来设计GUI界面。...

    SHELLEXECUTEINFO 和 ShellExecuteEx的使用

    在这个例子中,我们使用了 `SEE_MASK_NOCLOSEPROCESS` 标志来保留新启动程序的句柄,以便我们可以等待该进程结束。 #### 总结 `SHELLEXECUTEINFO` 结构体和 `ShellExecuteEx` 函数为Windows编程提供了一个强大的...

    eclipse rcp demo例子 view editor 图表

    本示例是一个Eclipse RCP的实战演示,展示了如何在Eclipse RCP应用中实现View和Editor,以及可能涉及图表的展示。 在Eclipse RCP中,View和Editor是两种主要的用户界面组件。View通常用于显示辅助信息或工具,而...

    eclipse rcp

    它们可以在透视图中打开和关闭,例如“项目”视图用于查看工程结构,而“问题”视图则显示编译错误和警告。 4. **Editor**:编辑器是用于编辑文件或数据的组件,如代码编辑器用于编写Java源码。Eclipse RCP支持...

    RCP形式转换成插件形式

    例如,在`DiagramAction`类中的`run`方法中,原本用于打开编辑器的代码段需要被替换或删除。这是因为插件形式的应用不一定有预设的编辑器上下文。 ```java // RCP模式下的代码 IEditorInput input = new ...

Global site tag (gtag.js) - Google Analytics