Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何格式化JLabel以在多行上打印字符串?_Java_String_Swing_Format_Jlabel - Fatal编程技术网

Java 如何格式化JLabel以在多行上打印字符串?

Java 如何格式化JLabel以在多行上打印字符串?,java,string,swing,format,jlabel,Java,String,Swing,Format,Jlabel,我在让我的JLabel以我想要的格式打印正确的输出时遇到问题。选择单选按钮时,输出如下所示: 密苏里州斯普林菲尔德格兰斯通大道北乔斯·洛科斯853号,邮编65802(417)831-1300“ 我希望它看起来像: 何塞·洛科斯 密苏里州斯普林菲尔德格兰斯通大道北853号,邮编65802 (417)831-1300“ 我肯定我错过了一些简单的方法来纠正这个问题,但我就是不能用手指去找出我做错了什么。任何帮助都将不胜感激,并提前感谢您抽出时间来帮助我 导入TrySource.TryWindow;

我在让我的JLabel以我想要的格式打印正确的输出时遇到问题。选择单选按钮时,输出如下所示:

密苏里州斯普林菲尔德格兰斯通大道北乔斯·洛科斯853号,邮编65802(417)831-1300“

我希望它看起来像:

何塞·洛科斯

密苏里州斯普林菲尔德格兰斯通大道北853号,邮编65802

(417)831-1300“

我肯定我错过了一些简单的方法来纠正这个问题,但我就是不能用手指去找出我做错了什么。任何帮助都将不胜感激,并提前感谢您抽出时间来帮助我

导入TrySource.TryWindow;
导入java.awt.BorderLayout;
导入java.awt.Color;
导入javax.swing.JLabel;
导入java.awt.event.ItemEvent;
导入java.awt.event.ItemListener;
导入java.util.array;
导入java.util.Random;
导入javax.swing.*;
公共类TrySomethingNew扩展了JFrame
{
//选择颜色的单选按钮
私有JRadioButton jrbMexican,jrbItalian;
JLabel jlblResult;
//声明用于显示消息的面板
私人TryWindow TryWindow;
//文本结果区域
私人JLabel jlblRestaurantName;
//主要方法
公共静态void main(字符串[]args)
{
TrySomethingNew frame=新TrySomethingNew();
frame.pack();
框架。设置尺寸(500500);
frame.setTitle(“尝试新事物”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);//将帧居中
frame.setVisible(true);
}
公众尝试
{
//创建MovingMessageCanvas实例并设置颜色
TryWindow=newtrywindow(“让我们试试这个”);
TryWindow.挫折背景(颜色:白色);
//用于固定单选按钮的面板
JPanel jpRadioButtons=新的JPanel();
jpRadioButtons.setboorder(newjavax.swing.border.TitledBorder(“选择一种食物类型”);
jpRadioButtons.add(jrbMexican=newjradiobutton(“墨西哥”);
jpRadioButtons.add(jrbItalian=newjradiobutton(“意大利语”);
//分组单选按钮
ButtonGroup btg=新的ButtonGroup();
btg.add(jrbMexican);
btg.add(jrbItalian);
//小组将举行会议
JPanel jpResultPanel=新的JPanel();
setboorder(新的javax.swing.border.TitledBorder(“结果”);
//将面板放置在框架中
setLayout(新的BorderLayout());
添加(jpRadioButtons,BorderLayout.NORTH);
添加(jpResultPanel,BorderLayout.CENTER);
//使用按钮注册侦听器
jrbMexican.addItemListener(新的EventListener());
addItemListener(新的EventListener());
jlbrestaurantname=新的JLabel();
jpResultPanel.add(jlbrestaurantname);
jlbRestaurantName.setVisible(true);
}//端干管
//处理单选按钮选择
类EventListener实现ItemListener
{
公共无效itemStateChanged(ItemEvent e)
{
if(jrbMexican.isSelected())
{
java.util.List mexicanList=Arrays.asList(
“Jose Locos\N密苏里州斯普林菲尔德格兰斯通大道北853号,邮编65802/N(417)831-1300”,
“美国密苏里州斯普林菲尔德坎贝尔大道南2118号墨西哥餐厅,邮编65807\n(417)887-1401”);
随机随机发生器=新随机();
String random=mexicanList.get(randomizer.nextInt(mexicanList.size());
jlbrestaurantname.setText(随机);
}//如果选择jrbMexican,则结束
if(jrbItalian.isSelected())
{
java.util.List=Arrays.asList(
“Zios意大利厨房\n1249东金斯利街,斯普林菲尔德,密苏里州,65804\n(417)889-1919”,
“班比诺斯咖啡馆,密苏里州斯普林菲尔德德尔马东街141号,邮编65807(417)862-9999”);
随机随机发生器=新随机();
String random=意大利语列表.get(randomizer.nextInt(意大利语列表.size());
jlbrestaurantname.setText(随机);
}//如果选择jrbItalian,则结束
}//结束项状态已更改
}//EndEventListener
}//结束尝试

Swing JLabel长期以来一直支持将简单html嵌入其中。因此,如果用

替换\n,并用
环绕整个字符串,您将得到所需的结果。请参见下面的示例代码

//处理单选按钮选择
类EventListener实现ItemListener
{
公共无效itemStateChanged(ItemEvent e)
{
if(jrbMexican.isSelected())
{
java.util.List mexicanList=Arrays.asList(
“何塞·洛科斯,密苏里州斯普林菲尔德格兰斯通大道北853号,邮编65802
(417)831-1300”, “密苏里州斯普林菲尔德坎贝尔大街2118 S号墨西哥餐厅,邮编65807
(417)887-1401”); 随机随机发生器=新随机(); String random=mexicanList.get(randomizer.nextInt(mexicanList.size()); jlbrestaurantname.setText(随机); }//如果选择jrbMexican,则结束 if(jrbItalian.isSelected()) { java.util.List=Arrays.asList( “齐奥斯意大利厨房,密苏里州斯普林菲尔德金斯利大街东1249号,邮编65804
(417)889-1919”, “班比诺斯咖啡馆,密苏里州斯普林菲尔德德尔马东街1141号,邮编65807
(417)862-9999”); 随机随机发生器=新随机(); String random=意大利语列表.get(randomizer.nextInt(意大利语列表.size()); jlbrestaurantname.setText(随机); }//如果选择jrbItalian,则结束 }//结束项状态已更改 }//EndEventListener
您可以尝试用HTML格式化文本,或使用不可编辑的文本区域