GeeCON Prague 2014*
The moose likes Beginning Java and the fly likes Tab character in JPanel string Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Tab character in JPanel string" Watch "Tab character in JPanel string" New topic
Author

Tab character in JPanel string

Alan Drennan
Greenhorn

Joined: May 24, 2005
Posts: 1
If I include a tab charater in a JPanel's String parameter, it does not display.

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

public class demo extends JApplet {
JPanel numBar = new JPanel(new FlowLayout(FlowLayout.LEADING));
...

public void init(){
JApplet myApp = new JApplet();
...
getContentPane().add(sumBar);
...
String str = "xxx" + '\t' + "zzz";
JLabel msg1 = new JLabel(str, JLabel.LEADING);
msg1.setOpaque(false);
msg1.setForeground(fg);
numBar.setBackground(bg);
numBar.add(msg1);

}
}

The JLabel displays "xxxzzz", instead of "xxx zzz"

What am I doing wrong?
Fahd Shariff
Ranch Hand

Joined: Nov 22, 2002
Posts: 38
Yes JLabel does not render tab characters properly. You will need to override the paint method of JLabel to handle this. Or the second option is to replace your \t characters with spaces.


Fahd Shariff<br />"Let the code do the talking"
 
GeeCON Prague 2014
 
subject: Tab character in JPanel string