swing的不规则与透明窗体

public class ShapedWindow extends JFrame {
	public ShapedWindow() {
		super("不规则窗体");
		this.setLayout(new FlowLayout());
		JButton button = new JButton("退出按钮");
		this.add(button);
		this.add(new JCheckBox("复选按钮"));
		this.add(new JRadioButton("单选按钮"));
		this.add(new JProgressBar(0, 100));
		this.setSize(new Dimension(400, 400));
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
	}

	public static void main(String[] args) {
		JFrame.setDefaultLookAndFeelDecorated(true);
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				Window w = new ShapedWindow();
				w.setVisible(true);
				com.sun.awt.AWTUtilities
						.setWindowShape(w, new Ellipse2D.Double(0, 0, w
								.getWidth(), w.getHeight()));
				com.sun.awt.AWTUtilities.setWindowOpacity(w, 0.5f);
			}
		});
	}

}

 

你可能感兴趣的:(swing,sun)