快速总结一下我希望做的事情:
我目前在家庭网络中的共享文件夹上有一个Swing应用程序(仅供个人使用,因此在这种情况下,便利性胜过最佳做法)。这个应用程序是一个地图编辑器,我在家里的几台不同的计算机上使用它,如果我需要完全从另一个地方工作,也想在其他计算机上使用。
长话短说,我正试图找到一种方法进行设置,以便在运行JAR文件并打开文件选择器时,JFileChooser默认为JAR所在的目录(甚至更好,一个文件夹)在JARs根文件夹中)。实际上,我只能通过JFileChooser构造函数分配一个绝对目录。我现在正在这样做(使用网络目录),但更喜欢相对设置。
这样的事情可能吗?我无法摆脱我做错事的感觉,因为我想这会是一个常见的问题,但我似乎无法在任何地方找到它(或者说,我搜索时没有看到任何答案)
答案 0 :(得分:2)
您可以使用以下内容从该JAR文件中的某个类获取JAR文件的来源:
ProtectionDomain pd = ThatClass.class.getProtectionDomain();
CodeSource cs = pd.getCodeSource();
URL location = cs.getLocation();
答案 1 :(得分:1)
您可以使用getClass().getProtectionDomain().getCodeSource().getLocation()
获取实际的JAR位置,然后解析它并使用setCurrentDirectory()
为JFileChooser设置它。
答案 2 :(得分:0)
您可以在代码中使用它:
$('.slick-slide').hover(
function() {
if (!$(this).hasClass('slick-center')) {
return false;
}
if ($(this).hasClass('slick-center')) {
$('.product-slider__background').stop().animate({
backgroundPositionY: '-5px'
}, 150, 'linear');
}
},
function () {
if (!$(this).hasClass('slick-center')) {
return false;
}
$('.product-slider__background').stop().animate({
backgroundPositionY: '0'
}, 150, 'linear');
}
);
它将文件选择器的默认位置设置为jar文件的位置。