2010-07-17 6 views
0

Je veux montrer jtable contenant mes informations de cours, il fonctionne bien car j'ai montré un jtable séparé .... Maintenant le problème est que je veux montrer jtable (contenant mes informations de cours) sur le côté gauche, avec JtextPane dans un seul cadre sur le côté droit de sorte que l'utilisateur peut sélectionner l'élément de jtable et le coller dans le côté droit (JTextPane) en Java ........... Je ne sais pas comment faire cela .... .. Toute aide serait appréciée ....comment ajouter jtable et Jtextpane dans une seule image en java?

Merci à l'avance

+2

pas assez de points, je pense – wax

Répondre

0

Par exemple:

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); 
} 
} 

Un conseil: lisez l'excellent tutoriel Using Swing Components, il y a les réponses à presque toutes les questions de base et beaucoup d'exemples.

Questions connexes