在游戏中使用Swing控件添加对话框,例如登陆窗口,菜单等。如果使用JPanel控件作为所有控件的容器,应该使用下列的代码禁用Swing默认的双缓存:
panel.setDoubleBuffered(false);
想让登陆窗口透明,先将JPanel控件设置为透明,使用下列的代码:
panel.setOpaque(false);
使用下边的代码绘制登陆窗口:
Graphics2D g2d
=
(Graphics2D)image.createGraphics();
g2d.setColor(getBackground());
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f ));
g2d.fillRoundRect( 0 , 0 , getWidth(), getHeight(), 8 , 8 );
g2d.setColor(getBackground());
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f ));
g2d.fillRoundRect( 0 , 0 , getWidth(), getHeight(), 8 , 8 );
附截图: