Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > How to move text within Jlabels to the right

Reply
Thread Tools

How to move text within Jlabels to the right

 
 
clusardi2k@aol.com
Guest
Posts: n/a
 
      04-12-2013
I have two JLabels with different lenght of text. One JLabel is below the other. I'd like to get the two "colons" in them to line-up vertically.

I tried padding one with "space" characters, but that didn't line up perfectly. My guess is that certain characters have different widths.

(I tried the align vertical and horizontal properties, etc but they didn't work.)

Eg, In the below text of two JLabels, the addition of a space character didn't line up the two colons.

Label1 My First Name:
Label2 Last Name:

Thanks,
 
Reply With Quote
 
 
 
 
Nigel Wade
Guest
Posts: n/a
 
      04-12-2013
On 12/04/13 14:12, http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> I have two JLabels with different lenght of text. One JLabel is below the other. I'd like to get the two "colons" in them to line-up vertically.
>
> I tried padding one with "space" characters, but that didn't line up perfectly. My guess is that certain characters have different widths.
>
> (I tried the align vertical and horizontal properties, etc but they didn't work.)
>
> Eg, In the below text of two JLabels, the addition of a space character didn't line up the two colons.
>
> Label1 My First Name:
> Label2 Last Name:
>
> Thanks,
>


Place them in a JPanel, and set a layout manager which allows you to align them. GridBagLayout will do this. Align them
with java.awt.GridBagConstraints.EAST, or LINE_END so they are at the right of the JPanel.

The Tutorial has all the gory details: http://docs.oracle.com/javase/tutori...out/index.html

--
Nigel Wade

 
Reply With Quote
 
 
 
 
bob smith
Guest
Posts: n/a
 
      04-12-2013
On Friday, April 12, 2013 8:12:18 AM UTC-5, (E-Mail Removed) wrote:
> I have two JLabels with different lenght of text. One JLabel is below the other. I'd like to get the two "colons" in them to line-up vertically.
>
>
>
> I tried padding one with "space" characters, but that didn't line up perfectly. My guess is that certain characters have different widths.
>
>
>
> (I tried the align vertical and horizontal properties, etc but they didn't work.)
>
>
>
> Eg, In the below text of two JLabels, the addition of a space character didn't line up the two colons.
>
>
>
> Label1 My First Name:
>
> Label2 Last Name:
>
>
>
> Thanks,


Maybe try a fixed-width font like Courier?

Thanks.
 
Reply With Quote
 
Roedy Green
Guest
Posts: n/a
 
      04-12-2013
On Fri, 12 Apr 2013 06:12:18 -0700 (PDT), (E-Mail Removed) wrote,
quoted or indirectly quoted someone who said :

>I have two JLabels with different lenght of text. One JLabel is below the other. I'd like to get the two "colons" in them to line-up vertically.


see http://mindprod.com/jgloss/jlabel.html
--
Roedy Green Canadian Mind Products http://mindprod.com
Computer programming is the best remedy for pain (physical or emotional)
I have encountered. It requires so much concentration there is nothing left
over to pay attention to the pain. They should teach this in AA.
 
Reply With Quote
 
Knute Johnson
Guest
Posts: n/a
 
      04-13-2013
On 4/12/2013 6:12 AM, (E-Mail Removed) wrote:
> I have two JLabels with different lenght of text. One JLabel is below
> the other. I'd like to get the two "colons" in them to line-up
> vertically.
>
> I tried padding one with "space" characters, but that didn't line up
> perfectly. My guess is that certain characters have different
> widths.
>
> (I tried the align vertical and horizontal properties, etc but they
> didn't work.)
>
> Eg, In the below text of two JLabels, the addition of a space
> character didn't line up the two colons.
>
> Label1 My First Name: Label2 Last Name:
>
> Thanks,
>


Here are two examples;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class test2 extends JPanel {
public test2() {
super(new GridBagLayout());

GridBagConstraints c = new GridBagConstraints();
c.gridx = 1; c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1.0;

Border b = BorderFactory.createLineBorder(Color.BLUE,1);

// both labels will be the same size and the text will
// be right aligned
JLabel l1 = new JLabel("My First Name:",JLabel.RIGHT);
l1.setBorder(b);
JLabel l2 = new JLabel("Last Name:",JLabel.RIGHT);
l2.setBorder(b);

add(l1,c);
add(l2,c);

setPreferredSize(new Dimension(100,75));
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE );
f.setLayout(new GridBagLayout());
f.add(new test2());
f.setSize(400,300);
f.setVisible(true);
}
});
}
}



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class test extends JPanel {
public test() {
// single label with two lines of text right aligned with css
JLabel l = new JLabel(
"<html><div style=float: right;>This is very long:<br>This
short:");
l.setBorder(BorderFactory.createLineBorder(Color.B LUE,1));
add(l);
}

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE );
f.add(new test(),BorderLayout.CENTER);
f.setSize(400,300);
f.setVisible(true);
}
});
}
}

--

Knute Johnson
 
Reply With Quote
 
John B. Matthews
Guest
Posts: n/a
 
      04-13-2013
In article <(E-Mail Removed)>,
(E-Mail Removed) wrote:

> I have two JLabels with different lenght of text. One JLabel is below
> the other. I'd like to get the two "colons" in them to line-up
> vertically.
>
> I tried padding one with "space" characters, but that didn't line up
> perfectly. My guess is that certain characters have different widths.
>
> (I tried the align vertical and horizontal properties, etc but they
> didn't work.)
>
> Eg, In the below text of two JLabels, the addition of a space
> character didn't line up the two colons.
>
> Label1 My First Name:
> Label2 Last Name:


This example uses `GroupLayout`:

<https://groups.google.com/d/msg/comp.lang.java.gui/PWvVYawy__U/erjchzfASioJ>

--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
 
Reply With Quote
 
John B. Matthews
Guest
Posts: n/a
 
      04-13-2013
In article <(E-Mail Removed)>,
bob smith <(E-Mail Removed)> wrote:

> > Eg, In the below text of two JLabels, the addition of a space
> > character didn't line up the two colons.
> >
> > Label1 My First Name:
> > Label2 Last Name:

>
> Maybe try a fixed-width font like Courier?


Using an appropriate layout is more reliable.

--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
JLabels Are Big Jason Cavett Java 9 03-06-2008 08:26 PM
grid of JLabels Pestry Java 2 01-06-2006 08:22 PM
Problems with JLabels in a special window ... Arnaud Java 2 01-15-2004 09:38 AM
simple game problem using JLabels rob bell Java 1 09-24-2003 09:13 PM



Advertisments