import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
/*
* MyPaint.java
*
* Created on 17. März 2004, 10:10
*/
/**
*
* @author Darimont
*/
public class MyPaint extends javax.swing.JFrame {
private Image img;
private JFileChooser chooser;
/** Creates new form MyPaint */
public MyPaint() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
paintPanel = new PaintPanel();
btnPanel = new javax.swing.JPanel();
btnSave = new javax.swing.JButton();
getContentPane().setLayout(new java.awt.GridBagLayout());
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
paintPanel.setBackground(new java.awt.Color(0, 153, 255));
paintPanel.setMinimumSize(new java.awt.Dimension(320, 240));
paintPanel.setPreferredSize(new java.awt.Dimension(320, 240));
paintPanel
.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
jPanel1MouseMoved(evt);
}
});
getContentPane().add(paintPanel, new java.awt.GridBagConstraints());
btnPanel.setBackground(new java.awt.Color(255, 153, 51));
btnPanel.setMinimumSize(new java.awt.Dimension(320, 100));
btnPanel.setPreferredSize(new java.awt.Dimension(320, 100));
btnSave.setText("save");
btnSave.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
jButton1MousePressed(evt);
}
});
btnPanel.add(btnSave);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
getContentPane().add(btnPanel, gridBagConstraints);
pack();
setVisible(true);
img = createImage(320, 240);
paintPanel.setImg(img);
chooser = new JFileChooser();
}
private void jPanel1MouseMoved(java.awt.event.MouseEvent evt) {
// Add your handling code here:
int x = evt.getX();
int y = evt.getY();
if (img != null) {
img.getGraphics().drawLine(x, y, x, y);
paintPanel.repaint();
}
}
private void jButton1MousePressed(java.awt.event.MouseEvent evt) {
// Add your handling code here:
chooser.showDialog(this, "Ok");
File file = chooser.getSelectedFile();
try {
ImageIO.write((RenderedImage) img, "jpeg", file);
System.out.println(file.toURL());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new MyPaint();
}
// Variables declaration - do not modify
private javax.swing.JButton btnSave;
private PaintPanel paintPanel;
private javax.swing.JPanel btnPanel;
// End of variables declaration
class PaintPanel extends JPanel {
private Image img;
public PaintPanel() {
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (img != null)
g.drawImage(img, 0, 0, this);
}
/**
* @return
*/
public Image getImg() {
return img;
}
/**
* @param image
*/
public void setImg(Image image) {
img = image;
}
}
}