私はこのようなコードを持っています。私はすべての細部を削減しましたが、このテキスト領域はボタンを押すと変更され、テキスト領域を変更するだけでした。スクロールが追加されませんでした。スクロール・ポリシーを常に設定しようとしましたが、エラーを戻します。このパネルは、BorderLayout.CENTERを含む別のパネルに追加され、そのパネルがJFrameに追加されます。JTextAreaをJScrollPaneに変更するにはどうすればよいですか?
public class Tester extends JFrame{
JPanel panel = new JPanel();
public static void main(String[] args) {
new Tester();
}
public Tester(){
setSize(1300, 700);
setTitle("A Bar Chart");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel();
setVisible(true);
}
public void panel(){
JTextArea text = new JTextArea();
text.setPreferredSize(new Dimension(100, 100));
JScrollPane pane = new JScrollPane(text);
JButton button = new JButton("a");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.setText("asd\nasdasd\nasdasd\nasdasd\nasdasd\nasdasd\na\na\na\n");
}
});
panel.add(pane);
panel.add(button);
add(panel);
}
}
私はちょうど行って簡単にしていると思います。おそらく問題は、setTextのサイズが変更されず、スクロールが表示されない場合です。だから、おそらく質問は、スクロールが現れるようにスクロールを表示させたり、サイズを変更したりする方法です。
'私はすべてのdetails'を削減 - はい、問題が解決されたウェルまでは、詳細は関連しているのか分かりません。問題を示す適切な[mcve]を投稿してください。これは、スクロールペイン、テキストエリア、およびテキストエリアにデータを追加するボタンがあるフレームです。スクロールは、テキスト領域の優先サイズがスクロールペインのサイズよりも大きい場合にのみ発生します。 'このパネルは、BorderLayout.CENTERで別のパネルに追加されます。パネルは必要ありません。スクロールペインをフレームに直接追加するだけです。 – camickr
私は簡単なコードで問題をシミュレートすることができました。 –
この[トピック](http://stackoverflow.com/questions/13096045/adding-scrollpane-to-jtextarea)は役に立ちます – Squiddie