java - JPanel being repainted when resizing JFrame although its not obscured or resized -
java - JPanel being repainted when resizing JFrame although its not obscured or resized -
i testing game im writing when discovered 1 of jpanels within jsplitpane beingness repainted when jframe beingness resized though area not beingness obscured nor resized.
although logic, (more specifically, counters) should never set within paintcomponent method, raise potentially serious problems.
has encountered/noticed behaviour? i've read 1 way of preventing repaints utilize repaintmanager.markcompletlyclean(jcomponent). suggestions/workarounds other repaintmanager? bug?
see below:
import java.awt.*; import javax.swing.*; class test { public static void main(string args[]) { swingutilities.invokelater(new runnable() { public void run() { jframe jframe = new jframe(); jframe.setlocation(100,100); jframe.setdefaultcloseoperation(jframe.exit_on_close); jpanel jpanel1 = new jpanel() { final static long serialversionuid = 0; int int_repaints = 0; public void paintcomponent(graphics graphics) { system.out.println("repainting jpanel1=" + (int_repaints++)); } public dimension getpreferredsize() { homecoming new dimension(300,300); } }; jpanel jpanel2 = new jpanel() { final static long serialversionuid = 0; int int_repaints = 0; public void paintcomponent(graphics graphics) { system.out.println("repainting jpanel2=" + (int_repaints++)); } public dimension getpreferredsize() { homecoming new dimension(300,300); } }; jsplitpane jsplitpane = new jsplitpane(jsplitpane.horizontal_split,jpanel1,jpanel2); jframe.setcontentpane(jsplitpane); jframe.pack(); jframe.setvisible(true); } }); } }
java swing paintcomponent jsplitpane
Comments
Post a Comment