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);
}
});
}
}