我正在设计一个基于的gui org.eclipse.swt.widgets.TabItem.
有没有办法将TabItem内部显示TabFolder为"非活动",即使用通常的浅灰色并且所有包含的元素都不活动?
这是我可以设计的其他系统中的东西.我认为swt也是可能的,但我是这个环境的新手,在谷歌搜索这个主题后,我找不到任何解决方案.有可能吗?
无法设置TabItem非活动(禁用),因为无法单击所选的TabItem.但是很容易禁用所选的内容TabItem.只需获取Control绑定到TabItem实例并调用的内容即可setEnable(false).
/*
* TabFolder example snippet: create a tab folder (six pages)
*
* For a list of all SWT example snippets see
* http://www.eclipse.org/swt/snippets/
*/
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.*;
public class TabItemDisable {
public static void main (String [] args) {
Display display = new Display ();
final Shell shell = new Shell (display);
final TabFolder tabFolder = new TabFolder (shell, SWT.BORDER);
Rectangle clientArea = shell.getClientArea ();
tabFolder.setLocation (clientArea.x, clientArea.y);
for (int i=0; i<6; i++) {
TabItem item = new TabItem (tabFolder, SWT.NONE);
item.setText ("TabItem " + i);
Button button = new Button (tabFolder, SWT.PUSH);
button.setText ("Page " + i);
item.setControl (button);
}
tabFolder.pack ();
// disabling content of selected TabItems
tabFolder.getTabList()[0].setEnabled(false);
tabFolder.getTabList()[2].setEnabled(false);
tabFolder.getTabList()[4].setEnabled(false);
shell.pack ();
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6582 次 |
| 最近记录: |