C
cdvr
I am stuck....and I am sure it is simple. Basically I have a
panel that has some stuff in it. I want to have another panel (kind
of an overview) that shows everything in the main panel.
So I have something like:
mainPanel = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Rectangle r = mainPanel.getBounds();
BufferedImage bi = new BufferedImage(r.width,
r.height, BufferedImage.TYPE_INT_ARGB);
Graphics biG = bi.createGraphics();
super.paint(biG);
myP.setImage(bi);
}
};
public static class MyPanel extends JPanel {
private BufferedImage bi;
public MyPanel() {
this.bi = new BufferedImage(1, 1,
BufferedImage.TYPE_INT_ARGB);
}
public void setImage(BufferedImage bi) {
System.out.println("...new image");
this.bi = bi;
this.repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("bi: " + bi.getWidth() + ", " +
bi.getHeight());
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(bi, 0, 0, bi.getWidth(), bi.getHeight(),
null);
}
myP = new MyPanel();
so mainPanel has all the stuff, and myP should show it as well....but
it's not working.
any ideas?
panel that has some stuff in it. I want to have another panel (kind
of an overview) that shows everything in the main panel.
So I have something like:
mainPanel = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Rectangle r = mainPanel.getBounds();
BufferedImage bi = new BufferedImage(r.width,
r.height, BufferedImage.TYPE_INT_ARGB);
Graphics biG = bi.createGraphics();
super.paint(biG);
myP.setImage(bi);
}
};
public static class MyPanel extends JPanel {
private BufferedImage bi;
public MyPanel() {
this.bi = new BufferedImage(1, 1,
BufferedImage.TYPE_INT_ARGB);
}
public void setImage(BufferedImage bi) {
System.out.println("...new image");
this.bi = bi;
this.repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
System.out.println("bi: " + bi.getWidth() + ", " +
bi.getHeight());
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(bi, 0, 0, bi.getWidth(), bi.getHeight(),
null);
}
myP = new MyPanel();
so mainPanel has all the stuff, and myP should show it as well....but
it's not working.
any ideas?