JLabels on one line

I have 3 JLabels which are rapidly updated with new data (numbers). I want tot add the three labels on one line (horizontally) and don't want them to move when the numbers change. Whatever layout I use they always move when the length of the numbers change. I also tried using \t and only using one label, but that also doesn't work.

Example (what is supposed to happen):

Number 1: 550 Number 2: 400 Number 3: 56156165

Number 1: 5Number 2: 4Number 3: 56

What happens now (I'm using borderlayout and added one to west, center, east)

Number 1: 550 Number 2: 400 Number 3: 56156165

Number 1: 5Number 2: 4Number 3: 56

It seems like such an easy problem, but after a lot of trying I can't figure it out.

[751 byte] By [phalkonea] at [2007-11-26 17:55:11]
# 1
Try grid layout
macrules2a at 2007-7-9 5:08:18 > top of Java-index,Desktop,Core GUI APIs...
# 2

Try this for ideas (horizontal BoxLayout with minimum, maximum and preferred sizes set equal for each JLabel)

package testing;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.util.Random;

public class Test

{

public static void main(String[] args)

{

JFrame frame = new JFrame("Test");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.LINE_AXIS));

final JLabel label1 = new JLabel("Number 1:");

final JLabel label2 = new JLabel("Number 2:");

final JLabel label3 = new JLabel("Number 3:");

ActionListener action = new ActionListener()

{

public void actionPerformed(ActionEvent ae)

{

Random r = new Random();

label1.setText("Number 1: " + r.nextInt());

label2.setText("Number 2: " + r.nextInt());

label3.setText("Number 3: " + r.nextInt());

}

};

frame.add(label1);

frame.add(label2);

frame.add(label3);

Dimension d = new Dimension(150, 20);

for (Component c : frame.getContentPane().getComponents())

{

c.setMinimumSize(d);

c.setPreferredSize(d);

c.setMaximumSize(d);

}

frame.pack();

frame.setVisible(true);

new Timer(200, action).start();

}

}

duckbilla at 2007-7-9 5:08:18 > top of Java-index,Desktop,Core GUI APIs...