请问在swt中,如何在combo中添加一个复选下拉列表。类似于checkListBox.

请问在swt中,如何在combo中添加一个复选下拉列表。类似于checkListBox.,第1张

你好 你需要的控件SWT里面没有现成的。需要自定义控件。可以参考http://www.ibm.com/developerworks/cn/opensource/os-eclipcntl/ 或者百度“swt自定义控件”

package fxw.xjtu.cn

import org.eclipse.jface.dialogs.MessageDialog

import org.eclipse.swt.events.SelectionAdapter

import org.eclipse.swt.events.SelectionEvent

import org.eclipse.swt.widgets.Display

import org.eclipse.swt.widgets.Shell

import org.eclipse.swt.widgets.Menu

import org.eclipse.swt.SWT

import org.eclipse.swt.widgets.MenuItem

public class Test {

protected Shell shell

/**

* Launch the application.

* @param args

*/

public static void main(String[] args) {

try {

Test window = new Test()

window.open()

} catch (Exception e) {

e.printStackTrace()

}

}

/**

* Open the window.

*/

public void open() {

Display display = Display.getDefault()

createContents()

shell.open()

shell.layout()

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep()

}

}

}

/**

* Create contents of the window.

*/

protected void createContents() {

shell = new Shell()

shell.setSize(450, 300)

shell.setText("SWT Application")

Menu menu = new Menu(shell, SWT.BAR)

shell.setMenuBar(menu)

MenuItem menuItem = new MenuItem(menu, SWT.CASCADE)

menuItem.setText("\u4E3B\u83DC\u53551")

Menu menu_1 = new Menu(menuItem)

menuItem.setMenu(menu_1)

MenuItem menuItem_2 = new MenuItem(menu_1, SWT.CASCADE)

menuItem_2.setText("\u4E0B\u62C9\u83DC\u53551.1")

Menu menu_3 = new Menu(menuItem_2)

menuItem_2.setMenu(menu_3)

MenuItem menuItem_3 = new MenuItem(menu_3, SWT.CHECK)

menuItem_3.setText("\u590D\u9009\u68461")

menuItem_3.addSelectionListener(new SelectionAdapter(){

public void widgetSelected(SelectionEvent e){

MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource())

}

})

MenuItem menuItem_4 = new MenuItem(menu_3, SWT.CHECK)

menuItem_4.setText("\u590D\u9009\u68462")

menuItem_4.addSelectionListener(new SelectionAdapter(){

public void widgetSelected(SelectionEvent e){

MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource())

}

})

MenuItem menuItem_5 = new MenuItem(menu_3, SWT.CHECK)

menuItem_5.setText("\u590D\u9009\u68463")

menuItem_5.addSelectionListener(new SelectionAdapter(){

public void widgetSelected(SelectionEvent e){

MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource())

}

})

new MenuItem(menu_3, SWT.SEPARATOR)

MenuItem menuItem_6 = new MenuItem(menu_3, SWT.RADIO)

menuItem_6.setText("\u5355\u9009\u68461")

MenuItem menuItem_7 = new MenuItem(menu_3, SWT.RADIO)

menuItem_7.setText("\u5355\u9009\u68462")

MenuItem menuItem_8 = new MenuItem(menu_1, SWT.NONE)

menuItem_8.setText("\u4E0B\u62C9\u83DC\u53551.2")

MenuItem menuItem_9 = new MenuItem(menu_1, SWT.NONE)

menuItem_9.setText("\u4E0B\u6765\u83DC\u53551.3")

MenuItem menuItem_1 = new MenuItem(menu, SWT.CASCADE)

menuItem_1.setText("\u4E3B\u83DC\u53552")

Menu menu_2 = new Menu(menuItem_1)

menuItem_1.setMenu(menu_2)

MenuItem menuItem_10 = new MenuItem(menu_2, SWT.NONE)

menuItem_10.setText("\u4E0B\u62C9\u83DC\u53552.1")

MenuItem menuItem_11 = new MenuItem(menu_2, SWT.NONE)

menuItem_11.setText("\u4E0B\u62C9\u83DC\u53552.2")

}

}

这个是用SWT写的,很好用。具体的应用就是个menuitem添加选中的监听器,这里是在复选框选中时,d出消息框,显式该选项被选中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11652334.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存