Programación usando aplicaciones java
importar java.awt.*;
importar java.awt.event.*;
importar java.awt.geom.* ;
importar java.io.*;
importar java.util.*;
importar javax.swing.*;
}
}
clase DrawingBoard extiende Frame implementa MouseListener,ItemListener,ActionListener,MouseMotionListener{
Lápiz de botón;
Línea de botón;
Elipse del botón;
Botón recto;
Botón claro;
Tablero de colores del botón;
Botón de almacenamiento <; /p>
Botón botón de tienda ;
Botón botón de apertura ;
Elección de tamaño ;
Elección de color ;
Etiqueta tamaño de pluma ;
Color de la pluma de etiqueta;
Panel de panel;
Archivo de almacenamiento FileDialog
Archivo abierto FileDialog
Archivo FileInputStream; /p>
FileOutputStream fileout;
ObjectInputStream objectin;
ObjectOutputStream objectout
int flagtool=0;
Color flagcolor; ;
int border;
Tamaño de trazo básico;
OnePoint p1,p2;
Vector
public DrawingBoard() {
pluma=nuevo Botón("Pincel");
línea=nuevo Botón("Línea");
ellipse=nuevo Botón("Círculo");
rect=nuevo Botón("Rectángulo");
borrar=nuevo Botón("borrar")
colorboard=new Button("paleta de colores");
storebutton=new Button("almacenar archivo"); abrir archivo");
pensize=new Label("Tamaño del pincel");
pencolor=new Label("Color del pincel");
storefil
e=new FileDialog(this, "Almacenar archivo",FileDialog.SAVE);
storefile.setVisible(false);
storefile.addWindowListener(new WindowAdapter(){
ventana vacía públicaClosing(WindowEvent e){
storefile.setVisible(false);
}
}
openfile =new FileDialog(this, "Abrir archivo",FileDialog.setVisible(false);
openfile.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
openfile.setVisible(false);
}
});
sizechoice=new Choice();
sizechoice.add("1");
sizechoice.add("2");
sizechoice.add("4");
sizechoice.add("6");
sizechoice.add("8");
sizechoice.addItemListener(this);
colorchoice=nueva elección();
colorchoice.add("negro");
colorchoice.add("rojo");
colorchoice.add( "azul");
colorchoice.add("verde");
colorchoice.addItemListener(this);
pen.addActionListener(this);
line.addActionListener (esto);
ellipse.addActionListener(este);
rect.addActionListener(este); addActionListener(this);
colorboard.addActionListener(this);
storebutton.addActionListener(this);
openbutton.addActionListener(this); >
panel=nuevo Panel();
panel.add(storebutton);
panel.add(openbutton);
panel.add( pluma);
panel.add(line);
panel.add(ellipse);
panel.add(rect);
panel.add(clear);
panel.add(sizechoice); for(int i=0;i ize()-1;i++){ p1=(OnePoint)points.elementAt(i); p2=(OnePoint)points.elementAt(i+1); g2d.setColor(p1.Double ellipse=new Ellipse2D.Double(p1.x,p1.y,Math.abs(p2.x-p1.x),Math.abs(p2.y-p1 .y)); g2d.Draw(ellipse); break } else if(e.getSource()==colorboard){ /* * Utilice el método estático showDialog(Componente componente. Título de cadena, Color color), * Los parámetros de este método, el componente es el actual cuadro de diálogo mostrado El marco principal del cuadro, el color es el color seleccionado inicial de la paleta establecida * * Este método devuelve el color seleccionado, el tipo es Color * */p> Color color=JColorChooser.showDialog(this, "Palette",flagcolor); flagcolor=color; }< / p> else if(e.getSource()==openbutton) { openfile.setVisible(true); if(openfile.getFile()!getFile( ) ); filein=new FileInputStream(archivo); objectin=nuevo ObjectInputStream( filein); puntos=(Vector)objectin.readObject() objectin.close(); filein.close(); flagtool=temp; repintar(); p> } catch(Exception ee){ System.out.println(ee.toString()); } } } else if(e. getSource()==storebutton){ storefile.setVisible( verdadero); if(storefile.getFile()! =null){ intente { Archivo archivo=new Archivo(storefile.getDirectory(), storefile.getFile()) ; fileout=new FileOutputStream(archivo); objectout=new ObjectOutputStream(fileout); objectout. writeObject(puntos); objectout.close(); fileout.close( ); repintar(); } captura (FileNotFoundExcepti en e1) { System.out.println(e1.toString()); e1.printStackTrace(); } captura (IOException ee) { System.out.println(ee.toString()); ee.printStackTrace(); } } } } } public void mouseDragged(MouseEvent e) { // Cuando se arrastra el mouse, // solo si cuando flagtool == 0, o cuando la indicación es goma // se registrarán todos los puntos involucrados en el proceso de arrastre y se llamará al método repain() para volver a dibujar el actual // TODO genera automáticamente un código auxiliar de método if(flagtool==0){ OnePoint pp3=new OnePoint(e. getX(,e.getX()))getX (), e.getY(),flagtool,flagcolor,border); puntos.addElement(pp3); reaint(); } } public void mouseMoved(MouseEvent e) { // TODO genera automáticamente códigos auxiliares de métodos } } clase pública PaintBoard{ public static void main(String[] args){ DrawingBoard oneBorder=new DrawingBoard(); } } }