我猜想你只是想改變JEditorPane的文本從任何其他類。 如果是這樣,那很簡單。 Make the JEditorPane static
並用該類的名稱調用其setText()方法。例如。
頭等艙。
public class First extends JFrame {
static JEditorPane ep;
First() {
ep = new JEditorPane();
setSize(new Dimension(200, 200));
ep.setText("I expect to receive some text.");
add(ep);
setVisible(true);
}
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
}
}
第二類。
public class Second extends JFrame {
JButton btn;
JTextField jtf = new JTextField(16);
JEditorPane ep;
Second() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btn = new JButton("Send above Text.");
setSize(new Dimension(200, 200));
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ep = First.ep;
ep.setText(jtf.getText());
ep.setForeground(Color.red);
}
});
this.setLayout(new FlowLayout());
add(jtf);
add(btn);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
First so;
@Override
public void run() {
new Second();
so = new First();
}
});
}
}
如果沒有更多的代碼,它可能很難引導你,但你能不能因此持有它需要的參考textPane的情況下進入SomePrintClass的構造? – Michael
@Michael這聽起來很合理,你能否給我舉一個你如何做的例子? – Aven
是否要對其他類中的JEditorPane進行更改? – CodeRunner