gpt4 book ai didi

Java SWT : Table scroll doesn't work in Dialog

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

我需要将一个表添加到对话框中,并用虚假内容填充它。当对话框显示时,表格没有滚动,因此看不到末尾的内容。

也许这与对话框不可调整大小有关?我找不到调整对话框大小的方法。有可能吗?

这是我打开对话框的方式:

BetClubDialog dialog = new BetClubDialog(getShell(), SWT.DIALOG_TRIM | SWT.PRIMARY_MODAL, null);
String result = dialog.open();

这是我的带有表格和虚拟内容的对话框:

public class BetClubDialog extends Dialog {

protected String result;
protected Shell shell;
private Club clubToEdit;

/**
* Create the dialog.
* @param parent
* @param style
*/
public BetClubDialog(Shell parent, int style, Club clubToEdit) {
super(parent, style);
this.clubToEdit = clubToEdit;
setText("Gestionar Peña de Apuesta");
}

/**
* Open the dialog.
* @return the result
*/
public String open() {
createContents();

Rectangle parentSize = getParent().getBounds();
Rectangle shellSize = shell.getBounds();
int x = parentSize.x + (parentSize.width - shellSize.width) / 2;
int y = (int) (parentSize.y + (parentSize.height - shellSize.height) / 3.5);
shell.setLocation(new Point(x, y));
shell.setLayout(new GridLayout(1, false));

Composite topComposite = new Composite(shell, SWT.NONE);
topComposite.setLayout(new GridLayout(2, false));
topComposite.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));

Label lblClubName = new Label(topComposite, SWT.NONE);
lblClubName.setText("Peña:");

Label lblClubNameValue = new Label(topComposite, SWT.NONE);
lblClubNameValue.setText("Dummy");

Composite clubComposite = new Composite(shell, SWT.NONE);
clubComposite.setLayout(new GridLayout(1, false));
clubComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

Table membersTable = new Table(clubComposite, SWT.BORDER | SWT.CHECK | SWT.FULL_SELECTION);
membersTable.setHeaderVisible(true);
GridData gd_membersTable = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gd_membersTable.minimumHeight = -1;
membersTable.setLayoutData(gd_membersTable);

TableColumn tblclmnName = new TableColumn(membersTable, SWT.NONE);
tblclmnName.setWidth(150);
tblclmnName.setText("Nombre");

TableColumn tblclmnCommonPhoneNumber = new TableColumn(membersTable, SWT.NONE);
tblclmnCommonPhoneNumber.setWidth(120);
tblclmnCommonPhoneNumber.setText("Teléfono");

TableColumn tblclmnCommonMoney = new TableColumn(membersTable, SWT.NONE);
tblclmnCommonMoney.setWidth(150);
tblclmnCommonMoney.setText("Participación Habitual");

// populate Table
for (int i=0; i<50; i++) {
TableItem tableItem = new TableItem(membersTable, SWT.NONE);
tableItem.setText(new String[] {"person "+i, "610610620", "100"});
}

shell.open();
shell.layout();
Display display = getParent().getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}

return result;
}

/**
* Create contents of the dialog.
*/
private void createContents() {
shell = new Shell(getParent(), getStyle());
shell.setSize(550, 550);
shell.setText(getText());
}
}

最佳答案

好吧,我终于解决了这个问题,删除了这一行:

 gd_membersTable.minimumHeight = -1;

关于Java SWT : Table scroll doesn't work in Dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344484/

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