閲覧ボタン用にダウンロードした画像があります。私は私のmavenプロジェクトのsrc/main/resourcesフォルダに入れました。私のブラウズアクションでは、ここでクラスのための私のコードです:私のjava swingアクションがsrc/main/resourcesで私のイメージを見つけることができないのはなぜですか?
package net.draconia.testcopier.ui.actions;
import java.awt.event.ActionEvent;
import java.net.URL;
import javax.swing.AbstractAction;
import javax.swing.ImageIcon;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import net.draconia.testcopier.TestCopierController;
@Component
public class Browse extends AbstractAction
{
private static final long serialVersionUID = 6237458116383473511L;
private TestCopierController mObjController;
public Browse(final TestCopierController objController)
{
super();
URL objURL = Browse.class.getResource("./if_8_27829.png");
putValue(SMALL_ICON, new ImageIcon(objURL));
setController(objController);
}
public void actionPerformed(final ActionEvent objActionEvent)
{
getController().browseForBackupFolder();
}
protected TestCopierController getController()
{
return(mObjController);
}
protected void setController(final TestCopierController objController)
{
mObjController = objController;
}
}
私はBrowse.class.getResource(...)を介して画像にアクセスしようとしたとき、私は、コンストラクタにヌルを得るのに問題があります。私はファイル名の前に "./"をつけて試してみました。そこにはファイル名がありません。同じ結果が得られます。多分エラーが日食で、私はそれが画像を見ることができない理由私のポンポンファイル内にある場合、私は知らない
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.draconia</groupId>
<artifactId>reedelseviertestcopier</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Reed Elsevier Test Copier</name>
<properties>
spring.version>4.3.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
</project>
:ここに私のPOMファイルです。実行可能なjarを生成するプロジェクトを実装しようとしていたので、出力ウィンドウなどを生成するためにコマンドラインで実行することができますが、少なくともEclipseで動作するはずです。何かご意見は?
https://stackoverflow.com/search?q=getResource+returns+null –
https://stackoverflow.com/questions/ 13269556/strange-behavior-of-class-getresource-and-classloader-getresource-in-executa /? –