Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Urgente! ! Código fuente del editor de formas basado en Java

¡Urgente! ! Código fuente del editor de formas basado en Java

La tarea no se debe dar directamente, por eso algunos formatos son muy complicados y no quiero cambiarlos. El marco está escrito, además de la función de los triángulos, para su propia referencia (debe hacer algo usted mismo).

/*

* Paint.java

*

*Creado el 9 de mayo de 2008 a las 10:10 a. m.

*/

Importar Java .awt .gráficos

Importar Java .awt . /p>

Importar Java . ArrayList

Importar Javax . .swing.jpanel;

/**

*

* @author uestcfb

*/

La clase pública Paint extiende JFrame {

List<Shape>list = new ArrayList <Shape>();

Punto final privado;

clase PaintArea extiende JPanel {

Lista<Shape>List;

Área de pintura pública(List<Shape>List){

this.list = list

}

@override

Componente de pintura en blanco protegido (gráfico g) {

super componente de pintura (g);

Para (forma s: lista){

Pintar (g). );

}

}

}

tipo de forma privada forma seleccionada = tipo de forma valores()[0];

/**Crear un nuevo dibujo de formulario*/

Pintura pública(){

componentes init();

}

/**

* Llame a esto desde el método constructor para inicializar el formulario.

*Advertencia: No modifique este código. El contenido de este método siempre es

* regenerado por el editor de formularios.

*/

@SuppressWarnings("unchecked")

//<Estado predeterminado del pliegue del editor = "collapsed" desc = "Generar código" & gt

Private void initComponents() {

jcombobox 1 = nuevo javax . jcombobox(tipo de forma . valores());

jPanel1 = nueva pintura área (lista);

jle bel 1 = nuevo javax .jlabel();

jlabel 1 = nuevo javax . > p>

setDefaultCloseOperation(javax . swing . constantes de ventana . exit _ ON _ CLOSE);

jcombobox 1 .

acción de anulación pública realizada(Java . awt . evento . acción evento evt){

jcombobox 1 acción realizada(evt);

}

} ) ;

jpanel 1 . set border(javax . swing . border factory . createetchedborder());

jpanel 1 . addmouse listener(new Java . awt . event . mouse adaptor( ) {

ratón vacío público presionado (Java . awt . evento . evento del mouse evt){

jpanel 1 mouse presionado (evt);

}

mouse public void liberado(Java . awt . event . mouse event evt){

jpanel 1 mouse liberado(evt);

}

});

jpanel 1. addmousemotionlistener(new Java . awt . event . mousemotionadapter(){

ratón vacío público arrastrado (Java . awt . event . mouse event evt){

jpanel 1 mousedraged(evt);

}

});

diseño de grupo javax swing . javax . swing . diseño de grupo (

jpanel 1);

diseño de conjunto jpanel 1 (diseño de jpanel 1);

diseño de jpanel 1 (. diseño jpanel 1. createparallelgroup(

javax . s

ala . alineación del grupo . addGap(0, 445,

Short.MAX_VALUE));

diseño de jpanel 1 . setverticalgroup(diseño de jpanel 1 . createparallelgroup(

javax . swing . group diseño . alineación . addGap(0, 388,

Short. MAX_VALUE));

jle bel 1 . /p>

jle bel 1 . settooltiptext(getWarningString());

jLabel1.setText("Seleccionar forma");

diseño de grupo javax. javax . swing .diseño de grupo(

getContentPane());

getContentPane()

Diseño

.setHorizontalGroup(diseño<. /p>

.createParallelGroup(

javax . swing . diseño de grupo . alineación . líder)

.Agregar grupo(

Diseño

. createSequenceGap()

. addContainerGap()

. createParallelGroup(

javax. swing. diseño de grupo. alineación. principal)

.Agregar grupo(

Diseño

.Crear grupo de secuencia()

.Agregar componente(

jPanel1,

javax.swing.grouplayout.default_SIZE,

javax.swing.grouplayout.default_SIZE,

short.max)

.addContainerGap())

. AddGroup(

javax . swing . diseño de grupo . alineación . trailing,

Diseño

. Crear SequenceGroup()

. Agregar componente (

jlebel1,

javax.swing.grouplayout.preferred_SIZE,

134,

javax.swing. diseño de grupo. preferido _ TAMAÑO)

Agregar espacios (

142,

142,

142)))

. AddGap(

Diseño

. Crear SequenceGroup()

. addGap(98, 98, 98)

.

Agregue componente (

jLabel1,

javax.swing.grouplayout.preferred_SIZE,

103,

javax.swing. diseño de grupo. preferido _ TAMAÑO)

. addPreferredGap(

javax . swing . estilo de diseño . ubicación de componentes . relacionado)

. Agregue componente (

jComboBox1,

javax.swing.grouplayout.preferred_SIZE,

159,

javax.swing. diseño de grupo. preferido _ TAMAÑO)

. addContainerGap(105, short. MAX_VALUE)));

Diseño

. setVerticalGroup(diseño

. createParallelGroup(

javax . swing . diseño de grupo . alineación . líder)

. add group(

javax . swing .diseño de grupo .alineación final,

Diseño

. Crear grupo de secuencia()

. agregar grupo(

diseño

. createParallelGroup(

javax . swing . diseño de grupo . alineación . línea base)

. agregar componente(

jComboBox1,

javax.swing.grouplayout.preferred_SIZE,

21,

javax.swing.grouplayout preferente_SIZE)

p>

. Agregar componente(

jLabel1,

javax.swing.grouplayout.preferred_SIZE,

18,

javax . swing . diseño de grupo . preferido _ TAMAÑO))

addPreferredGap(

javax . swing . estilo de diseño . ubicación de componentes . relacionado)

. (

jPanel1,

javax.swing.grouplayout.default_SIZE,

javax.swing.grouplayout .default_SIZE,

short.maximum )

. addPreferredGap(

javax . swing . estilo de diseño . ubicación de componentes . relacionado)

.

Agregue componente (

jlebel1,

javax.swing.grouplayout.preferred_SIZE,

35,

javax.swing. diseño de grupo. preferido _ TAMAÑO)

. addContainerGap()));

pack();

}//& lt;/editor-fold & gt;

acción privada de jcombobox void realizada 1 (Java . awt . evento . evento de acción evt){

forma seleccionada =(tipo de forma)jcombobox 1 . getselecteditem();

jle bel 1 . ());

}

Forma actual = null

private void jpanel 1 mouse liberado(Java . awt . event . mouse event evt){

// TODO agrega código de procesamiento aquí:

start = null

end = null

}

private void jpanel 1 mousedraged(Java . awt . event . mouse event evt){

// TODO agrega código de procesamiento aquí:

if (start! = null) {

end = evt . get point();

list.remove(current);

if (selectedShape == ShapeType. Rectángulo) {

actual = nuevo rectángulo (inicio, fin);

} else if (forma seleccionada == tipo de forma. círculo) {

actual = nuevo círculo (inicio, fin

}

if (actual!= nulo) {

list.add(actual);

}

Sistema .out.println(inicio +","+fin);

sistema fuera . println("-");

repintar(); }

}

privado void jpanel 1 mouse presionado(Java . awt . event . mouse event evt){

start = evt .

end = evt . get point();

if (forma seleccionada == Tipo de forma. Rectángulo){

actual = nuevo rectángulo(inicio, fin);

} else if(forma seleccionada == tipo de forma.

círculo) {

actual = nuevo círculo (inicio, fin);

}

if (actual! = nulo) {

list.add(actual);

}

}

/**

* @param args

*Parámetros de línea de comando

*/

Public static void main(String args[]) {

Cola de eventos Java awt . Runnable(){

Public void Runnable(){

Nueva pintura();

}

});

}

Tipos de formas de enumeración {

Rectángulo, círculo;

}

forma de clase abstracta {

Pintura en blanco protegida abstracta (gráfico g);

}

clase rectángulo forma extendida {

Punto p 1;

Punto p2;

Rectángulo (punto p1, punto p2) {

este p 1 = p 1;

este.p2 = p2

.

}

@overlay

Pintura en blanco protegida (gráfico g) {

g. drawRect((int) p1.getX(), (int ) p1.getY(), (int) (p2.getX() - p1

.getX()), (int)(p2 . gety()-p 1. gety());

}

}

Forma extendida en forma de círculo {

Punto p 1 ;

Punto p2;

Círculo (punto p1, punto p2) {

este p 1 = p 1;

este .p2 = p2

}

@overlay

Pintura en blanco protegida (gráficos g) {

gráficos 2d G2 =( gráficos 2d)g;

doble x 1 = p 1 . getx();

doble y 1 = p 1

doble x2 = p2 . doble y2 = p2 . gety();

g2.drawOval((int) x1, (int) y1, (int) x2, (int)y2);

}<. /p>

}

//Declaración de variable: no modificar

private javax . jlabel jle bel 1;

private javax . . jcombobox jcombobox 1;

javax privado .jlabel jlabel 1;

javax privado .jpanel jpanel 1;

Punto privado inicio=null

}