📄 frmxmflinput.java
字号:
package myprojects.FrmXMFL;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
/*本类用于显示输入文本框,
*来源于SWT帮助文档Listing 7-7: ShowInputDialog.java ,作了少量调整。
*/
public class FrmXMFLInput extends Dialog {
private String message;
private String input;
public FrmXMFLInput(Shell parent) {
this(parent, SWT.BORDER|SWT.TITLE);
}
public FrmXMFLInput(Shell parent, int style) {
super(parent, style);
setText("Input Dialog");
setMessage("Please enter a value:");
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getInput() {
return input;
}
public void setInput(String input) {
this.input = input;
}
public String open() {
Shell shell = new Shell(getParent(), getStyle());
shell.setText(getText());
createContents(shell);
shell.pack();
shell.setLocation(shell.getParent().getLocation().x+20,
shell.getParent().getLocation().y+20);
shell.open();
Display display = getParent().getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return input;
}
/**
* 设置输入框内容
*
*
*/
private void createContents(final Shell shell) {
shell.setLayout(new GridLayout(2, true));
Label label = new Label(shell, SWT.NONE);
label.setText(message);
GridData data = new GridData();
data.horizontalSpan = 2;
label.setLayoutData(data);
final Text text = new Text(shell, SWT.BORDER);
data = new GridData(GridData.FILL_HORIZONTAL);
data.horizontalSpan = 2;
text.setLayoutData(data);
text.setText(input);
text.selectAll();
Button ok = new Button(shell, SWT.PUSH);
ok.setText("确认");
data = new GridData(GridData.FILL_HORIZONTAL);
ok.setLayoutData(data);
ok.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
input = text.getText().trim();
shell.close();
}
});
Button cancel = new Button(shell, SWT.PUSH);
cancel.setText("取消");
data = new GridData(GridData.FILL_HORIZONTAL);
cancel.setLayoutData(data);
cancel.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
input = null;
shell.close();
}
});
shell.setDefaultButton(ok);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -