ここから本文です

Jlistで溢れた内容も表示したい!! このアプリケーションは、JList に項目を追...

くわりんぞうさん

2015/6/2422:38:37

Jlistで溢れた内容も表示したい!!

このアプリケーションは、JList に項目を追加していくと、表示しきれない項目は見えません。

項目が表示しきれないときに、自動的にスクロールバーが表示されるようにするには、どのようなコードを追加し、どこを変更すれば良いのか教えてください。追加するコードは 1 行、変更するコードも 1 行。利用するクラスは JScrollPane です。

よろしくお願いします。


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Exe02 {
static JList jl;
static DefaultListModel model;
static JTextField jtf;

public static void main(String[] args) {
model = new DefaultListModel();

// 設問 Q1
jl = new JList(model);

JPanel jp = new JPanel();

JButton addJb = new JButton("追加");
jp.add(addJb);
addJb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
model.addElement(jtf.getText());
< A >
}
});

JButton removeJb = new JButton("削除");
jp.add(removeJb);
removeJb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
int index = -1;
while((index = jl.getSelectedIndex()) != -1){
model.remove(index);
}
}
});

JFrame jf = new JFrame("今日やること");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jtf = new JTextField();
jf.add(jtf,BorderLayout.NORTH);
jf.add(jl,BorderLayout.CENTER);
jf.add(jp,BorderLayout.SOUTH);
jf.setSize(250, 200);
jf.setVisible(true);
}
}

補足// 設問 Q1

< A >
は省いてください。

消し忘れです。

閲覧数:
48
回答数:
1

違反報告

ベストアンサーに選ばれた回答

cip********さん

2015/6/2423:22:06

jf.add(jl,BorderLayout.CENTER);

JScrollPane sc = new JScrollPane();
sc.setViewportView(jl);
jf.add(sc, BorderLayout.CENTER);
とすれば良いかと

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる