【发布时间】:2015-09-04 20:00:37
【问题描述】:
感谢您阅读我的问题并为菜鸟道歉
我正在编写我的第一个 JavaFX 应用程序,其中我有一个超链接数组,其中超链接的文本值中具有纬度经度(例如“42N 7E”),该超链接每秒从另一个线程更新并更新超链接文本在主线程中。 (这很好用)
public static void setPosLatLong(String posLatLong, int SID) {
Main.posLatLong[SID].setText(posLatLongValue);
}
我试图在单击超链接时使用超链接文本中的值以使用最新的 latlong 值动态更改目标 URL...但我收到错误“从 lambda 表达式引用的局部变量必须是最终的或有效的最终'
int SID = 'id of the hyperlink corresponding to a machine'
posLatLong[SID] = new Hyperlink();
posLatLong[SID].setOnAction((ActionEvent event) -> {
getHostServices().showDocument("http://maps.google.com/maps?z=17&q=" + posLatLong[SID].getText());
});
我已经尝试了各种方法来解决这个问题,但我可耻地被卡住了。如果有人能指出我正确的方向,以便在打开浏览器时将超链接数组中的最后更新值作为参数传递,将不胜感激。
【问题讨论】:
标签: dynamic hyperlink javafx actionevent