2010-08-15 40 views
1

好吧,只要我用我的代碼打開一個新的appelt窗口... JList不顯示,直到我點擊它...我如何使它,所以當我開始小程序嗎?在Applet中顯示JList

謝謝。

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

public class inventory extends JApplet implements MouseListener { 

    public static String newline; 
    public static JList list; 
    int gold = 123; 

    public void init() { 

     ArrayList<String> arr = new ArrayList<String>(); 
     arr.add("Hatchet"); 
     arr.add("Sword"); 
     arr.add("Shield"); 
     arr.add(gold + " Gold"); 
     System.out.println("You have " + arr.size() + " items in your inventory."); 
     showInventory(arr); 

     list = new JList(arr.toArray()); 

     add(list); 

     list.addMouseListener(this); 

     list.setVisible(true); 
    } 

    public static void showInventory(ArrayList<String> theList) { 
     for (int i = 0; i < theList.size(); i++) { 
      System.out.println(theList.get(i)); 
     } 
    } 

    public void mousePressed(MouseEvent e) { 
    } 

    public void mouseReleased(MouseEvent e) { 
     Object index = list.getSelectedValue(); 
     System.out.println("You have selected: " + index); 
    } 

    public void mouseEntered(MouseEvent e) { 
    } 

    public void mouseExited(MouseEvent e) { 
    } 

    public void mouseClicked(MouseEvent e) { 
    } 

    public void paint(Graphics g) { 
    } 
} 
+0

重新格式化代碼;如果不正確請回復。 – trashgod 2010-08-15 22:23:32

+0

+1對於包括一個SSCCE:http://sscce.org/ – trashgod 2010-08-15 23:03:06

+0

:D它有什麼問題? – nn2 2010-08-16 16:09:24

回答

2

你想

this.setVisible(true); 

而不是

list.setVisible(true); 
+0

感謝您的提示! – nn2 2010-08-15 22:41:04

1

嘗試list.addMouseListener(this);之前設置list.setVisible(true);。除此之外,沒有什麼會跳出來對我。

+0

沒有 - 直到我點擊它才能看到。 :( – nn2 2010-08-15 22:08:27

+0

+1這並不是問題所在,但在構建GUI時看起來很有用。 – trashgod 2010-08-15 23:04:58