Non appare la tabella nel jPanel

di p0ll0_ il
6 risposte
Sto rifacendo un programma che avevo già fatto prima. Teoricamente questa parte dovrebbe essere uguale e nella versione vecchia del programma la tabella appariva, in questa no...
Oltretutto non capisco come faccia ad apparire nel programma vecchio dato che non trovo nessun jpanel.add(tabella)
jPanel16.setLayout(new BorderLayout());
poi creo la tabella e poi scrivo così
  jPanel16.add(tabella);
         jPanel16.add(new JScrollPane());
eppure non va, non appare nessuna tabella e nessuno scrollpane... Grazie...

6 Risposte

  • p0ll0_ ha scritto:


    jPanel16.setLayout(new BorderLayout());
    poi creo la tabella e poi scrivo così
    jPanel16.add(tabella);
    jPanel16.add(new JScrollPane());
    eppure non va, non appare nessuna tabella e nessuno scrollpane... Grazie...
    Sbagliato. Dato che jPanel16 ha un BorderLayout, fare 2 add senza constraint (NORTH ecc..) fa andare per default in CENTER. Ma due componenti, detto in generale, nella stessa area del BorderLayout NON ci possono stare! Quindi prima mette tabella in CENTER, poi la toglie e la sostituisce con lo scrollpane (che non "vedi" perché vuoto o perlomeno ... lo si vede da un lieve bordino sui lati destro/basso).

    Il modo corretto:
    jPanel16.add(new JScrollPane(tabella));
    (se non ti serve tenere riferimento al JScrollPane per dopo, cosa che raramente serve).
  • Ho provato a mettere l'ultimo codice che hai postato e non funziona... Uguale a prima...
  •   jPanel16.add(new JScrollPane(tabella), CENTER_ALIGNMENT);
    anche così e non va...
  • Ok, quindi che devo fare? Grazie...
  • Ho notato che in InitComponents c'è questo codice
          javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
            jPanel16.setLayout(jPanel16Layout);
            jPanel16Layout.setHorizontalGroup(
                jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 0, Short.MAX_VALUE)
            );
            jPanel16Layout.setVerticalGroup(
                jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 0, Short.MAX_VALUE)
            );
    Che quindi annullava
    jPanel16.setLayout(new BorderLayout());
    questo altro codice che avevo scritto sopra. Adesso avendo messo quest'aultimo codice dopo la tabella si vede... ma la domanda è ... quel codice sopra che cos'è? Grazie...
Devi accedere o registrarti per scrivere nel forum
6 risposte