一尘不染

从另一个方法获取字符串

java

我有2种方法,第一种方法显示我的JList(list)中的选定值,索引。我想做的就是将selectedValue-
s发送到CreateMap方法。我尝试了这段代码,但是s变量为null。为什么?

public void actionPerformed(ActionEvent e)
    {
        int index = 0;

        if(e.getActionCommand().equals("Check")){ //if button is pressed

            index = list.getSelectedIndex();
            System.out.println("Index selected" + index);
            String s = (String) list.getSelectedValue();
            System.out.println("Value Selected " +s);

            createMap();

    }

}


     private Map<String, Integer>createMap()
     {
         Map<String, Integer> graphicsMap = new HashMap<>();

         for(LaneInformation l:graphics.laneInfos )
         {
             if (l.getEllipse().contains(graphics.startX, graphics.startY)) {
                 graphicsMap.put(this.s, graphics.startX);


             }

         }

         return graphicsMap;     
     }

阅读 156

收藏
2020-12-03

共1个答案

一尘不染

我假设您有2个称为的String变量s,其中一个全局变量,一个局部变量actionPerformed

换线

String s = (String) list.getSelectedValue();

this.s = (String) list.getSelectedValue();

它应该工作。确保您有一个名为的全局变量String s

2020-12-03