Java 如何确定选择了哪个JList项目?

Java 如何确定选择了哪个JList项目?,java,swing,user-interface,listener,jlist,Java,Swing,User Interface,Listener,Jlist,我希望根据单击的JList项目运行特定的代码位 但我如何确定选择了哪个项目 代码如下: public void launchFrame() { String selection1 = ""; String[]mainContents = {"Vehicles","Bikes/Bicycles","Boats","Houses","Businesses","Objects","Jobs","Ranks","Licenses"}; String[]se

我希望根据单击的JList项目运行特定的代码位

但我如何确定选择了哪个项目

代码如下:

public void launchFrame() {
        String selection1 = "";
        String[]mainContents = {"Vehicles","Bikes/Bicycles","Boats","Houses","Businesses","Objects","Jobs","Ranks","Licenses"};
        String[]selectionVehicles = {};
        String[]selectionBikesBicycles = {};
        String[]selectionBoats = {};
        String[]selectionHouses = {};
        String[]selectionBusinesses = {};
        String[]selectionObjects = {};
        String[]selectionJobs = {};
        String[]selectionRanks = {};
        String[]selectionLicenses = {};
        JFrame f = new JFrame("MTG SAMP Server Reference");
        JList listAll = new JList(mainContents);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.pack();
        f.setSize(1200, 800);
        f.setLocationRelativeTo(null);
        f.add(listAll);
        listAll.setSize(250, 250);
        listAll.setLocation(50, 50);
        switch (selection1) {
            case "Vehicles":
                JList listVehicles = new JList(mainContents);
                f.add(listVehicles);
                listVehicles.setSize(250, 250);
                listVehicles.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Bikes/Bicycles":
                JList listBikesBicycles = new JList(mainContents);
                f.add(listBikesBicycles);
                listBikesBicycles.setSize(250, 250);
                listBikesBicycles.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Boats":
                JList listBoats = new JList(mainContents);
                f.add(listBoats);
                listBoats.setSize(250, 250);
                listBoats.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Houses":
                JList listHouses = new JList(mainContents);
                f.add(listHouses);
                listHouses.setSize(250, 250);
                listHouses.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Businesses":
                JList listBusinesses = new JList(mainContents);
                f.add(listBusinesses);
                listBusinesses.setSize(250, 250);
                listBusinesses.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Objects":
                JList listObjects = new JList(mainContents);
                f.add(listObjects);
                listObjects.setSize(250, 250);
                listObjects.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Jobs":
                JList listJobs = new JList(mainContents);
                f.add(listJobs);
                listJobs.setSize(250, 250);
                listJobs.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Ranks":
                JList listRanks = new JList(mainContents);
                f.add(listRanks);
                listRanks.setSize(250, 250);
                listRanks.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
            case "Licenses":
                JList listLicenses = new JList(mainContents);
                f.add(listLicenses);
                listLicenses.setSize(250, 250);
                listLicenses.setLocation(350, 50);
                f.repaint();
                f.revalidate();
                break;
        }
            Container contentPaneMain = f.getContentPane();
            contentPaneMain.add(new MTGSAMPServerReference());
        }
引号中的每组文本表示一个单独的项


因此,如果单击了Vehicles,我如何让它将selection1设置为Vehicles?

假设您使用的是Java 7,如果之前您无法在switch语句中使用字符串:

selection1 = (String)listAll.getSelectedValue();

您已经为这个几乎完全相同的问题添加了答案,并接受了它。你为什么再问一次?再问一次没有意义。投票结束这个问题。另一个问题只是部分答案。如果我还有问题,为什么不继续问下去?@JBNizet和hovercraftfullofels,UsabilityOrDie似乎有正确的答案。这就是为什么重新提问会有帮助。在了解情况之前做出判断并不总是明智的。考虑一下给他们一个机会,然后把他们击倒。把人们的问题打倒是没有帮助的,因为这正是这个网站的目的。下次请重新考虑你的行为!是的,我正在使用Java7。这看起来像我需要的,我会试试的!谢谢