0

下の図では、下部JComponentは。JList内の(リスト)JScrollPaneです。デフォルトでは、表示される行の数は8または10でしたが、わかりません。しかし、突然、プロジェクトにさらに変更を加えているときに、プロジェクトがこれに変更され、一度に1つのアイテム(fsgisfg)しか表示されなくなりました。一度に表示する行数を変更するにはどうすればよいですか?

list.setVisibleRowCount(8)動作しません。

はのlist拡張をAbstractListModelモデルとして使用します。

メインメニューJFrameはを使用しGridBagLayoutます。

プロジェクトで行われたすべての変更を元に戻そうとしたため、これが発生する可能性がある理由はわかりませんが、結果は同じです。

private JList<String> list;
[...]

list = new JList<String>(); 
list.setVisibleRowCount(8); //doesn't change anything
[...]

JScrollPane scroll2 = new JScrollPane(list);
[...]

list.setModel(new BookListModel(library));
list.repaint(); //the model gets the data for the list, and refresh is needed

[...]

GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 4;
c.gridwidth = 2;
frame.add(scroll2, c);

画像http://dl.dropbox.com/u/71389667/problem.jpg

4

2 に答える 2

0

ええと...問題の原因を突き止めるのは非常に難しいので、バグを探し続ける前に、まずこのチュートリアルを読むことをお勧めします...

現時点では、問題は実際にはレイアウトマネージャーまたはこの方向の何かに起因する可能性があると思います... JList を含むパネル (または使用しているコンポーネント...) レイアウトマネージャーをいじってみてください。現在、ある種の絶対的なものを使用しているように見えるので、たとえば FlowLayout に変更してください。

もう 1 つのヒントとして、ListModel に null 要素が追加されたかどうかを確認してください。

より多くの提案については、より多くのコードを見るとよいでしょう...


役に立ったら報告

于 2013-01-09T04:52:14.403 に答える
0

問題は見つかったと思いますが、何が原因なのかはわかりません。まず、私の本はディスク上のフォルダー ( Library と呼ばれる) の xml ファイルに保存されます。このフォルダを削除して [ライブラリの作成] ボタンを有効にすると、JList は通常のサイズ (8 行が表示されている) に見えます。本を追加しても JList は変わらないので良いです。作成されたxmlファイルを実際に変更しようとすると問題が発生します。デフォルトではファイルは次のようになっているためです

<?xml version="1.0" encoding="UTF-8"?>
<book name="name" author="author" isbn="isbn" />`

こんな風にしたら

<?xml version="1.0" encoding="UTF-8"?>
<book name="name" author="" author="" >
<chapter title="chapter1">
    <paragraph>
        <sentence>sentence1</sentence>
        <sentence>sentence1</sentence>
        <sentence>sentence1</sentence>
        <sentence>sentence1</sentence>
    </paragraph>

</chapter>
</book>

JList の表示が台無しになります。

このようにすると:

<?xml version="1.0" encoding="UTF-8"?>
<book name="fadsf" author="" isbn="" >
    <chapter title="chapter1">
         <paragraph>
            <sentence>sentence1</sentence>
            <sentence>sentence1</sentence>
            <sentence>sentence1</sentence>
    </paragraph>
    </chapter>
</book>

それは正常に動作します。4 番目のセンテンス タグを追加すると、見苦しくなります。

于 2013-01-09T10:23:54.037 に答える