猿问

如何在 JTextField 中多次捕获用户输入

你能帮我解决这个小问题吗?我正在尝试制作一个在 JEditorPane 中显示选项的菜单系统,它是这样的:

欢迎

选择一个选项。1.) 新注册。2.) 新输入。3.) 退出。

选项由用户通过 JTextField 选择,当输入“1”时,它会显示另一个菜单:

新注册

1.) 选项 X。 2.) 选项 Y。 3.) 返回。

等等,问题是我不知道如何在 JTextField 中捕获用户的输入、前进到下一个菜单以及重新捕获用户的输入。

textField.addActionListener(new ActionListener () {


        public void actionPerformed(ActionEvent e) {

            String cap = "";


            cap = textField.getText();


            switch(cap) {


            case "1":

                paintEditorPane("Welcome");


                    // here is my problem, I don't know how to re-capture JTextField input

                 switch(cap){


                 case "1":

                       paintEditorPane("NewRegister");

                       break;

                    }

            break;

            }

        }

    });


大话西游666
浏览 103回答 1
1回答

慕村9548890

这是基本的。现在你必须提出很多案例来判断国家。public static class MainPanel extends JPanel{    private JTextArea textArea;    public MainPanel() {        this.setLayout(new BorderLayout());        this.textArea = new JTextArea();// you can use constructor to set Text but I like use method "setText".        this.textArea.addKeyListener(new keyHandler());        this.textArea.setText("Welcome\r\nSelect an option. 1.) New register. 2.) New input. 3.) Exit.\r\n");        this.textArea.setCaretPosition(this.textArea.getText().length());// move caret to last        this.add(this.textArea, BorderLayout.CENTER);    }    public void addText(String text) {textArea.setText(textArea.getText() + "\r\n" + text +"\r\n");}    public class keyHandler extends KeyAdapter{        @Override        public void keyReleased(KeyEvent e) {            switch(e.getKeyCode()){            case KeyEvent.VK_1 : addText("New register"); break;            case KeyEvent.VK_2 : addText("New input"); break;            case KeyEvent.VK_3 : addText("Exit"); break;            }        }    }}
随时随地看视频慕课网APP

相关分类

Java
我要回答