Sto tentando di creare una classe separata CustomFont
in cui sono disponibili diversi attributi di testo. Così ho creato una nuova classe estesa Font
e all'interno ho creato una classe privata Drawing che estende JComponent
. Cambio il colore e altre caratteristiche del font e del testo all'interno del metodo paintComponent
.Modifica del colore del testo in Java
Il problema è paintComponent
il metodo non viene chiamato. Sono sicuro che sto facendo un errore.
Ecco il codice:
import javax.swing.JComponent;
public class CustomFont extends Font {
private String string;
private int FontStyle;
public CustomFont(String text, int style) {
super("Serif", style, 15);
FontStyle = style;
string = text;
Drawing draw = new Drawing();
draw.repaint();
}
private class Drawing extends JComponent {
public void paintComponent(Graphics g) {
Font font = new Font("Serif", Font.BOLD, 15);
g.setFont(font);
g.setColor(Color.YELLOW);
g.drawString(string, getX(), getY());
}
}
}
(non collegati, ma considerare l'utilizzo di Java convenzioni di denominazione per le variabili, per esempio, 'FontStyle' sarebbe' fontStyle'.) –
Per un aiuto migliore, pubblicare un [SSCCE] (http://sscce.org/). –
+1 ai commenti @AndrewThompson e DaveNewton, questo non è un [SSCCE] (http://sscce.org) poiché non ho idea di come stai usando la sua classe, ma vedi la mia risposta qui sotto per un aiuto. –