camickr是正确的。所以:
public class Drawing extends Jframe { JPanel drawingPanel; ........... public Drawing (){ drawingPanel = new MyPanel(); drawingPanel.setPreferredSize(new Dimension(600,600)); add(drawingPanel); }}public class MyPanel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); myBackgroundRoutine(g2); }}您需要严格将工程图与不同组件分开。Swing已经在管理子组件,因此绝对不需要在Panel的frame中实现图形(调用paintComponents()是一个严重的错误)。而且,您永远不要覆盖paint(),因为在Swing中仅使用paintComponent()。除非您完全知道自己在做什么,否则不要混为一谈。



