Swing Java:JTextPane中是否有任何方法可以执行与JTextArea中的append()相同的操作?
该程序允许用户在文本字段中键入命令,然后他们键入的任何内容都将显示在文本区域中。如果是“是”等关键字,它将变为绿色,但是我无法在文本区域中仅设置一行绿色文本,因此我需要使用文本窗格 问题是如果我使用文本窗格,我就不能再使用append方法了Swing Java:JTextPane中是否有任何方法可以执行与JTextArea中的append()相同的操作?,swing,netbeans-6.9,jtextfield,jtextarea,jtextpane,Swing,Netbeans 6.9,Jtextfield,Jtextarea,Jtextpane,该程序允许用户在文本字段中键入命令,然后他们键入的任何内容都将显示在文本区域中。如果是“是”等关键字,它将变为绿色,但是我无法在文本区域中仅设置一行绿色文本,因此我需要使用文本窗格 问题是如果我使用文本窗格,我就不能再使用append方法了 private final static String newline = "\n"; private void enterPressed(java.awt.event.KeyEvent evt) {
private final static String newline = "\n";
private void enterPressed(java.awt.event.KeyEvent evt) {
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER)
{
String textfieldEnterdValue = textfield1.getText().toString();
this.TextArea1.append("> "+tb1EnterdValue+newline);
this.tb1.setText("");
if((tb1EnterdValue.equals("yes")) )
{
TextArea1.setForeground(Color.green);
}
}
我认为您需要直接在底层文档上执行此操作
Document d = textPane.getDocument();
d.insertString(d.getLength(), value, null);
大概是这样的:
String value = textfield1.getText(); // no need for toString() here!
textPane.getDocument().insertString(textPane.getCaretPosition(), value, null);
String value=textfield1.getText();//这里不需要toString()!
textPane.getDocument().insertString(textPane.getCaretPosition(),值,null);
用作模型。这是支持使用多种颜色和字体所必需的。因此,要附加到JTextPane,您需要修改文档。
可采用以下方法:
例如,这会将
值
附加到文档末尾
Document d = textPane.getDocument();
d.insertString(d.getLength(), value, null);
此外,您可能需要调用的结果,以确保新添加的行显示在屏幕上