Language/java소스
자바 투명 프레임.. (패널이 아니라...)
아라한사
2014. 5. 6. 13:48
패널 투명은 아마..
setOpacue 였나.비슷한거 자동완성쳐서 False 넣으면 Png 파일등을 이미지처리햇을대 나머지 부분을 투명처리해줄 수 있다.
하지만 자바 윈도우의 기본이 되는 프레임을 투명처리 해주기위해서는 조금 더 과정이 필요하다.
먼저 패널부분..
class MyPanel extends JPanel { Image image; MyPanel(String img) { image = Toolkit.getDefaultToolkit().createImage(img); setOpaque(false); } public void paintComponent(Graphics g) { super.paintComponent(g); if (image != null) { g.drawImage(image, 0, 0, this); } // Apply our own painting effect //이거 투명만들기 소스인데 이해가 안가는데 그냥 쓴다.ㅋㅋ Graphics2D g2d = (Graphics2D) g.create(); // 50% transparent Alpha g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.0f)); g2d.setColor(getBackground()); g2d.fill(getBounds()); g2d.dispose(); } }
흠 그리고 이를 호출하는 프레임 부분..
setLayout(null); // 타이틀 바 처리 연습 setUndecorated(true); //이걸 해줘야 타이틀 바가 사라진다. setBackground(new Color(0, 255, 0, 0)); //이게 검은색 같은데.. panel = new MyPanel("img/mainHud_backTran.png"); setContentPane(panel); getContentPane().setBackground(Color.BLACK);
이정도 해주면 되지 싶다.