2017-12-15 13 views
1

これは質問です。私は、ユーザーがいくつかの要素を追加することになっているJListを持っていて、その要素の名前がJListに表示されます。私はJList上でスクロールを追加するためにすべてのWebで検索しましたが、これらはうまくいきませんでした。誰か助けてくれますか? これは ')(初期化' メソッドでは、JListののコードです:JListにスクロールを追加するにはどうすればよいですか? [JAVA]

list = new JList(); 
     list.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseClicked(MouseEvent arg0) { 
       if (arg0.getClickCount()==2) { 
        textFieldRagioneSociale.setText(ragionesociale.get(list.getSelectedIndex())); 
        textFieldNomeAzienda.setText(nomeazienda.get(list.getSelectedIndex())); 
        textFieldIndirizzo.setText(indirizzo.get(list.getSelectedIndex())); 
        textFieldCAP.setText(CAP.get(list.getSelectedIndex())); 
        textFieldLocalita.setText(localita.get(list.getSelectedIndex())); 
        textFieldProvincia.setText(provincia.get(list.getSelectedIndex())); 
        textFieldPartitaIVA.setText(partitaiva.get(list.getSelectedIndex())); 
       } 
      } 
     }); 
     frmCedamClienti.getContentPane().setLayout(null); 
     list.setBounds(10, 10, 155, 255); 
     frmCedamClienti.getContentPane().add(list); 
+0

を、あなたは正確に何を試してみましたか? – compor

+1

nullレイアウトを使用せず、setBounds(...)を使用しないでください!!! – camickr

答えて

2

あなたはJScrollPaneの内部でのJListを置きます。

JScrollPane scrollPane = new JScrollPane(); 
scrollPane.setViewportView(list); 
... 
+2

または単純に 'new JScrollPane(list);'リストにないscrollPaneをフレームに追加することを忘れないでください。 – camickr

+0

申し訳ありませんが、動作しません。リストは表示されません –

0

それを動作させるために、あなたはあなたのJScrollPane()JList<>()を追加する必要があります。 簡単な方法は、以下のようになります:

JList list = new JList(new DefaultListModel<>()); 

によってJScrollPane()であなたのリストを置いたより:

contentPane.add(scrollPane); 
:最後に、単純で、あなたの JFrameのcontentPaneにあなたの JScrollPane()を追加

JScrollPane scrollPane = new JScrollPane(list); 

そして、JList<>()にアイテムを追加すると、次のようになります:

for (int i = 0; i < 30; i++) { 
     ((DefaultListModel) list.getModel()).addElement(String.valueOf(i)); 
    } 

ここでは、完全なコードサンプルを見つけることができますので、

public TestFrame() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 263, 300); 
    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    setContentPane(contentPane); 
    contentPane.setLayout(null); 

    JList list = new JList(new DefaultListModel<>()); 

    JScrollPane scrollPane = new JScrollPane(list); 

    scrollPane.setBounds(10, 11, 227, 239); 

    contentPane.add(scrollPane); 

    for (int i = 0; i < 30; i++) { 
     ((DefaultListModel) list.getModel()).addElement(String.valueOf(i)); 
    } 
} 
+0

(1-)1)JList(または任意のコンポーネント)をJScrollPaneに追加する簡単な答えは、20分早く与えられました。重複する回答は必要ありません。 2)投稿されたコードはnullレイアウトを使用します。スイングはレイアウトマネージャーと一緒に使用するように設計されていますので、スイングを正しく使用する方法を示す必要があります。 – camickr

関連する問題