如何向 JTextPane 添加方法
How to add method to JTextPane
我想用自定义方法创建一个 JEditorPane。
一种将新的彩色文本附加到窗格的方法。
代码:
console = new JTextPane() {
public void append() {
//*****
}
};
console.append();
但是 eclipse 说这个方法从未被使用过,当我尝试调用它时会抛出一个错误...我做错了什么吗?
将方法添加到对象将使它更有效率...
感谢帮手!
我想你想要的是创建新的 class 来扩展 JTextPane 并在其中添加你的方法。
public class MyTextPane extends JTextPane {
public void append() {
// your code
}
}
您无法调用 append()
,因为 console
依赖于 JTextPane
类型,而不是您定义 append()
.
的匿名 class
要在匿名 class 之外调用 append()
,您必须创建 JTextPane
的子 class。
如果有意义,您可以将其定义为当前 class 的私有静态 class 成员:
...
private static class MyTextPane extends JTextPane {
public void append() {
// your code
}
}
...
MyTextPane myTextPane = new MyTextPane();
myTextPane.append();
显然你将 console
声明为 JTextPane
。
在作业中,您使用您的新方法创建了一个 "anonymous inner class" 扩展 JTextPane
。
但是,由于 console
被声明为 JTextPane
,它不知道您的方法。
尝试这样的事情:
private MyAppendingTextPane console = myAppendingTextPane();
public static class MyAppendingTextPane extends JTextPane {
public void append(String line) { ... }
}
我想用自定义方法创建一个 JEditorPane。
一种将新的彩色文本附加到窗格的方法。
代码:
console = new JTextPane() {
public void append() {
//*****
}
};
console.append();
但是 eclipse 说这个方法从未被使用过,当我尝试调用它时会抛出一个错误...我做错了什么吗?
将方法添加到对象将使它更有效率... 感谢帮手!
我想你想要的是创建新的 class 来扩展 JTextPane 并在其中添加你的方法。
public class MyTextPane extends JTextPane {
public void append() {
// your code
}
}
您无法调用 append()
,因为 console
依赖于 JTextPane
类型,而不是您定义 append()
.
的匿名 class
要在匿名 class 之外调用 append()
,您必须创建 JTextPane
的子 class。
如果有意义,您可以将其定义为当前 class 的私有静态 class 成员:
...
private static class MyTextPane extends JTextPane {
public void append() {
// your code
}
}
...
MyTextPane myTextPane = new MyTextPane();
myTextPane.append();
显然你将 console
声明为 JTextPane
。
在作业中,您使用您的新方法创建了一个 "anonymous inner class" 扩展 JTextPane
。
但是,由于 console
被声明为 JTextPane
,它不知道您的方法。
尝试这样的事情:
private MyAppendingTextPane console = myAppendingTextPane();
public static class MyAppendingTextPane extends JTextPane {
public void append(String line) { ... }
}