SWINGSwing es una biblioteca gráfica para Java. Incluye widgets para interfaz gráfica de usuario tales como cajas de texto, botones, desplegables y tablas.
Ventajas
* El diseño en Java puro posee menos limitaciones de plataforma.
* El desarrollo de componentes Swing es más activo.
* Los componentes de Swing soportan más características.
Arquitectura
Es una plataforma independiente, Model-View-Controller Gui framework para Java. Sigue un simple modelo de programación por hilos, y posee las siguientes características principales:
* Independencia de plataforma.
* Extensibilidad: es una arquitectura altamente particionada: los usuarios pueden proveer sus propias implementaciones modificadas para sobrescribir las implementaciones por defecto. Se puede extender clases existentes proveyendo alternativas de implementación para elementos esenciales.
* Customizable: dado el modelo de representación programático del framework de swing, el control permite representar diferentes 'look and feel' (desde MacOS look and feel hasta Windows XP look and feel). Más allá, los usuarios pueden proveer su propia implementación look and feel, que permitirá cambios uniformes en el look and feel existente en las aplicaciones Swing sin efectuar ningún cambio al código de aplicación.
AWTAWT significa Abstract Window Toolkit. Permite hacer interfaces gráficas mediante artefactos de interacción con el usuario, como botones, menús, texto, botones para selección, barras de deslizamiento, ventanas de diálogo, selectores de archivos, etc. Y por supuesto despliegue gráfico general.
Caracteristicas
*Un widget es un elemento gráfico con el que el usuario puede interactuar.
*Ocupa una porción rectangular en una ventana.
*Existen diversos tipos: botones, áreas de texto, etiquetas, etc.
*El kit AWT implementa los widgets más usuales. Para usarlos es necesario importar las clases del paquete java.awt:
Construcción de una ventana de interacción
* Construcción del Frame:
Frame frame= new Frame("Titulo de la ventana");
* Construcción de widgets básicos de interacción:
Botón: Button boton= new Button("nombre del boton");
Etiqueta: Label etiq= new Label("nombre", Label.CENTER);
Area de texto: TextArea area= new TextArea(5, 20);
Campo de texto: TextField texto= new TextField(15);
Botón on/off: Checkbox check= new Checkbox("nombre");
OPERACIONESpackage aplicacion;
public class Mivisual extends javax.swing.JFrame {
String aux ="";
public Mivisual() {
initComponents();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt){
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += (v1.suma(v2)).imprimir();
jTextArea1.setText(aux);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += (v1.resta(v2)).imprimir();
jTextArea1.setText(aux);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
for(int i=0;i<1;i++){
for(int j=0;j<1;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
escalar1.matriz=result.matriz;
result.matriz[0][0]=0;
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v2.matriz[i][j]*v2.matriz[i][j]);
}
}
aux=(escalar1.suma(result)).imprimir();
jTextArea1.setText(aux);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1] = y1; v1.matriz[0][2] = z1;
v2.matriz[0][0] = x2; v2.matriz[0][1] = y2; v2.matriz[0][2] = z2;
aux += ((v1.multiplica(v2)).imprimir());
jTextArea1.setText(aux);
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
double x1= Double.parseDouble(jTextField1.getText());
double y1= Double.parseDouble(jTextField2.getText());
double z1= Double.parseDouble(jTextField3.getText());
double x2= Double.parseDouble(jTextField4.getText());
double y2= Double.parseDouble(jTextField5.getText());
double z2= Double.parseDouble(jTextField6.getText());
Matriz v1 = new Matriz(1,3);
Matriz v2 = new Matriz(1,3);
Matriz result=new Matriz(1,1);
Matriz escalar1=new Matriz(1,3);
Matriz escalar2=new Matriz(1,3);
v1.matriz[0][0] = x1; v1.matriz[0][1]= y1; v1.matriz[0][2]=z1;
v2.matriz[0][0] = x2; v2.matriz[0][1]= y2; v2.matriz[0][2]=z2;
aux += "Unitario del vector 1 es: \n";
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
escalar1.matriz[i][j]=(v1.matriz[i][j])/(result.matriz[0][0]);
}
}
aux+=(escalar1.imprimir()+"\n");
aux += "Unitario del vector 2 es: \n";
result.matriz[0][0]=0;
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
result.matriz[0][0]=result.matriz[0][0]+(v1.matriz[i][j]*v1.matriz[i][j]);
}
}
for(int i=0;i<1;i++){
for(int j=0;j<3;j++){
escalar2.matriz[i][j]=(v2.matriz[i][j])/(result.matriz[0][0]);
}
}
aux+=(escalar2.imprimir()+"\n");
aux+="El total de los unitarios es \n";
aux+=(escalar1.suma(escalar2)).imprimir()+"\n";
jTextArea1.setText(aux);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Mivisual().setVisible(true);
}
});
}