import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.geom.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
public class XXX{
public static void main(String[] args){
new XXX();}
private JFrame window = new JFrame();
private JPanel panel = new JPanel();
public XXX(){
window.setBounds(100,100,200,200);
window.add(panel);
panel.setLayout(new GridLayout());
JButton button = new JButton("Hallo");
button.addActionListener(actionListener);
panel.add(button);
JButton button2 = new JButton("Welt!");
button2.addActionListener(actionListener);
panel.add(button2);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
window.setVisible(true);
}
});
}
ActionListener actionListener = new ActionListener(){
public void actionPerformed(ActionEvent event){
try{Thread.sleep(500);}catch(Exception e){e.printStackTrace();}
final BufferedImage img = new BufferedImage(panel.getSize().width,panel.getSize().height,BufferedImage.TYPE_INT_RGB);
panel.paintComponents(img.createGraphics());
JFrame shower = new JFrame();
JPanel showerPanel = new JPanel(){
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(img,0,0,null);
}
};
showerPanel.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent event){
System.out.println(Arrays.toString(img.getData().getPixel(event.getX(),event.getY(),(int[])null)));
}
});
shower.add(showerPanel);
shower.setSize(img.getWidth(null),img.getHeight(null)+23);
shower.setVisible(true);
}
};
}