
複数の参考書、ネット、大学の先生に聞いても解決できないのですが、テキストエリアにスクロールバーが表示されません。
以下が、ポイントと思われるソースの一部です。
import javax.swing.*;
import javax.swing.ScrollPaneConstants;
import javax.swing.JScrollPane;
public class MyClient extends JFrame implements MouseListener,MouseMotionListener,ActionListener {
private Container c;
JTextArea taMain;
JScrollPane scrollPane = new JScrollPane(taMain);
public MyClient() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,500);
setVisible(true);
c = getContentPane();
c.setLayout(null);
taMain = new JTextArea(20,50);
taMain.setBounds(10,10,150,300);
c.add(taMain);
c.add(scrollPane);
taMain.setEditable(false);
・
・
・
・
こんな感じです。
間違っている個所が分かりません。
困り果てているので、分かる方がいらっしゃれば教えてください。
No.2ベストアンサー
- 回答日時:
こんばんは。
いくつか原因があります。
>c.add(taMain);
1.これは余分です。
コンテナに追加するのはJScrollPaneだけで十分です。
現在はこれが見えているので、スクロールペインが見えていません。
>taMain.setBounds(10,10,150,300);
2.位置とサイズを指定するのはJScrollPaneのほうです。
これだと、taMainのJScrollPaneの中の位置とサイズを決めていることになります。
また、JScrollPaneのサイズを決めていないのが、サイズが0で見えなくなってしまっています。
書くとしたらこうだと思います。
taMain = new JTextArea(20,50);
JScrollPane scrollPane = new JScrollPane(taMain);
scrollPane.setBounds(10,10,150,300);
c.add(scrollPane);
で、できました!
ありがとうございます、本当に助かりました!
先生も1時間近く考えて
「ごめんなさい。わかりません。」
って逃げたられたので、本当に困ってたんです。
ご親切にどうもありがとうございました。
No.1
- 回答日時:
>JTextArea taMain;
>JScrollPane scrollPane = new JScrollPane(taMain);
taMainがnullの時にJScrollPaneをnewしているので
JScrollPane scrollPane = new JScrollPane(null);
となっています。たぶんこれが原因です。
scrollPaneは
>taMain = new JTextArea(20,50);
の後でnewしてください。
この回答への補足
回答ありがとうごさいます。
ご指摘通りに、
JScrollPane scrollPane = new JScrollPane(taMain);を
taMain = new JTextArea(20,50);
の直後に持ってきて、上記のソースの下5行の部分を以下のように変更しました。
taMain = new JTextArea(20,50);
JScrollPane scrollPane = new JScrollPane(taMain);
c.add(taMain);
c.add(scrollPane);
taMain.setEditable(false);
taMain.setBounds(10,10,150,300);
ここで、
taMain.setBounds(10,10,150,300);
の位置も変えました。<なぜか位置が設定されないので。
こちらをコンパイルしても表示されません。
大学の先生も試行錯誤してscrollPaneの宣言と生成の位置を上のようにかえてましたが、そのときもスクロールバーは表示されませんでした。
なぜなんでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextAreaでの文字の色
-
java junit list同士の比較方法
-
Enterキーでボタンを押すにはど...
-
エラーで式の開始が不正ですと...
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
-
matchesを否定文として使う方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Buttonを押すと画像が表示され...
-
setPrefferedSizeとsetSize
-
javaで文字数制限するには?
-
JPanelの切り替えと再描画
-
java junit list同士の比較方法
-
SwingのJMenuに大量のJMenuItem...
-
JDialogを閉じた時の処理
-
JFrameとJPanelの最大化について
-
KeyListenerの使い方について
-
最後の行に移動するには?
-
JTable の 列幅を個別に設定す...
-
TextAreaでの文字の色
-
cadで作った図面をフレーム上で...
-
JTableの列ヘッダ
-
4択クイズでのランダム出題の...
-
JPanelの重ね方/OverlayLayout他
-
Enterキーでボタンを押すにはど...
-
Swing自作コンポーネントをadd...
-
Java-Swing TextAreaにスクロー...
-
キーボードから入力された全角...
おすすめ情報