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

Posted

技术标签:

【中文标题】Java:使用 JOptionPane.showInputDialog(null, "Text"); 的多行文本【英文标题】:Java: Multiple lines of text using JOptionPane.showInputDialog(null, "Text"); 【发布时间】:2012-08-20 12:57:32 【问题描述】:

我需要弹出一个像 JOptionPane.showInputDialog(null, "Text"); 那样的文本,只是多行,比如...

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

我该怎么做?

【问题讨论】:

另见JOptionPaneTest 见***.com/questions/14011492/text-wrap-in-joptionpane(特别是那里接受的答案)。 【参考方案1】:

你可以像这样使用'\n':

JOptionPane.showMessageDialog(null, "Hello\nworld");

【讨论】:

-1 他想从用户那里得到一个输入文本(输入对话框看起来像一个文本区域),而不是向用户输出多行。【参考方案2】:

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

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);

【讨论】:

@DavidKroukamp 喜欢 Java 中的 HTML,希望它有更好的 CSS 支持 你看过Skinning JavaFX Applications with CSS,你可以style layouts using CSS in JavaFX 这和使用 /n 有区别吗?还是个人喜好? ...忽略此帖... @jjd712 鉴于需求,David 的解决方案更简单。如果您想显示更复杂的消息(例如图像或表格数据),那么这将更有用。当我想显示复杂的工具提示时,我会使用类似的方法。检查更新以获得更复杂但可行的解决方案 “希望它有更好的 CSS 支持” .. &lt;html&gt;I'm new to java.&lt;br&gt; 与这个问题并不真正相关(OP 似乎知道他们想要换行的位置),但至少如果添加到 body 元素,J2SE 支持 CSS width 属性。这可以帮助我们避免必须在多行文本中放置换行符。 :)

以上是关于Java:使用 JOptionPane.showInputDialog(null, "Text"); 的多行文本的主要内容,如果未能解决你的问题,请参考以下文章

使用Java代码和注解完成Spring配置

我应该采用 Java 12 还是坚持使用 Java 11?

java语言Class类的作用是啥以及怎么使用?

怎么使用JAVA中的包

什么是java控件?怎样使用java控件?

使用java语言,如何对一个类中的静态方法做切面编程?