package rcp;
import org.eclipse.swt.SWT;
public class ToolItemDropDownMenu {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
ToolBar toolBar = new ToolBar(shell, SWT.BORDER | SWT.VERTICAL);
ToolItem item = new ToolItem(toolBar, SWT.DROP_DOWN);
item.setText("One");
DropdownSelectionListener listenerOne = new DropdownSelectionListener(item);
listenerOne.add("Option One for One");
listenerOne.add("Option Two for One");
listenerOne.add("Option Three for One");
item.addSelectionListener(listenerOne);
toolBar.pack();
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
class DropdownSelectionListener extends SelectionAdapter {
private ToolItem dropdown;
private Menu menu;
public DropdownSelectionListener(ToolItem dropdown) {
this.dropdown = dropdown;
menu = new Menu(dropdown.getParent().getShell());
}
public void add(String item) {
MenuItem menuItem = new MenuItem(menu, SWT.NONE);
menuItem.setText(item);
menuItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
MenuItem selected = (MenuItem) event.widget;
dropdown.setText(selected.getText());
}
});
}
public void widgetSelected(SelectionEvent event) {
if (event.detail == SWT.ARROW) {
ToolItem item = (ToolItem) event.widget;
Rectangle rect = item.getBounds();
Point pt = item.getParent().toDisplay(new Point(rect.x, rect.y));
menu.setLocation(pt.x, pt.y + rect.height);
menu.setVisible(true);
} else {
System.out.println(dropdown.getText() + " Pressed");
}
}
}
分享到:
相关推荐
本文将深入探讨如何使用SWT在Java中隐藏和显示任务栏图标以及托盘图标。 首先,我们需要理解SWT中的`Display`和`Shell`概念。`Display`是应用程序的主要窗口,而`Shell`则是用户与应用交互的窗口。在SWT中,`Shell`...
窗口处于显示状态时任务栏有图标,系统栏有图标 * 3. 窗口隐藏时可通过单击系统栏图标或点击系统栏的 "显示窗口" 菜单显示窗口 * 4. 程序只能通过点击系统栏的 "退出程序" 菜单项退出,窗口的 X按钮无效
SWT原生按钮不够美观,本案例实现自定义圆形按钮,代码可直接下载使用。
在SWT(Standard Widget Toolkit)开发中,有时我们可能需要隐藏应用程序在操作系统任务栏上的图标,比如在构建即时通讯(IM)应用时,为了提供更简洁的用户界面体验。SWT是Eclipse基金会的一个开源项目,它为Java...
在给定的资源中,我们关注的是如何使用SWT来实现任务栏图标和托盘图标的隐藏与显示功能。以下是相关的知识点详解: 1. **Java SWT**: SWT(Standard Widget Toolkit)是由Eclipse基金会开发的一个开源库,它允许...
SWT(Standard Widget Toolkit)是Java编程环境中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的一部分。SWT提供了与操作系统本机UI组件的直接交互,从而能够创建性能高效、外观与操作系统的原生应用...
开发者需要64位的Java环境,并将“swt-64.jar”添加到类路径中,以便在他们的应用中使用SWT。通过使用SWT,他们可以创建出既美观又响应迅速的桌面应用,这些应用能够无缝地融入用户的64位Windows环境。
SWT(Standard Widget Toolkit)是一种用于构建Java应用程序的用户界面工具包。它提供了丰富的组件集合,这些组件能够很好地适应各种操作系统环境,使得开发的应用程序具有良好的跨平台特性。本文将深入介绍SWT中...
SWT(Standard Widget Toolkit)是Eclipse平台下的图形界面开发工具包,而JFace则是基于SWT之上的高级用户界面工具集。SWT提供了低级别的组件,用于创建跨平台的图形用户界面;而JFace则在此基础上提供了更高级别的...
SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库,它是Eclipse项目的一部分。本教程将深入讲解SWT的基本概念、组件使用以及实际开发中的应用技巧。以下是对SWT中文教程的...
而“工具”标签可能指这篇博文除了理论解释外,还提供了实用的工具或者技巧,帮助开发者在实际项目中更有效地使用SWT工具栏。 考虑到提供的文件“ToolBars.java”,这很可能是博主分享的一个示例代码文件,用于演示...
在Eclipse菜单栏中,依次选择"Help" -> "Eclipse Marketplace",然后在搜索框中输入"SWT"。找到相关的SWT插件,如"SWT Designer",点击"Install"按钮,遵循提示完成安装。 SWT依赖于特定平台的本地库,这些库在SWT...
在任何基于SWT的Java项目中,首要任务就是将SWT JAR文件添加到项目的Classpath中。这一步骤确保了编译器能够识别SWT类和方法。具体操作如下: - **创建Java项目**:首先,在IDE中创建一个新的Java项目。 - **指定...
在SWT中,Tree组件用于展示层次结构的数据,类似于Windows资源管理器中的文件系统视图。本教程将通过一个完整的SWT Tree实例,帮助新手理解如何创建、操作和自定义SWT Tree。 首先,我们来分析给定的文件列表: 1....
- **SWT的特点**:SWT提供了丰富的图形组件,例如按钮、文本框、列表等,并且这些组件在不同平台上具有相同的外观和行为。此外,SWT还提供了强大的事件处理机制,使得开发者可以轻松地响应用户的交互行为。 - **...
1. **BUTTON**: BUTTON是SWT中用于创建按钮的类。按钮是GUI中最基本的交互元素,用户可以通过点击按钮来触发某个操作或事件。在SWT中,你可以自定义按钮的文字、图标以及响应的事件处理器。 2. **TEXT**: TEXT组件...
2. **访问Eclipse Marketplace**: 在Eclipse的菜单栏中选择“帮助”(Help) -> “Eclipse Marketplace”,这将打开一个新的视图,你可以在这里搜索并安装各种插件。 3. **搜索SWT插件**: 在Eclipse Marketplace的...
在Eclipse中开发SWT应用,需要将SWT库(swt.jar)添加到项目的类路径中。通常,SWT库位于Eclipse安装目录下的plugins子目录,具体路径与Eclipse版本相关。例如,对于Windows系统,可能在`ECLIPSE_HOME\eclipse\...
通过添加这个jar到项目的类路径,开发者就可以在他们的程序中使用SWT组件,如按钮、文本框、树视图等。 描述中提到的"src.zip"文件包含的是SWT的源代码,这对于开发者进行调试、学习和定制SWT行为至关重要。源代码...
SWT(Standard Widget Toolkit)是由Eclipse基金会开发并维护的一套用于构建图形用户界面(GUI)的开源库,它是Java语言中的一个GUI工具包,主要面向那些希望创建高性能、原生外观的应用程序的开发者。与Java Swing...