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
scroll top