Ik heb een klein probleempje met het centreren van een tekst die ik teken met drawString() functie. Ik krijg hem namelijk maar niet goed verticaal gecentreerd. Momenteel gebruik ik de volgende code:
Dat resulteert in een rood vlakje met witte tekst:

Alleen zoals je kunt zien staat de tekst niet helemaal goed. Of is dat misschien gezichtbedrog, ik zit er namelijk al zolang naar te kijken
Weet iemand hoe ik dit kan oplossen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public void paint(Graphics g) {
int mw=((int)this.getSize().getWidth())/2;
int mh=((int)this.getSize().getHeight())/2;
g.setFont(new Font("Dialog", Font.BOLD, 12));
FontMetrics fm=g.getFontMetrics();
String text="Click somewhere to abort";
int strw=fm.stringWidth(text);
int strh=fm.getHeight();
g.setColor(Color.red);
g.fillRect(mw-(strw/2)-10, mh-(strh/2)-10, (strw)+20, (strh)+20);
g.setColor(Color.gray);
g.draw3DRect(mw-(strw/2)-10, mh-(strh/2)-10, (strw)+20, (strh)+20, true);
g.setColor(Color.white);
g.drawString(text, mw-(strw/2),mh+fm.getDescent());
} |
Dat resulteert in een rood vlakje met witte tekst:

Alleen zoals je kunt zien staat de tekst niet helemaal goed. Of is dat misschien gezichtbedrog, ik zit er namelijk al zolang naar te kijken
Weet iemand hoe ik dit kan oplossen?