【Swing】JTextField设置光标

1、设置焦点

焦点默认是在窗体的第一个组件上

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFrame window = new JFrame();
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));

JButton messageDialog = new JButton("消息框");
messageDialog.addActionListener(l -> {
    // ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, PLAIN_MESSAGE
    JOptionPane.showMessageDialog(window, "消息对话框", "Title",JOptionPane.PLAIN_MESSAGE);
});
panel.add(messageDialog);

JTextField textField = new JTextField(20);
textField.setText("0123456789");
window.addWindowListener(new WindowAdapter() {
    public void windowOpened(WindowEvent e ){
        textField.requestFocus();
    }
});
textField.select(2,5);
panel.add(textField);


// 主窗体
window.setTitle("Swing");
window.setContentPane(panel);
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
window.setBounds(dimension.width / 4, dimension.height / 4, dimension.width / 2, dimension.height / 2);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);

2、

posted @ 2024-05-30 16:16  翠微  阅读(21)  评论(0编辑  收藏  举报