アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数の参考書、ネット、大学の先生に聞いても解決できないのですが、テキストエリアにスクロールバーが表示されません。
以下が、ポイントと思われるソースの一部です。
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);





こんな感じです。
間違っている個所が分かりません。
困り果てているので、分かる方がいらっしゃれば教えてください。

A 回答 (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);
    • good
    • 0
この回答へのお礼

で、できました!
ありがとうございます、本当に助かりました!
先生も1時間近く考えて
「ごめんなさい。わかりません。」
って逃げたられたので、本当に困ってたんです。

ご親切にどうもありがとうございました。

お礼日時:2005/06/17 22:19

>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の宣言と生成の位置を上のようにかえてましたが、そのときもスクロールバーは表示されませんでした。

なぜなんでしょう?

補足日時:2005/06/17 21:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!