Java 从另一个方法获取字符串

Java 从另一个方法获取字符串,java,string,swing,methods,Java,String,Swing,Methods,我有两种方法,第一种是显示所选值,即JList(列表)中的索引。我想做的是将selectedValue-s-发送到CreateMap方法。我尝试了这段代码,但s变量为空。为什么? public void actionPerformed(ActionEvent e) { int index = 0; if(e.getActionCommand().equals("Check")){ //if button is pressed i

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

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;     
     }
public void actionPerformed(ActionEvent e)
{
int指数=0;
如果(例如getActionCommand().equals(“检查”){//if按钮被按下
index=list.getSelectedIndex();
System.out.println(“所选索引”+索引);
字符串s=(字符串)list.getSelectedValue();
System.out.println(“所选值”+s);
createMap();
}
}
私有MapcreateMap()
{
Map graphicsMap=newhashmap();
用于(LaneInformation l:graphics.laneInfo)
{
if(l.getEllipse().contains(graphics.startX,graphics.startY)){
graphicsMap.put(这是graphics.s,graphics.startX);
}
}
返回图形映射;
}

我假设您有两个名为
s
的字符串变量,一个是全局变量,一个是本地变量,位于执行的
操作中

换线

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


它应该会起作用。确保您有一个名为
String s

的全局变量。该.s
actionPerformed
方法中的局部变量
s
不同。Java变量教程:代码审阅服务也不一样!谢谢@培根警官!
this.s = (String) list.getSelectedValue();