• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 285
  • Last Modified:

Java programming

Below are a couple of lines of code I would like to use to change the existing title on a label.  It works fine except I would like to be able to control the font size on the title and don't know what to add.  The color. bold, and title value work fine.
0
sargent240
Asked:
sargent240
  • 4
  • 3
  • 3
  • +1
1 Solution
 
sargent240Author Commented:
Sorry I missed the lines of code.  They are below.

    Border teamBorder = BorderFactory.createLineBorder(Color.red, Font.BOLD);
    jLabel_visitorsScore.setBorder(BorderFactory.createTitledBorder(teamBorder,    arguments[1]));
0
 
ksivananthCommented:
try this,

TitledBorder titledBorder = BorderFactory.createTitledBorder(teamBorder,    arguments[1]) ;
titledBorder.setFont( new Font( "Verdana", Font.BOLD, 12 ) )
0
 
ksivananthCommented:
and ofcourse you need toi set the border to the label,

jLabel_visitorsScore.setBorder( titledBorder  ) ;
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
The color. bold, and title value work fine.
Firstly, the bold part of that code CAN'T be working fine, because the second parameter to .createLineBorder() is actually the border thickness. It is only because Font.BOLD is an "int" constant and the thickness of the border is specified as an "int", that allows this code still to compile.

So to do all that you are wanting to do try this...
Border teamBorder = BorderFactory.createLineBorder(Color.RED, 1);  // "1" is the thickness of the border
jLabel_visitorsScore.setBorder(BorderFactory.createTitledBorder(teamBorder, arguments[1], TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font(Font.DIALOG, Font.BOLD, 36))); // Where "36" is the point size of the font that you want to use

Open in new window

Note: also you can change that "Font.DIALOG" constant to one of the other logical font constants or to a string that is an actual font name, eg. "Arial", etc
0
 
CEHJCommented:
It is only because Font.BOLD is an "int" constant and the thickness of the border is specified as an "int", that allows this code still to compile.
That's why type-safe arguments are always preferable. Fortunately Java has enum since 1.5
0
 
sargent240Author Commented:
Thanks all for your information.  It is all helpful to use who are learning the language.
0
 
sargent240Author Commented:
mccarl - I used your code as a foundation, made a few changes and it worked like a champ doing what I needed to do.  I made a few adjustments and all is well.  Happy New Year!
0
 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
Your welcome! :)     (And a Happy New Year to you too!)
0
 
ksivananthCommented:
did you try my code?
0
 
sargent240Author Commented:
ksivananth - Yes I did try your code and I got an error:

cannot find symbol method setFont(Font)

I appreciate your input.
0
 
mccarlIT Business Systems Analyst / Software DeveloperCommented:
I believe .setTitleFont() would be the method you would need to do it that way.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 4
  • 3
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now