001 package nl.cwi.sen1.visplugin.text; 002 003 import java.awt.BorderLayout; 004 005 import javax.swing.JPanel; 006 import javax.swing.JScrollPane; 007 import javax.swing.JTextArea; 008 009 import nl.cwi.sen1.relationstores.types.RTuple; 010 import nl.cwi.sen1.visplugin.VisualizationPluginWindow; 011 012 public class TextVisualizationWindow extends VisualizationPluginWindow { 013 private JTextArea m_text; 014 private VisPluginTextUnparsing unparser; 015 private static final long serialVersionUID = 1; 016 017 public TextVisualizationWindow(VisPluginTextUnparsing unparser) { 018 this.unparser = unparser; 019 } 020 021 public JPanel render(RTuple fact) { 022 JPanel controlArea = new JPanel(new BorderLayout()); 023 024 try { 025 m_text = new JTextArea(); 026 m_text.setEditable(false); 027 m_text.setWrapStyleWord(true); 028 m_text.setLineWrap(true); 029 030 /* asynchronous call to unparser, will continue with @see setText() */ 031 unparser.unparseRTuple(this, fact); 032 033 // finally add the table to a pane and add it to the JPanel 034 JScrollPane pane = new JScrollPane(m_text); 035 controlArea.add(pane, BorderLayout.CENTER); 036 } catch (Exception ex) { 037 System.err.println(ex); 038 } 039 040 return controlArea; 041 } 042 043 public void setText(String text) { 044 m_text.setText(text); 045 } 046 }