Java:使用JOptionPane.showInputDialog(null, "Text");显示多行文本

15

我需要一个文本弹出窗口,就像使用JOptionPane.showInputDialog(null, "Text");时弹出的那种。只不过需要多行文本,就像...

I'm new to java.
I have no background in programming.
I could use some help

我该如何做到这一点?


请参见JOptionPaneTest - trashgod
请参见 https://dev59.com/02Yr5IYBdhLWcg3wBlzp(特别是那里的被接受的答案)。 - joriki
2个回答

18
你可以像这样使用 '\n' :
JOptionPane.showMessageDialog(null, "Hello\nworld");

4
他希望从用户那里获取输入文本(使用类似文本区域的输入对话框),而不是向用户输出多行文本。 - trinity420

17

可能有一打其他方法可以做到这一点,但我能想到的最简单的方法是

JOptionPane.showMessageDialog(null, "<html>I'm new to java.<br>I have no background in programming.<br>I could use some help Thanks!</html>");

另一种展示 JOptionPane 强大之处的方式

JTextArea msg = new JTextArea("This is a really silly example of what can be achieved with a JOptionPane, but this is going to excese for what you have asked for");
msg.setLineWrap(true);
msg.setWrapStyleWord(true);

JScrollPane scrollPane = new JScrollPane(msg);

JOptionPane.showMessageDialog(null, scrollPane);

3
我喜欢在Java中使用HTML,只是希望它能更好地支持CSS。 - MadProgrammer
你是否看过《使用CSS为JavaFX应用程序设计皮肤》(http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm),并且了解如何在JavaFX中使用CSS来样式化布局(http://docs.oracle.com/javafx/2/layout/style_css.htm)? - David Kroukamp
这和使用/n有区别吗?还是个人喜好?...请忽略此帖... - jjd712
@jjd712 根据需求,David的解决方案更简单。如果您想显示更复杂的消息(例如图像或表格数据),那么这将更有用。当我想要显示复杂的工具提示时,我使用类似的方法。检查更新以获取更复杂但可行的解决方案。 - MadProgrammer
“希望它有更好的CSS支持”; <html>我是Java新手。<br> 虽然这并不与此问题相关(在该问题中,提问者似乎知道他们想要插入换行符的位置),但至少J2SE支持将CSS width属性添加到body元素中。 这可以帮助我们避免在多行文本中找出放置换行符的位置。 :) - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接