Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 284
  • 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
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

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

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