Scroll pane pour liste de jtextfiled

Résolu
migalou17 Messages postés 15 Date d'inscription lundi 18 décembre 2000 Statut Membre Dernière intervention 6 janvier 2009 - 1 janv. 2009 à 14:12
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 - 1 janv. 2009 à 20:08
bonjours,
je vient de faire un programe qui afficher les ligne d'une base de donné dans des jtexfiled mais ils sont nombreux d'ou il faut un scroll pane qui n'a pas marché je les met dans un jpanel jPanel1.add(textField[i], null); mais il ne s'affiche pas mais il saffiche si je met contenPane.add(textField[i], null) dan tous les cas lescroll pane ne marche pas;. voici mon code:

package a;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.SQLException;
import java.sql.*;




/**
 * Title:

 * Description:

 * Copyright: Copyright (c) 2008

 * Company:

 * @author not attributable
 * @version 1.0
 */


public class Frame2 extends JFrame {
  JPanel contentPane;
JEditorPane [] textField=null;


  JScrollPane jScrollPane1 = new JScrollPane();
  JPanel jPanel1 = new JPanel();
    //Construct the frame
  public Frame2() throws ClassNotFoundException, SQLException {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();


 }
    catch(Exception e) {
      e.printStackTrace();
    }




 
  }




  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.setContentPane(contentPane);
    this.setSize(new Dimension(756, 779));
    this.setState(Frame.NORMAL);
    this.setTitle("Module 1");
    /* t.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
   t.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
   formu.setLayout(null);
  getContentPane().add(t);
        t.getViewport().add(formu, null);
*/


        bd b =new bd();
   b.connecter();
   Statement st = DriverManager.getConnection("jdbc:odbc:u","u","aaaa").createStatement();


   ResultSet rs = st.executeQuery("select * from module1");
   textField = new   JEditorPane[200];


int i=0;
while(rs.next()){
  textField[i] = new    JEditorPane();
  textField[i].setName("aa"+i);
  textField[i].setBounds(new Rectangle(12,(30+i*60),800, (50)));
      jPanel1.add(textField[i], null);
  textField[i].setText(rs.getString(2));
  //scrollPane.add(textField[i],null);
i++;
}
    jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    jScrollPane1.setViewport(null);
    jScrollPane1.setViewportBorder(BorderFactory.createLineBorder(Color.black));
    jScrollPane1.setDebugGraphicsOptions(0);
    jScrollPane1.setDoubleBuffered(true);
    jScrollPane1.setMinimumSize(new Dimension(23, 23));
    jScrollPane1.setToolTipText("");
    jScrollPane1.setVerifyInputWhenFocusTarget(true);
    jScrollPane1.setBounds(new Rectangle(7, 10, 732, 746));
    jPanel1.setEnabled(false);
    jPanel1.setForeground(Color.black);
    jPanel1.setBorder(BorderFactory.createEtchedBorder());
    jPanel1.setDebugGraphicsOptions(0);
    jPanel1.setNextFocusableComponent(jTextField3);
    jPanel1.setOpaque(true);
    jPanel1.setLayout(null);
    jTextField1.setText("jTextField1");
    jTextField1.setBounds(new Rectangle(190, 57, 57, 21));
    jTextField2.setText("jTextField2");
    jTextField2.setBounds(new Rectangle(197, 152, 57, 21));
    jTextField3.setText("jTextField3");
    jTextField3.setBounds(new Rectangle(194, 264, 57, 21));
    jTextField4.setText("jTextField4");
    jTextField4.setBounds(new Rectangle(226, 699, 57, 21));
    jTextField5.setText("jTextField5");
    jTextField5.setBounds(new Rectangle(193, 736, 57, 21));
    contentPane.add(jScrollPane1, null);
    //jPanel1.add(jScrollPane1, null);
    jScrollPane1.getViewport().add(jPanel1, null);
    jPanel1.add(jTextField1, null);
    jPanel1.add(jTextField2, null);
    jPanel1.add(jTextField3, null);
    jPanel1.add(jTextField5, null);
    jPanel1.add(jTextField4, null);


 


 


  }


}

3 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
1 janv. 2009 à 16:23
Remplace ceci:
jScrollPane1.getViewport().add(jPanel1, null);

par ceci:
jPanel1.setPreferredSize(new Dimension(800, 30 + i * 60));
jScrollPane1.setViewportView(jPanel1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
1 janv. 2009 à 20:08
> mais il qu'un scrollpane verticale comment faire un autre verticale

Simplement en appelant le constructeur: new JScrollPane()
3
migalou17 Messages postés 15 Date d'inscription lundi 18 décembre 2000 Statut Membre Dernière intervention 6 janvier 2009
1 janv. 2009 à 17:16
merci beaucoup

mais il qu'un scrollpane verticale comment faire un autre verticale
0
Rejoignez-nous