gpt4 book ai didi

java - 在包含列的 swt 表中添加复选框

转载 作者:行者123 更新时间:2023-11-30 07:13:38 25 4
gpt4 key购买 nike

我正在尝试制作一个带有列的 Java SWT 表。我想要的是最左边的列包含一个复选框。这是我到目前为止得到的代码。

    panelSelector = new Composite(composite, SWT.H_SCROLL);
//panelSelector.setBackgroundImage(SWTResourceManager.getImage(UniverseAnalyzerItem.class, "/img/LandscapeTools/UniverseAnalyzer.png"));
panelSelector.setLayout(null);

ScrolledComposite scrolledComposite = new ScrolledComposite(panelSelector, SWT.BORDER | SWT.V_SCROLL|SWT.H_SCROLL);
scrolledComposite.setBounds(10, 30, 800, 500);
scrolledComposite.setExpandHorizontal(true);
scrolledComposite.setExpandVertical(true);

//tableViewer = new TableViewer(scrolledComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.CHECK);
//table = tableViewer.getTable();

table = new Table(scrolledComposite,SWT.BORDER | SWT.CHECK);
table.setTouchEnabled(true);

table.setLinesVisible(true);
table.setHeaderVisible(true);

tableViewer = new TableViewer(table);

TableColumn uCheck = new TableColumn(table,SWT.CHECK);
uCheck.setWidth(50);

TableColumn uName = new TableColumn(table,SWT.CENTER);
uName.setText("Name");
uName.setWidth(150);


TableColumn uID = new TableColumn(table,SWT.CENTER);
uID.setText("ID");
uID.setWidth(50);

TableColumn uType = new TableColumn(table,SWT.CENTER);
uType.setText("Type");
uType.setWidth(50);


TableColumn uPath = new TableColumn(table,SWT.CENTER);
uPath.setText("Path");
uPath.setWidth(200);

scrolledComposite.setContent(table);
scrolledComposite.setMinSize(table.computeSize(SWT.DEFAULT,SWT.DEFAULT));

问题是,当我运行应用程序时,复选框不可见。有人知道我做错了什么吗?

最佳答案

您的代码未向表设置任何输入。在设置查看器内容提供程序、标签提供程序并调用 setInput 之前,您不会在表中看到任何内容。

只是作为测试添加

tableViewer.setContentProvider(ArrayContentProvider.getInstance());

tableViewer.setInput(new String [] {"line1", "line2"});

你的代码末尾对我有用。

注意:SWT.CHECK 不是 TableColumn 的有效样式。这不是访问表中复选框的方式。您应该使用 CheckboxTableViewer 而不是 TableViewer,这为您提供了访问复选框的附加方法。

关于java - 在包含列的 swt 表中添加复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38779172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com