2016-05-24 7 views
0

私は特定の部分を作成したいダイアログを持っています太字。 私はhtmlでこれをやらなければならないことは分かっていますが、これを行うとダイアログメッセージの半分が失われているようです。Swing Dialogbox html書式設定の内容の半分を切り捨てます

オリジナル(ノー太字):

public class View extends JFrame { 
    private final static String NEW_LINE = System 
      .getProperty("line.separator"); 
    public void someMethodDisplayDialog(String string1, String string2, String string3) { 
     JOptionPane.showMessageDialog(this, 
       "An problem occured: " + string1 
         + NEW_LINE 
         + string2 + " Error: " 
         + string3, 
       "Error", 
       JOptionPane.ERROR_MESSAGE); 
    } 
} 

は言うことができます:

  • string1 = "Wrong Key!"
  • string2 = "Input"
  • string = "Z key pressed"

このダイアログボックスでは、次のように表示されます。


問題が発生しました:間違ったキー!
入力エラー:Zキーが押された
" 入力エラー:"の太字にしたいと思います。

 JOptionPane.showMessageDialog(this, 
       "An problem occured: " + string1 
         + NEW_LINE + "<html><b>" 
         + string2 + " Error:</b></html> " 
         + string3, 
       "Error", 
       JOptionPane.ERROR_MESSAGE); 

実行すると、これは私が欲しいものを太字、しかしは例えば、残りオフを「オフカット」:私はこのコードを持っています。 string3は表示されません。
私はstring3の後ろに閉じる</b></html>タグを入れてみました。
すべてが表示されますが、string3も大胆ですが、私は望んでいません!

私はここではっきりと何かを紛失していますか?なぜこれが起きているのか分かりません。それはすでにあなたのメッセージ<html>タグで開始する必要があります@Andrewトンプソンが語るとおりご/ htmlタグが文字列3

JOptionPane.showMessageDialog(this, 
       "An problem occured: " + string1 
         + NEW_LINE + "<html><b>" 
         + string2 + " Error:</b>" 
         + string3 + "Error:</html>", 
       JOptionPane.ERROR_MESSAGE); 
+3

1):だから、あなたのコードは次のようになります。 MCVE]または[ショート、自己完結型、正しい例](http://www.sscce.org/)を参照してください。 –

答えて

2

を切断した

+0

htmlタグを利用する方が良いと考えられていますか?文字列内でhtmlが使用されている場合は、Javaプラットフォーム依存の改行( 'System.getProperty(" line.separator ");'または 'System.lineSeperator();')の代わりに '
'例えば、私が上記の内容を持っていて、最後の行が '+ string3 +" "'と読み込まれるように ''を最後の行に移動しても、同じ結果が得られます。 – Dan

+0

文字列のどこかで 'html'が使用されている場合は、文字列全体を' html'として処理しなければいけないのかと疑問に思えます。 – Dan

+0

幸せな4K(私は限界を超えてあなたを押しつける者ではなかった)! :) @ダン号;) –

0

は+はstring3 編集した後に署名を追加します。 [投稿、 `` 部分は文字列.. 2の最初の部分である必要がありますので、その文字列が早いほど良いのヘルプについて)、HTMLフォーマットをトリガしません

 JOptionPane.showMessageDialog(this, 
      "<html>An problem occured: " + string1 
        + "<br><b>" 
        + string2 + " Error:</b> " 
        + string3 + "</html>", 
      "Error", 
      JOptionPane.ERROR_MESSAGE); 
関連する問題