package org.geotools.image.test; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.RenderedImage; import javax.media.jai.widget.ScrollingImagePanel; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; class ReferenceImageDialog extends JDialog { private static final long serialVersionUID = -8640087805737551918L; boolean accept = false; public ReferenceImageDialog(RenderedImage image) { JPanel content = new JPanel(new BorderLayout()); this.setContentPane(content); this.setTitle("ImageAssert"); final JLabel topLabel = new JLabel("<html><body>Reference image file is missing.<br>" + "This is the result, do you want to make it the referecence?</html></body>"); content.add(topLabel, BorderLayout.NORTH); content.add(new ScrollingImagePanel(image, 400, 400)); JPanel commands = new JPanel(new FlowLayout(FlowLayout.CENTER)); JButton accept = new JButton("Accept as reference"); accept.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ReferenceImageDialog.this.accept = true; ReferenceImageDialog.this.setVisible(false); } }); JButton reject = new JButton("Reject output"); reject.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ReferenceImageDialog.this.accept = false; ReferenceImageDialog.this.setVisible(false); } }); commands.add(accept); commands.add(reject); content.add(commands, BorderLayout.SOUTH); pack(); } public static boolean show(RenderedImage ri) { ReferenceImageDialog dialog = new ReferenceImageDialog(ri); dialog.setModal(true); dialog.setVisible(true); return dialog.accept; } }