如何将方法添加到JTextPane

时间:2017-08-29 12:45:23

标签: java swing object methods jtextpane

我想用自定义方法创建一个JEditorPane 将新彩色文本附加到窗格的方法。

代码:

console = new JTextPane() {
    public void append() {
        //*****
    }
};
console.append();

但是eclipse说这个方法从未使用过,当我试图调用它时会抛出一个错误......我做错了吗?

将方法添加到对象将使其更有效... 感谢帮助者!

3 个答案:

答案 0 :(得分:1)

您无法调用append(),因为console依赖于JTextPane类型,而不是您定义的append()的匿名类。

要在匿名类之外调用append(),您必须创建JTextPane的子类。
如果有意义,您可以将其定义为当前类的私有静态类成员:

...
private static class MyTextPane extends JTextPane {

   public void append() {
    // your code
  }
}
...
MyTextPane myTextPane = new MyTextPane();
myTextPane.append();

答案 1 :(得分:0)

我认为你想要的是创建扩展JTextPane的新类并在那里添加你的方法。

public class MyTextPane extends JTextPane {

  public void append() {
    // your code 
  }
}

答案 2 :(得分:0)

显然,您将JTextPane声明为JTextPane

在作业中,你创建一个"匿名内部类"使用您的新方法扩展console

但是,由于JTextPane被声明为private MyAppendingTextPane console = myAppendingTextPane(); public static class MyAppendingTextPane extends JTextPane { public void append(String line) { ... } } ,因此它不知道您的方法。

尝试这样的事情:

FindNext