Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to center align the title in a JFrame?

I have a JFrame with a Title. I want center align the title, so that it appears in the middle of the JFrame's title.

Thanks.

like image 520
wishman Avatar asked Mar 12 '12 06:03

wishman


1 Answers

Consider leaving the title left-justified...but...this will get you near the center. For resizable frames, you need to rewrite the title on resize.

JFrame t = new JFrame();
t.setSize(600,300);
t.setFont(new Font("System", Font.PLAIN, 14));
Font f = t.getFont();
FontMetrics fm = t.getFontMetrics(f);
int x = fm.stringWidth("Hello Center");
int y = fm.stringWidth(" ");
int z = t.getWidth()/2 - (x/2);
int w = z/y;
String pad ="";
//for (int i=0; i!=w; i++) pad +=" "; 
pad = String.format("%"+w+"s", pad);
t.setTitle(pad+"Hello Center");
like image 123
Java42 Avatar answered Sep 28 '22 11:09

Java42