sto cercando di organizzare due serie di pulsanti per una GUI calcolatrice. Ognuno usa un GroupLayout per crearli. Un set è i numeri (e "."), L'altro è per i pulsanti operativi. Questo funziona fondamentalmente ma se uno dei pulsanti ha una lunghezza doppia (ad esempio il pulsante Uguale sul mio set di operazioni) getta gli altri pulsanti fuori linea. Userò le operazioni impostate come esempio. Ci sono due colonne e quattro file di pulsanti. La riga finale ha solo un pulsante - gli uguali. Voglio fare questa doppia lunghezza che si estende su entrambe le colonne. Al momento, semplicemente spinge la seconda colonna fino alla fine quando voglio che la seconda colonna si sieda sopra di essa.Java - miscelazione dimensioni dei componenti in GroupLayout
Ecco il codice per il layout - operLayout è il nome del layout per le operazioni, a sinistra e staffe destra sulla prima fila, + e - sul secondo, * e/sul terzo e uguale sull'ultima fila . Ogni pulsante ha un valore minimo impostato altrove (sono tutti uguali tranne gli uguali è il doppio).
operLayout.setAutoCreateGaps(true);
operLayout.setAutoCreateContainerGaps(true);
operLayout.setVerticalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(leftBracket)
.addComponent(rightBracket))
.addGroup(operLayout.createParallelGroup().addComponent(add).addComponent(subtract))
.addGroup(operLayout.createParallelGroup().addComponent(multiply).addComponent(divide))
.addGroup(operLayout.createParallelGroup().addComponent(equals)));
operLayout.setHorizontalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup().addComponent(leftBracket).addComponent(add)
.addComponent(multiply).addComponent(equals))
.addGroup(
operLayout.createParallelGroup().addComponent(rightBracket).addComponent(subtract)
.addComponent(divide)));
capisco perché questo sta accadendo ma non sono sicuro di come risolvere la cosa. C'è un modo semplice? O dovrei cambiare il modo in cui lo sto facendo? Grazie
Mi congratulo per la scelta di 'GroupLayout' per questa attività. Credo che questo layout sia il più potente per la stesura di moduli standard. È facilmente trascurato perché è complicato da usare. Dopo aver appreso come funziona, lo uso quasi esclusivamente. –
può riformattare il codice? Corrente; è piuttosto illeggibile. – ArtB
sì, per favore, anche se qualcuno potrebbe averti battuto. Grazie @ErickRobertson, so cosa vuoi dire, sembra complicato ma una volta capito che, è davvero utile! – PatrickJBC