Panel.repaint(); messes up layout
问题 JPanel Initiation p = new JPanel() { private static final long serialVersionUID = 1L; public void paintComponent(Graphics g) { if(errors == 1) g.drawOval(215, 50, 75, 75); else if(errors == 2) g.drawOval(200,200,200,200); } }; Method that calls repaint static void drawHead() { System.out.println("Head"); errors = 1; p.removeAll(); p.revalidate(); p.repaint(); } Before repaint my frame looks like this, http://i.imgur.com/XQlQeul.png And afterwards it looks like this, http://i.imgur.com/RnVuUzt