2013-03-12 4 views
0
public class Main{ 
    public static void main(String []args){ 
     JLabel c=new JLabel(); 
     c.setIcon(new ImageIcon("picture.png")); 
     JFrame frame = new JFrame(); 
     frame.setBackground(Color.WHITE); 
     frame.setUndecorated(true); 
     frame.getContentPane().add(c); 
     frame.pack(); 
     BufferedImage bi = new BufferedImage(c.getWidth(), c.getHeight(), BufferedImage.TYPE_INT_ARGB); 
     Graphics2D graphics = bi.createGraphics(); 
     c.print(graphics); 
     try { 
      Thread.sleep(2000); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
     graphics.dispose(); 
     frame.dispose(); 
    } 
} 

모두 안녕하세요! 나는 단순히 화면에 아무런 프레임없이 이미지를 인쇄하려고한다. 이 코드는 이미지를 화면에 인쇄해야한다고 생각합니다. 2 초를 기다린 다음 처분하십시오. 내가 도대체 ​​뭘 잘못하고있는 겁니까?프레임없이 이미지 인쇄하기

B.T.W 아무런 오류가 없으며, 프로그램은 2 초 동안 살아 있고 그 후에 죽습니다.

답변

0

마지막에 그래픽 부분이 필요 없으며 setVisible (true)을 호출하는 것을 잊었습니다.

1

귀하의 이미지는 귀하의 JLabel에 있습니다. JLabel이 표시되지 않는 프레임이 화면에 인쇄되어야하는 이유는 무엇입니까?

장식되지 않은 프레임을 이미 설정하고 있습니다. 프레임에 표시가 설정되면 작동합니다.

+0

좋아, 어떻게 구성해야합니까? –

+0

답변을 편집했습니다. 이전에 setUndecorated (true)를 사용하지 않았습니다. 'frame.pack()'다음에'frame.setVisible (true)'를 호출하십시오. –