2011-12-31 8 views
1

私は数日からGUIアプリケーションを開発するためにswingを研究しています。ツールバーのボタンの画像が見えません

次のコードは、(画像「exit.png」を含む)出口ボタンツールバーを作成することを目的とします。問題は、の画像が表示されませんが、のツールバーが表示されます。 ツールバーは、borderlayout javaのマネージャーを使用してNORTHに配置されています。

JMenuBar menubar = new JMenuBar(); 
    JMenu file = new JMenu("File"); 

    menubar.add(file); 
    setJMenuBar(menubar); 

    JToolBar toolbar = new JToolBar(); 
    toolbar.setFloatable(false); 

    ImageIcon exit = new ImageIcon("exit.png"); 
    JButton bexit = new JButton(exit); 
    bexit.setBorder(new EmptyBorder(0, 0, 0, 0)); 
    toolbar.add(bexit); 
    //Default layout manager for JFrame is BorderLayout Manager 
    add(toolbar, BorderLayout.NORTH); 

コードは、クラスがJFrameスイングクラスを拡張するクラスコンストラクタ内に書き込まれます。

必要なクラスをインポートしましたのでご注意ください。コンパイルエラーもありません。 .classが作成されたディレクトリにイメージが保存されます。 guiの他の要素はエラーなしで表示されます。

問題を特定するのを手伝ってください。前もって感謝します。

答えて

5

まず、ImageIconを作成します。

private ImageIcon createImageIcon(String path, String description) { 
     URL imgURL = getClass().getResource(path); 
     if (imgURL != null) { 
      return new ImageIcon(imgURL, description); 
     } else { 
      System.err.println("Couldn't find file: " + path); 
      return null; 
     } 
    } 

し、次いで、ボタンのアイコンを設定します:

bexit.setIcon(myIcon); 
+0

方法が属するOracleのWebサイト上で見られるよう

ImageIcon myIcon = createImageIcon("exit.png", ""); 

とcreateImageIcon()メソッドのコードどのクラス? – PVB

+0

あなたが言ったとおりにしましたが、うまくいきません。 – PVB

+0

あなたのJFrameと同じクラスです。また、Oracle Webサイトのチュートリアルも参照してください。http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html – Katana

関連する問題