将标签更改为文本框/按钮

时间:2015-08-17 08:38:33

标签: java swt

我想创建一个对话窗口,通过使用包含相关信息的标签,以视觉上令人愉悦的方式显示用户的个人资料(例如姓名,头像,性别等)。同时,我想显示一个编辑按钮,将标签转换为文本框或按钮,允许更改名称或头像。

我如何通过SWT实现这一目标?什么是解决这个问题的最佳策略?

1 个答案:

答案 0 :(得分:1)

您可以使用Text,然后设置setEditable(boolean)以启用/禁用SWT.Selection的{​​{1}} Listener中的文本框编辑:< / p>

Button

或者,您可以使用public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("StackOverflow"); shell.setLayout(new GridLayout(1, false)); // Create a read-only text field final Text text = new Text(shell, SWT.BORDER); text.setEditable(false); text.setText("Some text here"); Button button = new Button(shell, SWT.PUSH); button.setText("Change"); button.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { text.setEditable(!text.getEditable()); } }); shell.open(); shell.pack(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } 并使用相同UI的两个版本(或仅部分内容),并在按下按钮时在它们之间切换。