[Java]Jtable qui prend la taille de la fenetre

Jtable qui prend la taille de la fenetre [Java] - Java - Programmation

Marsh Posté le 19-06-2007 à 13:20:14    

Bonjour,
 
est-ce que quelqu'un pourrait m'indiquer comment faire pour que la JTable prenne la taille de la fenetre.
Que ce soit lors d'un agrandissement ou lors d'une diminution de le fenetre.

Code :
  1. import javax.swing.JFrame;
  2. import javax.swing.JScrollPane;
  3. import javax.swing.JTable;
  4. public class Test{
  5. public static void main(String [] args){
  6.  JFrame frame = new JFrame("Test" );
  7.  JTable table;                // le tableau
  8.     table=new JTable(2,6);
  9.     /*Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();  
  10.     table.setPreferredScrollableViewportSize(screen);   */
  11.     //scroller
  12.     JScrollPane scrollpane=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
  13.        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  14.     frame.add(scrollpane);
  15.     frame.setVisible(true);
  16.  frame.setSize(100,100);
  17.  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  18. }
  19. }


 
Merci

Reply

Marsh Posté le 19-06-2007 à 13:20:14   

Reply

Marsh Posté le 19-06-2007 à 17:10:58    

C'est le role d'un Layout.
http://java.sun.com/docs/books/tut [...] using.html


---------------
Light is right
Reply

Marsh Posté le 20-06-2007 à 10:51:20    


J'ai réussi à faire en sorte que la table s'élargisse lors d'un agrandissement mais cet agr'andissement ne se fait que sur la largeur.
Comment est-ce qu'il faut faire pour que l'agrandissement se fasse aussi au niveau de la hauteur ?

Code :
  1. import java.awt.BorderLayout;
  2. import java.awt.Container;
  3. import java.awt.Dimension;
  4. import java.awt.Toolkit;
  5. import javax.swing.JPanel;
  6. import javax.swing.JFrame;
  7. import javax.swing.JScrollPane;
  8. import javax.swing.JTable;
  9. public class Test extends JFrame{
  10. private static final long serialVersionUID = 1L;
  11. public Container getContainer(){
  12.  Container contentPane = this.getContentPane();
  13.  JPanel panel = new JPanel();
  14.  JTable table = new JTable(10,5);
  15.  Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
  16.  table.setPreferredScrollableViewportSize(screen);
  17.  panel.add(new JScrollPane(table),BorderLayout.CENTER);
  18.  contentPane.add(panel);
  19.  return contentPane;
  20. }
  21. public static void main(String [] args){
  22.  JFrame frame = new JFrame("Test" );
  23.  Test test = new Test();
  24.  Container contentPane = test.getContainer();
  25.  frame.add(contentPane);
  26.     frame.setVisible(true);
  27.  frame.setSize(100,100);
  28.  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29. }
  30. }


Merci

Reply

Marsh Posté le 20-06-2007 à 15:20:43    

Tu n'as pas affecté de layout à ton panel.
Il faut déclarer ton panel comme ca:
  JPanel panel = new JPanel(new BorderLayout());
Je te conseille de bien lire le lien que je t'ai donné, tout y est très bien expliqué.


---------------
Light is right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed