问题:
界面上有一个向下的箭头按钮,点击这个按钮会在按钮上有菜单弹出,请教一下各位这个怎么实现啊?最好有点代码,谢谢啊!//向下的箭头按钮
final Button button = new Button(group, SWT.ARROW|SWT.DOWN);
//监听器,不知道需要不需要
button.addSelectionListener(new SelectionListener()
{
public void widgetSelected(SelectionEvent event)
{
} public void widgetDefaultSelected(SelectionEvent event)
{
}
});
界面上有一个向下的箭头按钮,点击这个按钮会在按钮上有菜单弹出,请教一下各位这个怎么实现啊?最好有点代码,谢谢啊!//向下的箭头按钮
final Button button = new Button(group, SWT.ARROW|SWT.DOWN);
//监听器,不知道需要不需要
button.addSelectionListener(new SelectionListener()
{
public void widgetSelected(SelectionEvent event)
{
} public void widgetDefaultSelected(SelectionEvent event)
{
}
});
解决方案 »
- ArrayList用法迷惑
- return 语句应该返回什么,这个函数结果该怎么表示
- Swing中使用什么组件/技术 可以给TextField增加类似google/百度 输入栏下的提示框
- Graphics 和 Graphics2D有什么区别,不都是平面上的东西吗?
- java 中怎么继承一个对话框也就是JDialog
- java 的异常有几种类型 ??
- 急!如何计算剩余天数???????
- 怎样登陆一个URL
- 请问如何在jComboBox控件下拉列表中如何加入图片并同时加入说明文字啊?
- 配置ini文件的一个正则表达式的问题
- java 容器的简单问题 高手 几秒就解决
- 关于MyEclipse运行时的问题——无法载入sun/plugin/JavaRunTime类
final Button button = new Button(group, SWT.ARROW|SWT.DOWN);
//监听器,不知道需要不需要
button.addSelectionListener(new SelectionListener()
{
public void widgetSelected(SelectionEvent event)
{
Button btn = (Button)event.getSource();
Menu popupMenu = new Menu(btn);
MenuItem menuItem = new MenuItem(popupMenu,SWT.NONE);
menuItem.setText("test");
btn.setMenu(popupMenu); popupMenu.setVisible(true);
} public void widgetDefaultSelected(SelectionEvent event)
{
}
});
Button btn = (Button)event.getSource();
Menu popupMenu = new Menu(btn);
Menu mainMenu = new Menu(shell,SWT.DROP_DOWN);
MenuItem mainMenuItem = new MenuItem(popupMenu,SWT.CASCADE);
mainMenuItem.setText("test1");
mainMenuItem.setMenu(mainMenu);
MenuItem menuItem2 = new MenuItem(mainMenu,SWT.NONE);
menuItem2.setText("test2");
MenuItem menuItem3 = new MenuItem(mainMenu,SWT.NONE);
menuItem3.setText("test3");
btn.setMenu(popupMenu);
popupMenu.setVisible(true);
注意这句:
Menu mainMenu = new Menu(shell,SWT.DROP_DOWN);
shell把你最外层的Shell 声明成final就行。
public void widgetSelected(SelectionEvent event) {
Button btn = (Button)event.getSource();
Menu popupMenu = new Menu(btn);
Menu mainMenu = new Menu(shell,SWT.DROP_DOWN);
MenuItem mainMenuItem = new MenuItem(popupMenu,SWT.CASCADE);
mainMenuItem.setText("test1");
mainMenuItem.setMenu(mainMenu);
MenuItem menuItem2 = new MenuItem(mainMenu,SWT.NONE);
menuItem2.setText("test2");
MenuItem menuItem3 = new MenuItem(mainMenu,SWT.NONE);
menuItem3.setText("test3");
btn.setMenu(popupMenu);
popupMenu.setVisible(true);
}
注意这句:
Menu mainMenu = new Menu(shell,SWT.DROP_DOWN);
shell把你最外层的Shell 声明成final就行。
是为其添加action吗?就像为窗口最上面菜单那样做个action,然后regist(action)然后add吗?
比如: menuItem2.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent event) {
} public void widgetSelected(SelectionEvent event) {
//在这里做你想做的事情,以下只是例子
MenuItem sourceItem = (MenuItem)event.getSource();
String name = sourceItem.getText();
System.out.println("I am button:"+name);
}
});
----------------------------------------------------------
Quietly through ....