2010-07-17 42 views
0

我想顯示jtable包含我的課程信息,它工作正常,因爲我已經顯示了一個單獨的jtable .... 現在的問題是,我想顯示jtable(包含我的課程信息)在左側,與JtextPane在右側的單個框架中,以便用戶可以從jtable中選擇項目並將其粘貼到Java中的右側(JTextPane)........... 我不知道該怎麼做.... .. 任何幫助,將不勝感激....如何在java中的單個框架中添加jtable和Jtextpane?

由於提前

+2

沒有足夠的點,我認爲 – wax 2010-07-17 20:50:16

回答

0

例如:

public class ListTest extends JPanel{ 

private JTable table; 
private String COLUMN1 = "COLUMN1"; 
private JTextArea myTA; 

public ListTest() { 

    table = new JTable(new Object[][]{{"1"}, {"2"}}, new Object[]{COLUMN1}); 

    TableColumn col = table.getColumn(COLUMN1); 
    col.setIdentifier(COLUMN1); 
    col.setHeaderValue("Data"); 

    table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ 

     @Override 
     public void valueChanged(ListSelectionEvent e){ 
      if (!e.getValueIsAdjusting()){ 
       int selRow = table.getSelectedRow(); 

       final Object data = selRow >= 0 ? table.getModel().getValueAt(selRow, 0) : null; 
       SwingUtilities.invokeLater(new Runnable(){ 

        @Override 
        public void run(){ 
         if (data != null){ 
          myTA.setText(data.toString()); 
         } 
         else{ 
          myTA.setText(""); 
         } 

        } 
       }); 
      } 
     } 
    }); 

    setLayout(new BorderLayout()); 

    JScrollPane scroll = new JScrollPane(table); 
    scroll.setPreferredSize(new Dimension(50, 200)); 
    add(scroll, BorderLayout.WEST); 
    add(new JScrollPane(myTA = new JTextArea()), BorderLayout.CENTER); 

} 

public static void main(String[] args){ 
    JFrame frame = new JFrame("test"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    ListTest listTest = new ListTest(); 
    // Add content to the window. 
    frame.add(listTest); 

    // Display the window. 
    frame.pack(); 
    frame.setSize(400, 200); 
    frame.setVisible(true); 
} 
} 

一個建議:閱讀優秀Using Swing Components教程,還有幾乎所有的基本問題和一個例子很多的響應。

相關問題