有沒有辦法讓JTextArea的末尾可編輯,並使已經打印到它的任何內容都不可編輯?如何使JTextArea的末尾可編輯
我的意思是,如果我已經寫了「Hello World」例如一個JTextArea,我怎麼能讓它使得用戶可以在「Hello World」之後鍵入任何他們想要的內容,但是他們之前不能輸入或刪除已經打印的文本?
下面是一個小程序,以證明我的煩惱......
public class Test {
public static void main(String[] args) {
//Here I create a simple JFrame with JTextArea
JTextArea textArea = new JTextArea();
JFrame frame = new JFrame();
JFrame.setDefaultLookAndFeelDecorated(true);
frame.setSize(250, 250);
textArea.setEditable(true);
textArea.setVisible(true);
frame.add(textArea);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*Here I print "Hello World" onto the text area.. after the ">>" I want the
the user to be able to type whatever they want.. however I don't want them
to be able to edit the "Hello World"*/
textArea.append("Hello World\n>>");
textArea.setCaretPosition(textArea.getDocument().getLength());
}
}
在用戶能夠進入任何他們想要的文字..的例子就是我想要的。但是他們也能編輯我使用append打印的文本..我不想要..
我該如何解決這個問題?
DocumentFilter可能工作。我會試驗一下。 –
也演示了[這裏](https://stackoverflow.com/questions/15017148/jtextarea-as-io-console/15025085#15025085);) – MadProgrammer