Semplice swing personalizzato jcomponent sempre piatto
-
29-10-2019 - |
Domanda
Sto solo giocando con Swing e sto lavorando a un componente swing davvero semplice. Ho un componente ereditato da JComponent
classe e la sua interfaccia utente ereditata da ComponentUI
. Il paint()
Il metodo sembra così:
public void paint(Graphics g, JComponent c) {
int x = c.getX();
int y = c.getY();
c.setBounds(x, y, 100, 25);
int width = c.getWidth();
int height = c.getHeight();
Rectangle r = g.getClipBounds();
g.fillRect(0, 0, 10, 10);
g.drawString("Baf!", 3, 3);
}
Ma è totalmente impossibile ottenere un altro valore di r.height
rispetto a 1. Il componente è largo come indicato, ma altezza solo un punto. Qualcun altro ha esperienze con componenti simili? Purtroppo non esiste un tutorial facile. Tutti i tutorial sono incomprensibili complicati (o obsoleti).
Sembra che il gestore di layout ridimensiona questo componente sempre a 1 altezza (indipendentemente dal valore minimo).
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow