我想创建一个对话窗口,通过使用包含相关信息的标签,以视觉上令人愉悦的方式显示用户的个人资料(例如姓名,头像,性别等)。同时,我想显示一个编辑按钮,将标签转换为文本框或按钮,允许更改名称或头像。
我如何通过SWT实现这一目标?什么是解决这个问题的最佳策略?
答案 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的两个版本(或仅部分内容),并在按下按钮时在它们之间切换。