Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    160

    [JAVA] Impostare larghezza colonne dinamicamente

    Ciao a tutti!

    Ho una tabella dove ci sono varie colonne e alcune di esse devono avere una larghezza ben precisa. Ho impostato JTable.AUTO_RESIZE_OFF. A me serve che le colonne della tabella si adattino ogni volta alla dimensione della finestra principale del programma (se è possibile); ovviamente le colonne che hanno una certa dimensione fissa devono rimanere tali quando allargo la finestra.

    Ad esempio:

    codice:
    | Data  |   Num   |  Descrizione                     |  Prezzo |
    
    <--------------------- Dimensione del JFrame ------------------>
    Data, Num e Prezzo devono avere una dimensione fissa, mentre Descrizione deve prendere lo spazio rimanente fino a riempire la dimensione del frame (perché altrimenti la tabella mi viene tagliata ). Però questo va fatto anche se per esempio allargo la finestra a tutto schermo, quindi in quel caso Descrizione si deve allargare di conseguenza.


    Spero di essere stato chiaro.

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

    Re: [JAVA] Impostare larghezza colonne dinamicamente

    Originariamente inviato da Manugal
    Ho una tabella dove ci sono varie colonne e alcune di esse devono avere una larghezza ben precisa. Ho impostato JTable.AUTO_RESIZE_OFF. A me serve che le colonne della tabella si adattino ogni volta alla dimensione della finestra principale del programma (se è possibile); ovviamente le colonne che hanno una certa dimensione fissa devono rimanere tali quando allargo la finestra.
    Se metti AUTO_RESIZE_OFF JTable non fa nulla di "automatico" per ridimensionare le colonne (che inizialmente hanno una larghezza di default). In tal caso puoi impostare un preferred width (setPreferredWidth) su un TableColumn (vedi anche il min/max width che limita il preferred width). Ma non puoi (facilmente) fare in modo che la tabella si "adatti" al suo contenitore (il JScrollPane, tipicamente).

    Ti conviene lasciare il modo di auto resize predefinito (così la tabella si adatta in larghezza al contenitore) e impostare un min e max width uguale su un TableColumn. In tal modo la tabella si adatta al contenitore ma certe colonne le puoi fare di larghezza fissa e non ridimensionabile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    160
    Grazie. Funziona alla perfezione così.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    19
    Nel caso ti possa essere utile, puoi utilizzare la parte di codice per inizializzare la larghezza colonne:

    http://java.sun.com/docs/books/tutor...enderDemo.java

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    160
    Grazie. Ho risolto con il consiglio di andbin.

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.