2017-02-06 3 views
-1

私は、パネルにスクロールペインを、スクロールペインの下にjtextareaを持っています。 jtextarea appendが機能していません。jTextArea appendが機能しない

私はこれをログ用に使用しています。

JPanel panel_1 = new JPanel(); 
tabbedPane.addTab("Logs", null, panel_1, null); 
panel_1.setLayout(null); 

JScrollPane scrollPane_1 = new JScrollPane(); 
scrollPane_1.setBounds(0, 0, 672, 303); 
panel_1.add(scrollPane_1); 

JTextArea jTextArea = new JTextArea(100,200); 
jTextArea.setEditable(false); 
jTextArea.setVisible(true); 
scrollPane_1.add(jTextArea); 
jTextArea.append("Hello"); 

答えて

3
scrollPane_1.add(jTextArea); 

スクロール区画にコンポーネントを追加しないでください。スクロール区画のビューポートにコンポーネントを追加する必要があります。

これを行う最も簡単な方法は、使用することです。これを行うには

JTextArea jTextArea = new JTextArea(100,200); 
jTextArea.setEditable(false); 
jTextArea.setVisible(true); 
//scrollPane_1.add(jTextArea); 
jTextArea.append("Hello"); 

JScrollPane scrollPane_1 = new JScrollPane(jTextArea); 
scrollPane_1.setBounds(0, 0, 672, 303); 
panel_1.add(scrollPane_1); 

他の方法が使用することです。

JScrollPane scrollPane_1 = new JScrollPane(); 
scrollPane_1.setViewportView(jTextArea); 

あなたがテキストエリアを作成するときにも、あなたがパラメータを注意してください行/列でありピクセルではないため、値が大きすぎます。

//JTextArea jTextArea = new JTextArea(100,200); 
JTextArea jTextArea = new JTextArea(30,10); 

最後に、スクロールペインの境界を設定しないでください。 Swingはレイアウトマネージャで使用するように設計されています。レイアウトマネージャは、テキスト領域のサイズに基づいて、スクロールペインのサイズを決定します:

//scrollPane_1.setBounds(0, 0, 672, 303); 
+0

は私が動的にテキストをログに記録するpanel_1.add(scrollPane_1)後jTextArea.appendを使用することはできますか? –

関連する問題