在SWT中,可以使用Text.setFocus()
方法将焦点设置在文本框上而不是按钮上。以下是一个示例代码:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class FocusExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
MessageBox messageBox = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
messageBox.setText("Message");
messageBox.setMessage("Enter your name:");
Text text = new Text(messageBox, SWT.BORDER);
text.setBounds(10, 10, 200, 25);
text.setFocus(); // 设置焦点在文本框上
messageBox.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
在上述示例中,我们创建了一个MessageBox
对话框,并在对话框中添加了一个文本框Text
。通过调用text.setFocus()
方法,将焦点设置在文本框上。这样,当对话框弹出时,焦点会自动定位到文本框,而不是默认的按钮上。
请注意,这只是一个示例代码,你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云