我将JAVA SWT用于JAVA应用程序的GUI.
现在,我已设置一个复选框为禁用状态,但我想显示相同的工具提示.
这可能吗?
我的代码是:
myCheckbox.setSelection(false);
myCheckbox.setEnabled(false);
myCheckbox.setToolTipText("Tooltip message");
解决方法:
正如greg-449在他的answer中指出的那样,这是不可能的.
但是,如果确实需要,可以通过使用相同的工具提示文本将复选框封装在Composite中来解决此限制.
该方法由Andrzej Witecki在this Eclipse forum topic中提出.
一个例子:
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout());
Composite c = new Composite(shell, SWT.NONE);
c.setLayoutData(new GridData()); // default values so it doesn't grab excess space
c.setLayout(new FillLayout());
Button myCheckbox = new Button(c, SWT.CHECK);
myCheckbox.setText("Checkbox text");
myCheckbox.setToolTipText("Tooltip message");
myCheckbox.setEnabled(false);
// assign the same tooltip to the encapsulating composite
myCheckbox.getParent().setToolTipText(myCheckbox.getToolTipText());
shell.setSize(200, 200);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
标签:swt,java
来源: https://codeday.me/bug/20191118/2026838.html