2011-12-31 2 views
1

나는 며칠이 지나서 GUI 응용 프로그램을 개발하기 위해 swing을 연구했습니다.툴바의 버튼 이미지를 볼 수 없습니다.

다음 코드는 ( "exit.png"를 이미지 포함) 종료 버튼도구 모음을 생성하는 것을 목표로하고있다. 문제는 이미지을 볼 수 없지만 툴바이 표시됩니다. 도구 모음borderlayout 관리자를 사용하여 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

방법이 속한 오라클 웹 사이트에서 발견

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

그리고 createImageIcon() 메서드에 대한 코드 어떤 수업? – PVB

+0

나는 당신이 말한대로 정확히했으나 작동하지 않는 것 같습니다. – PVB

+0

JFrame과 같은 클래스입니다. 또한 Oracle 웹 사이트에서 자습서를보십시오. http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html – Katana

관련 문제