2015-04-25 3 views
0

Я хочу JLabel, чтобы отобразить "hi, my name is Bob"Java (расстояние JLabel)

Однако, когда я закодированы: JLabel.setText("hi, my name is Bob");

пространства являются "потребляли", и выход будет читать "hi, my name is bob"

Может

кого Пожалуйста помоги мне с этим? Заранее спасибо

+2

Каковы пространства, потребляемые в этом примере? – ChiefTwoPencils

+0

Я с начальником выше. Я не вижу, как пробелы расходуются. –

+2

Пространство не так широко, как другие символы. Может быть, вам нужен шрифт «Monospaced»? 'label.setFont (новый шрифт (" monospaced ", Font.PLAIN, 10))'. – camickr

ответ

2

Вот два способа, которые имеют одинаковый эффект. Один устанавливает шрифт на MONOSPACED, а другой отмечает текст как предварительно отформатированный HTML (в котором также используется моноширинный шрифт & сохраняет пробелы и вкладки).

String TEXT = "hi,  my name is Bob"; 
// ... 

JLabel l = new JLabel(TEXT); 
l.setFont(new Font(Font.MONOSPACED, Font.PLAIN, l.getFont().getSize())); 
ui.add(l); 
ui.add(new JLabel("<html><body><pre>" + TEXT)); 

Сказав это, я согласен с @Madonah & @maraca, что это лучше всего обрабатывается в двух этикеток, используя макеты (границы и отступы) для достижения требуемого результата.