Java 从另一个方法获取字符串
我有两种方法,第一种是显示所选值,即JList(列表)中的索引。我想做的是将selectedValue-s-发送到CreateMap方法。我尝试了这段代码,但s变量为空。为什么?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
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();