OK、最初に言いたいのは、はい、Java で背景画像を設定することに関して、似たような質問がたくさんあることを知っています。しかし、他の誰かによって開始された Java プロジェクトを渡されたので、私の状況は少し異なります。以前のプログラマーは Java GUI プログラミングにかなり慣れていなかったと思いますし、私自身も Java GUI プログラミングに非常に慣れていません。プログラムが実行する必要があるのは次のとおりです。
- クライアントのネットワーク マップである背景画像を設定します
- URL によって取得されるそれぞれのクライアントに帯域幅マップを配置します。
- 約 5 秒ごとに帯域幅グラフを更新する
前のプログラマーが行った唯一のことは、2 つのクラスをセットアップすることでした。
ここで、MigLayout を使用して、帯域幅の画像を正しい配置で配置するグリッドを整理することにしました。私はそれがうまくいかなかったので、もう少し小さいものから始めて、サルの背景をネットワーク マップに変更することにしました。src ライブラリにマップ jpg を追加し、URL を File に切り替えればうまくいくと思いました。そうではなく、私はそれを機能させるために物事を切り替えようとして立ち往生していましたが、葉巻はありませんでした.
以下は、背景を設定するためのコードです。コードを投稿するのはこれが初めてです。うまくいくことを願っています:...まあ、いくつかの方法を何度か試して、何度かグーグル検索しましたが、コードを投稿してもうまくいかないので、スクリーンショットを撮りました。今日は何もうまくいきません。
私が得るエラーは次のとおりです。
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at bwMonBackground.<init>(bwMonBackground.java:21)
at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7)
編集: 18 行目のコメントを外しました。メインは次のとおりです。
public class bwMonBackgroundMain extends bwMonBackground{
public static void main( String[] args )
{
bwMonBackground frame = new bwMonBackground();
migLayout testing = new migLayout();
testing.createLayout();
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
}
}
編集 2: bwMonBackground.java の 18 行目のコメントを外すと、次のエラーが発生します。
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at bwMonBackground.<init>(bwMonBackground.java:15)
at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7)
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at bwMonBackground.<init>(bwMonBackground.java:20)
at bwMonBackgroundMain.main(bwMonBackgroundMain.java:7)