该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
方案一:
public class Test extends JFrame {
Image image;
public Test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setUndecorated(true);
setSize(400, 600);
setLocationRelativeTo(null);
try {
Robot robot = new Robot();
//对在窗体所在位置截屏
image = robot.createScreenCapture(getBounds());
} catch (AWTException e) {
e.printStackTrace();
}
BackPane pane = new BackPane();
pane.add(new JButton("ok"));
pane.add(new JButton("cancel"));
setContentPane(pane);
setVisible(true);
}
class BackPane extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (image != null) {
g.drawImage(image, 0, 0, null);
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Test();
}
});
}
}
我对这个方案的建议是:如果这个方案已经足够满足需求,就尽量选择这个方案。
——————————————————————————————————————