2011-09-14 7 views

답변

3

JPanel 또는 JLabel의 paintComponents (g)paintComponent(g) 메서드를 오버라이드하여 그 안에 이미지를 그립니다. 따르는 것 :

JPanel panel = new JPanel(){ 
     @Override 
     public void paintComponent(Graphics g) { 
      BufferedImage image = null; // get your buffered image. 
      Graphics2D graphics2d = (Graphics2D) g; 
      graphics2d.drawImage(image, 0, 0, null); 
      super.paintComponents(g); 
     } 
    }; 

JLabel과 동일합니다. 또는 다른 방법 :

BufferedImage image = null; // get your buffered image. 
    ImageIcon icon = new ImageIcon((Image)image); 
    JLabel label = new JLabel(); 
    label.setIcon(icon); 

당신이 FileChooser에서 이미지를로드가 방법 다음으로 수행 할 수 있다는 말과 같이

ImageIcon icon = new ImageIcon(
       fileChooser.getCurrentDirectory().toString() 
       +"/"+fileChooser.getSelectedFile().getName()); 

지금 당신이 JLabel의에서 이미지 아이콘을 사용하거나에 추가 할 수 있습니다 JPanel.


위 코드는 예제 코드이며, 테스트하지 않았으므로 아무런 오류없이 실행하지 않아도됩니다. 필요에 따라 변경해야 할 수도 있습니다.

+0

JLabe에 정확합니다! –

+2

@Harry Joy, 당신은'paintComponent'를 의미 했습니까? – mre

+0

@mre : 아니요. 'paintComponents'를 의미합니다. 나는'paintComponent'가 같은 효과를 줄지 확신하지 못합니다. –

관련 문제