我有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; }
我假设您有2个称为的String变量s,其中一个全局变量,一个局部变量actionPerformed。
s
actionPerformed
换线
String s = (String) list.getSelectedValue();
至
this.s = (String) list.getSelectedValue();
它应该工作。确保您有一个名为的全局变量String s。
String s