2013-03-25 12 views
5

Utilizzando il gestore layout predefinito, la JLabel mostra i suoi ellissi quando il frame viene ridimensionato.Come mostrare i puntini di sospensione di JLabel in MigLayout?

Come illustrato da:

public static void main(String[] args) { 
    final JFrame jFrame = new JFrame("JLabel, show me your ellipsis!"); 

    jFrame.getContentPane().add(new JLabel("Sure darling! Shrink me and I'll show you")); 

    jFrame.pack(); 
    jFrame.setVisible(true); 
} 

Tuttavia, MigLayout non visualizza tale comportamento!

public static void main(String[] args) { 
    final JFrame jFrame = new JFrame("JLabel, show me your ellipsis!"); 

    jFrame.getContentPane().setLayout(new MigLayout()); 
    jFrame.getContentPane().add(new JLabel("Nope! I just do not know you well enough!")); 

    jFrame.pack(); 
    jFrame.setVisible(true); 
} 

Ho provato tutti i vincoli di layout/componente a cui potevo pensare. Qualcuno sa se una cosa del genere è possibile anche a Mig?

+1

+1 per un esempio esilarante, mi hai fatto lol con il tuo esempio di codice. – Gubatron

risposta

5

Una JLabel ha una dimensione minima che è approssimativamente (o esattamente, non ricordo) la stessa della sua dimensione preferita. MigLayout riduce solo un componente alla sua min. Quindi devi aggiungere un vincolo di componente che consente di dimensionare più piccolo della sua dimensione minima:

content.add(label, "wmin 10lp"); 
Problemi correlati