【问题标题】:Enable text highlighting in swing message-box在 Swing 消息框中启用文本突出显示
【发布时间】:2012-12-20 10:27:13
【问题描述】:

假设我正在使用以下代码在我的简单 Swing 应用程序中提示错误消息:

JOptionPane.showMessageDialog(null, message, "Error", JOptionPane.ERROR_MESSAGE);

有什么方法可以让用户突出显示文本部分(用于复制/粘贴)?

非常感谢。

【问题讨论】:

  • 您希望他们能够突出显示哪些“部分”?消息? message 变量包含什么?
  • 我的意思是消息变量保存的消息字符串部分
  • “我的简单摇摆应用程序中出现错误消息:” 如果应用程序。很简单(对于 user)它可能不会显示 J2SE 生成的错误消息的任何部分,而是有一个 Submit Bug Report 按钮,可以将其中的大部分复制/粘贴到一封电子邮件,或者做一些更智能的事情(例如,直接将其发送回您的服务器)。

标签: java swing joptionpane


【解决方案1】:

如果您反对默认 JTextArea 显示的白色背景,您可以将 JTextArea 背景颜色设置为与 JOptionPane 的背景颜色相同。

String title = "foo";
String message = "Select me";

JTextArea msg = new JTextArea(message);
JOptionPane pane = new JOptionPane(msg, JOptionPane.INFORMATION_MESSAGE);
msg.setBackground(pane.getBackground());
JDialog dialog = pane.createDialog(null, title);
dialog.setVisible(true);

【讨论】:

    【解决方案2】:

    试试这个

     JTextArea textarea= new JTextArea("add your message here");
     textarea.setEditable(true);
     JOptionPane.showMessageDialog(null, textarea, "Error", JOptionPane.ERROR_MESSAGE);
    

    【讨论】:

    • 这允许用户编辑文本并且看起来很愚蠢,因为它有白色背景。
    【解决方案3】:

    JOptionPane 可以用任何对象构造,而不仅仅是字符串消息。因此,您可以构建一个 JTextArea 并将其作为您的消息传递给 JOptionPane。那应该允许复制粘贴。

    【讨论】:

      猜你喜欢
      • 2010-10-20
      • 2013-02-28
      • 2013-02-16
      • 2022-08-14
      • 2016-01-09
      • 1970-01-01
      • 2014-02-09
      • 2016-05-08
      • 2014-12-06
      相关资源
      最近更新 更多