У меня есть композит, где я создаю пять текстовых полей при запуске представления. Существует кнопка, по щелчку которой я хочу заменить 4-й текстовый блок на поле со списком. Проблема в том, что я не могу перезагрузить страницу с самого начала, так как хочу отображать текущее значение текстовых полей.Как избавиться от виджета и создать еще один виджет вместо этого в SWT?
Это фрагмент.
public class DisposeDemo {
private static void addControls(Shell shell) {
shell.setLayout(new GridLayout());
Text textOne=new Text(shell, SWT.BORDER);
Text textTwo=new Text(shell, SWT.BORDER);
Text textThree=new Text(shell, SWT.BORDER);
Text textFour=new Text(shell, SWT.BORDER);
Text textFive=new Text(shell, SWT.BORDER);
Button button = new Button(shell, SWT.PUSH);
button.setText("Replace text with Combo");
button.addSelectionListener(new SelectionAdapter() {
@Override public void widgetSelected(SelectionEvent event) {
//What code should go here to Replace the textFour with a combo
}
});
shell.pack();
}
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
addControls(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
На самом деле в реальном времени у меня есть форма, имеющая пять композитов, расположенных в row.Each композита содержит некоторые виджеты, такие как одно текстовое поле/комбинация текстового поля/комбо и т. д. Так, нажав одну кнопку, я хочу, чтобы содержимое одного композита снова загружалось, сохраняя другие композиты static.Is там работает для этого? –
Извините, я не понимаю. Задайте новый вопрос, объясняющий более подробно. –
Sure.I выложу новый вопрос. –