Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #23439
| From | Knute Johnson <nospam@knutejohnson.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: How to move text within Jlabels to the right |
| Date | 2013-04-12 20:56 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <kkaks6$pa6$1@dont-email.me> (permalink) |
| References | <334f5820-444d-409b-ab37-913a2bc6a6d5@googlegroups.com> |
On 4/12/2013 6:12 AM, clusardi2k@aol.com 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.BLUE,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
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to move text within Jlabels to the right clusardi2k@aol.com - 2013-04-12 06:12 -0700
Re: How to move text within Jlabels to the right Nigel Wade <nmw@ion.le.ac.uk> - 2013-04-12 15:07 +0100
Re: How to move text within Jlabels to the right bob smith <bob@coolfone.comze.com> - 2013-04-12 11:47 -0700
Re: How to move text within Jlabels to the right "John B. Matthews" <nospam@nospam.invalid> - 2013-04-13 15:20 -0400
Re: How to move text within Jlabels to the right Roedy Green <see_website@mindprod.com.invalid> - 2013-04-12 13:51 -0700
Re: How to move text within Jlabels to the right Knute Johnson <nospam@knutejohnson.com> - 2013-04-12 20:56 -0700
Re: How to move text within Jlabels to the right "John B. Matthews" <nospam@nospam.invalid> - 2013-04-13 15:16 -0400
csiph-web