Как получить доступ к jtextPane в другой форме?
Я разрабатываю приложение, в котором при выборе значения (файла) из списка оно должно быть открыто в jTextPane другой формы. Я использую две панели, одна из которых является основной панелью, где отображается мой список, а другая - ExcelSheet. Когда я нажимаю на значение списка, основная панель закрывается и отображается новая форма ExcelSheet, но не содержимое файла doc в jTextPane.
XWPFWordExtractor extractor=null;
File file=null;
String str=(String) list.getSelectedValue();
mainPanel.setVisible(false);
new ExcelSheet().setVisible(true);
ExcelSheet obj=new ExcelSheet();
try {
file=new File("C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\"+str);
FileInputStream fis=new FileInputStream(file.getAbsolutePath());
XWPFDocument document=new XWPFDocument(fis);
extractor = new XWPFWordExtractor(document);
String fileData = extractor.getText();
Document doc = obj.jTextPane1.getDocument();
System.out.println(fileData);
doc.insertString(doc.getLength(), fileData, null);
}
catch(Exception exep){exep.printStackTrace();}
1 ответ
Использование Action
инкапсулировать код, который обновляет текстовую панель, чтобы отобразить данный файл. Вы можете вызвать действие из ListSelectionListener
добавлен в ваш JList
, Вы также можете использовать действие в пункте меню или на панели инструментов, как показано здесь. ImageApp
это связанный пример.
Например, каждому экземпляру вашего действия потребуются целевая текстовая панель и файл:
class FileAction extends AbstractAction {
JTextPane target;
File file;
public FileAction(JTextPane target, File file) {
this.target = target;
this.file = file;
}
@Override
public void actionPerformed(ActionEvent e) {
// render file in target
}
}