我的问题是:我如何设置另一个类的JTextArea
的值?这是一个包含了JTextArea
并延伸JFrame
类:设置另一个类的JTextArea值
public class JTreeFiles extends javax.swing.JFrame {
private javax.swing.JTextArea jTextArea1;
public JTreeFiles() {
initComponents();
}
public JTextArea setTextArea(){
return this.jTextArea1;
}
}
此,我想设置的JTextArea
值:
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath tp = tree.getSelectionPath();
if (tp != null) {
Object filePathToAdd = tp.getLastPathComponent();
//System.out.println(filePathToAdd);
if (filePathToAdd instanceof FileTreeNode) {
FileTreeNode node = (FileTreeNode) filePathToAdd;
File file = node.getFile();
if (file.isFile() && file.getName().endsWith(".java")) {
JTreeFiles jf = new JTreeFiles();
jf.setTextArea().setText("Text Here"); //Nothing happen here
}
}
}
}
}
但没有任何反应,在JTextArea
不显示的文本。我究竟做错了什么?
是在刚刚调用jTextAarea的方法中,然后将用于在另一个类中设置文本。你能给我关于你的建议的完整代码吗? –
为什么大家在设置文本后调用repaint()?这不会解决问题 - – Stephan
人们正在使用重绘,因为它可能是一个问题。我遇到了JComponents未正确绘制的问题,可以通过重绘进行修复。无论如何,尝试每个选项总是很好的。 –