2017-03-08 2 views
0

動的な高さのテキストエリアにメモを表示したいと思います(いくつかのメモは小さく、他のメモは長いものがあります)。 レイアウトの高さを定義するために、テキストエリアから音符行を取得しています。 私はさまざまなレイアウトを試しましたが、うまくいかなかったのです。 (つまり、異なる高さは音符の長さに基づいて正しく設定されますが、GUIではすべての音符の高さが均等に分散されます)。putConstraintを使用したSpringレイアウトでのTextAreaの動的な高さ - Java

今回は、Springlayoutがうまくいくかどうかを確認しようとしていますが、進捗。私は私の状況でputConstraint()を正しく使用しているかどうか確信が持てません。

TextArea textArea = new JTextArea(); 
    textArea.setLineWrap(true); 
    textArea.setWrapStyleWord(true); 
    ComponentUtils.setComponentText(textArea, note.getDisplayLines()); 

    int height= textArea.getLineCount(); 

    JPanel innerPanel = new JPanel(); 
    SpringLayout layout = new SpringLayout(); 
    innerPanel.setLayout(layout); 
    innerPanel.add(textArea); 
    layout.putConstraint(SpringLayout.NORTH, textArea, 
      5, SpringLayout.NORTH, innerPanel); 

    outerPanel.add(innerPanel , BorderLayout.CENTER); 
+1

SpringLayoutは使いにくいです。あなたが望むものを他のレイアウトが行うことができ、作業がより簡単になる可能性があります。達成しようとしていることを具体的に説明するために、アスキーアートの絵や単純な絵を質問に追加できますか? – VGR

+0

コメントありがとうございました。はい、SpringLayoutでは難題でしたが、GridBagLayoutで動作させました。 –

答えて

0

私自身の質問を解決する方法が見つかりました。 レイアウトに関して、GridBagLayoutはJTextAreaの異なる高さのサイズを作成するのに完璧にマッチしました。 (他のレイアウトを使用すると、私の問題であるデフォルトで高さが均等に分散していました)

GridBagLayoutを使用する場合、GradBagConstraintsをインスタンス化する必要があります。 オブジェクトでは、組み込み関数を呼び出すことができます。塗りつぶし、weightx、gridx、gridwithなどのGUIであなたの個人的なニーズを満たすために。

関連する問題