IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Taille de panel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Taille de panel
    Bonjour, voila j'ai un probleme je cree une JTable que j'insere dans JScroll. Ensuite je voudrais ajouter ce nouveau panel dans une classe JFrame. Mais comment est-il possible de fixer la taille de mon objet StocksTable a (300, 150) pour qu'elle soit respecter dans le frame de la classe Test. Voici le code source. Merci d'avance pour votre réponse

    public class StocksTable extends JPanel{
    public StocksTable(){
    TableModel model = new AbstractTableModel() {
    Object rowData[][] = { { "one", "ichi" },
    { "two", "ni" },
    { "three", "san" }, { "four", "shi" },
    { "five", "go" },
    { "six", "roku" },
    { "seven", "shichi" },
    { "eight", "hachi" },
    { "nine", "kyu" },
    { "ten", "ju" }, };

    Object columnNames[] = { "English", "Japanese" };

    JTable table = new JTable(model);
    table.setSize(200, 200);
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setSize(100,100);
    this.add(scrollPane, BorderLayout.CENTER);
    this.setSize(200,200);
    }
    }

    public class Test extends JFrame implements ActionListener{


    /**
    * Constructeur de la classe LogOnEBourse
    */
    public Test(){
    super();
    initialize();
    }

    private void initialize(){
    this.setLayout(new BorderLayout());

    this.setTitle("eBourse"); this.setSize(1000,600);
    this.setLocationRelativeTo(null); this.setResizable(false);
    this.add(new StocksTable(), BorderLayout.SOUTH);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }


    public static void main(String[] args){
    Test temp = new Test();
    temp.setVisible(true);
    }
    }

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Salut,

    Au lieu de :

    this.add(new StocksTable(), BorderLayout.SOUTH);

    Tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JPanel monPanel = new StocksTable();
    monPanel.setPreferredSize(new Dimension (300,150));
    this.add(monPanel, BorderLayout.SOUTH);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Merci pour ta réponse Gabriel mais en réalité ca n'a rien changé et je ne sais vraiment pas d'ou vien le problème. Le panel StocksTable ne prend toujours pas la dimension voulue...

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Et il prends quoi comme dimension???


    [EDIT]
    En regardant le code
    t'as this.setSize(200,200); qui définie ton panel à 200, 200 sinon t'as
    this.setSize(1000,600); qui définie la taille de ta fenetre.[/EDIT]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Pour la taille du frame c'est okay il me met bien une taille de 1000*600. Tandis que pour la taille du panel il ne respecte pas le 200*200 meme en mettant 100*100 la dimension reste la meme c'est a dire beaucoup plus grande...

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le setSize sur un Jpanel n'a aucun effet réel.
    Utilises la prefferedSize qui est en général utilisée par les layouts.
    Mais avant tout essies de bien comprendre le concept de layouts et tu verras qua les tailles fixes ne servent à pas grand chose (sauf à faire une interface figée et non redimensionnable)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Merci pour le conseil Sinok je vais essayer de m'en sortir...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. StackPanel à orientation horizontale : ajustement du contenu à la taille du panel
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 23/01/2009, 19h03
  2. [SWING] Donner la taille à un Panel avec Grid Layout
    Par Goupo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 08/06/2007, 00h58
  3. [boxLayout] taille de panel
    Par Lady dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 14/05/2007, 08h57
  4. [JScrollPane] Taille du panel variable
    Par Parkatm dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 17/04/2007, 10h59
  5. [Debutant Swing] Taille des panels variable
    Par NhyMbuS dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 08/01/2006, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo