Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Posizionare JTable in JPanel

    Ciao a tutti,
    ho creato una JTable inserita in uno JScrollpane e con il codice che vi posto di seguito viene inserita in testa alla pagina(il tutto all'interno di un JPanel inserito dentro un JFrame).

    <code>

    ////////////////
    JTable table = new JTable(data, columnNames);
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.add(jLabel2);
    table.setFillsViewportHeight(true);
    table.setEnabled(false);
    this.setLayout(new BorderLayout());
    this.add(table.getTableHeader(), BorderLayout.PAGE_START);
    this.add(table, BorderLayout.CENTER);
    ///////////////

    <code\>

    il PROBLEMA è che in alto c'è anche un Label da me creata (titolo della pagina) che così viene nascosta dalla tabella.
    Come posso fare a spostare la tabella più in basso evitando di nascondere la Label del titolo?

    Grazie mille!!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Posizionare JTable in JPanel

    Originariamente inviato da lukeman83
    codice:
         JTable table = new JTable(data, columnNames);
         JScrollPane scrollPane = new JScrollPane(table);
         scrollPane.add(jLabel2);
         table.setFillsViewportHeight(true);
         table.setEnabled(false);
         this.setLayout(new BorderLayout());
         this.add(table.getTableHeader(), BorderLayout.PAGE_START);
         this.add(table, BorderLayout.CENTER);
    il PROBLEMA è che in alto c'è anche un Label da me creata (titolo della pagina) che così viene nascosta dalla tabella.
    Come posso fare a spostare la tabella più in basso evitando di nascondere la Label del titolo?
    JScrollPane è un contenitore specializzato, non si dovrebbero fare dei add().
    Inoltre non sei tu che (tipicamente) dovresti preoccuparti di prendere e posizionare da qualche parte il table header.

    Metti il JScrollPane nella parte CENTER del BorderLayout (e non preoccuparti di nulla riguardo il table header! E' già automatico che il table header vada nel column header del JScrollPane) e poi metti la JLabel nella parte NORTH del BorderLayout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.