1

デスクトップアプリケーションを作成するために netBeans エディタを使用しています。ドラッグアンドドロップの方法を使用せずにコンポーネントを追加したい。JListをJPanelに追加するためにこのようなコードを試していますが、何も表示されませんでした

JList jl = new JList();
    Vector<String> v= new Vector<String>();
    v.add("one");
    v.add("Two");
    v.add("Three");
    jl.setListData(v);
    JScrollPane js = new JScrollPane(jl);
    js.setLocation(50, 50);
    js.setSize(100, 100);
    js.setVisible(true);
    jPanel1.add(js);
4

3 に答える 3

1

ドラッグアンドドロップの方法を使用せずにコンポーネントを追加したい。

JListNetBeans の GUI エディタを使用しない簡単な例を次に示します。詳細については、リストの使用方法を参照してください。

import java.awt.*;
import java.util.Random;
import javax.swing.*;

public class JListTest {

    private static final Random random = new Random();

    public static final void main(String args[]) throws Exception {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                createAndShowGUI();
            }
        });
    }

    private static void createAndShowGUI() {
        final DefaultListModel dlm = new DefaultListModel();
        for (int i = 0; i < 1000; i++) {
            dlm.addElement("Z" + (random.nextInt(9000) + 1000));
        }
        final JList list = new JList(dlm);

        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.add(new JScrollPane(list), BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }
}
于 2010-05-22T20:32:38.310 に答える
1

スクロールリストが表示されない、またはリスト内のデータ項目? また、手動で位置を設定しています。真剣に、そうしないでください。レイアウトマネージャーを使用してください。その多くは利用可能であり、Netbeans GUI エディター Mattise で簡単に使用できます。

メイン ウィンドウがレイアウト マネージャーの制御下にあり、その位置とサイズを指定する何かを追加すると、すべての騒乱が解き放たれます。つまり、レイアウト マネージャーはこれを上書きし、サイズが 0、0 になる可能性があります。

必要なことは、レイアウト マネージャーで JPanel を作成して、新しいコンポーネントの位置を保持し、参照して追加するために使用できる既知のフィールド名があることを確認することです。Panel のプロパティにも FlowLayout などがあることを確認してください。

于 2010-05-22T19:49:33.017 に答える
0

GUI 要素を動的に作成するときに、repaint() を呼び出したい場合があります。

于 2010-05-23T11:26:31.597 に答える