miércoles, 27 de mayo de 2009

panel




import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class DemoPanel extends JFrame {

Container contenedor;
private JPanel panelInicio;
private JPanel panelFin;
private JPanel PanelMedio;
private JPanel PanelMedio1;
private JButton [][] botones;
private JLabel[][] texto;
private JTextField [][] Texto;

public DemoPanel(){

super("Mi panel de Prueba");
botones = new JButton[3][3];
contenedor = getContentPane();
panelInicio = new JPanel(new GridLayout(3,3,10,10));


String [] nombres = {"Enero","Febrero","Marzo","Abril","mayo","junio","Julio","Agosto","Septiembre"};
/* botones[0][0]= new JButton("enero");
botones[0][1]= new JButton("Febrero");
botones[1][0]= new JButton("Marzo");
botones[1][1]= new JButton("Abril");
*/
int k=0;
for(int i=0; i<3; i++){
for(int j=0;j<3; j++){
botones[i][j] = new JButton(nombres[k]);
k += 1;
panelInicio.add(botones[i][j]);
}
}
contenedor.add(panelInicio,BorderLayout.NORTH);
setSize(425,150);
setVisible(true);

texto = new JLabel[5][5];
panelFin = new JPanel(new GridLayout(5,5,10,10));
for(int i=0; i<5; i++){
for(int j=0; j<5; j++){
texto[i][j]= new JLabel("texto "+i+" "+j);
panelFin.add(texto[i][j]);

}
}
contenedor.add(panelFin,BorderLayout.SOUTH);

Texto = new JTextField [4][3];
PanelMedio = new JPanel(new GridLayout(5,5,10,10));
for(int i=0; i<4; i++){
for(int j=0; j<3; j++){
Texto[i][j]= new JTextField("texto "+i+" "+j);
PanelMedio.add(Texto[i][j]);

}
}
contenedor.add(PanelMedio,BorderLayout.WEST);

Texto = new JTextField[2][4];
PanelMedio1 = new JPanel(new GridLayout(5,5,10,10));
for(int i=0; i<2; i++){
for(int j=0; j<4; j++){
Texto[i][j]= new JTextField("texto "+i+" "+j);
PanelMedio1.add(Texto[i][j]);

}
}
contenedor.add(PanelMedio1,BorderLayout.EAST);
}

public static void main(String args[]){
DemoPanel aplicacion = new DemoPanel();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

lunes, 25 de mayo de 2009

Funciones sen, cos, (ax+b)


package graficas;

import java.applet.Applet;
import java.awt.*;
public class Senoaxb extends Applet {
public void paint(Graphics g){
double m=1;
int a=1,b=1;
this.setSize(800, 450);
g.setColor(Color.DARK_GRAY);
g.drawString("Y = f(x)",100,80);
g.drawString("-Y = f(x)",100,420);
g.drawString("0",90,252);
g.drawString("X = Rad",620,250);
g.drawString("π/2",180,265);
g.drawString("π",290,245);
g.drawString("3π/2",360,245);
g.drawString("2π",450,245);
g.setColor(Color.BLACK);
g.drawLine(100, 100, 100, 400);
g.drawLine(100, 250, 600, 250);
g.drawLine(590, 120, 590, 50);
g.drawLine(700, 120, 700, 50);

g.drawLine(590, 120, 700, 120);
g.drawLine(590, 50, 700, 50);

g.setColor(Color.red);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(245 - 100*m*(Math.cos((a*i+b)*3.141516/180))),5,5);
}
g.drawString("y = cos (ax + b)", 600, 90);
g.setColor(Color.blue);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(245 - 100*m*(Math.sin((a*i+b)*3.141516/180))),5,5);
}
g.drawString("y = Sen (ax + b)", 600, 70);
g.setColor(Color.MAGENTA);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int)(m*(a*i+b)),5,5);
}
g.drawString("y = (ax + b)", 600, 110);
g.setColor(Color.BLUE);
//g.drawLine(100, 60, 200, 60);
for(int i=0; i<24; i++){
g.drawLine((i*15)+100, 145,(i*15)+110,145);
}
for(int i=0; i<24; i++){
g.drawLine((i*15)+100, 350,(i*15)+110,350);
}
for(int i=0; i<13; i++){
g.drawLine(370,(i*16)+145,370,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(195,(i*16)+145,195,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(283,(i*16)+145,283,(i*16)+155);
}
for(int i=0; i<13; i++){
g.drawLine(460,(i*16)+145,460,(i*16)+155);
}
g.setColor(Color.GRAY);
g.drawString("1", 90, 148);
g.drawString("-1", 85, 353);

}
}

domingo, 24 de mayo de 2009

funcion seno


package funcionseno;

import java.applet.Applet;
import java.awt.*;
public class FuncionSeno extends Applet {
public void paint(Graphics g){
this.setSize(800, 450);
g.setColor(Color.red);
g.drawString("y = Sen (x)", 400, 60);
g.drawString("Y = f(x)",100,80);
g.drawString("-Y = f(x)",100,420);
g.drawString("0",90,252);
g.drawString("X = Rad",620,250);
g.drawString("π/2",180,265);
g.drawString("π",290,245);
g.drawString("3π/2",360,265);
g.drawString("2π",450,245);
g.setColor(Color.BLACK);
g.drawLine(100, 100, 100, 400);
g.drawLine(100, 250, 600, 250);
g.setColor(Color.GREEN);
for(int i=0;i<360; i=i+2){
g.fillOval( 100 + i,(int) (245 - 100*(Math.sin(i*3.141516/180))),7,7);
}
g.setColor(Color.BLUE);
//g.drawLine(100, 60, 200, 60);
for(int i=0; i<7; i++){
g.drawLine((i*15)+100, 145,(i*15)+110,145);
}
for(int i=0; i<19; i++){
g.drawLine((i*15)+100, 350,(i*15)+110,350);
}
for(int i=0; i<7; i++){
g.drawLine(370,(i*15)+250,370,(i*15)+260);
}
for(int i=0; i<7; i++){
g.drawLine(195,(i*16)+145,195,(i*16)+155);
}
g.setColor(Color.GRAY);
g.drawString("1", 90, 148);
g.drawString("-1", 85, 353);

}
}

miércoles, 20 de mayo de 2009

cilco de vida de un applet

es un programa que contiene una serie de convenciones que permite navegar en un navegador compatible con java.
Lo primero que aparece son los mensajes "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es:


Se crea una instancia de la clase que controla al applet
El applet se inicializa a si mismo
Comienza la ejecución del applet
Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución.

Si se utiliza la opción del navegador de Reload, es decir, volver a cargar la página, el applet es descargado y vuelto a cargar. El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización.

Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador.

martes, 19 de mayo de 2009

Un applet


/*
* NewJApplet.java
*
* Created on 18 de mayo de 2009, 11:14
*/



/**
*
* @author program
*/
public class NewJApplet extends javax.swing.JApplet {

/** Initializes the applet NewJApplet */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}


private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO add your handling code here:

Matriz m = new Matriz(1,3);
double aux = Double.parseDouble(jTextField1.getText());
m.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField4.getText());
m.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField11.getText());
m.matriz[0][2]=aux;

double t = Double.parseDouble(jTextField9.getText());

Matriz o = new Matriz(1,3);
aux = Double.parseDouble(jTextField3.getText());
o.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField2.getText());
o.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField12.getText());
o.matriz[0][2]=aux;

jTextArea1.setText((o.suma(m.multiplicaEscalar(t))).imprimir());
}//GEN-LAST:event_jButton2ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
Matriz m = new Matriz(1,3);
double aux = Double.parseDouble(jTextField1.getText());
m.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField4.getText());
m.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField11.getText());
m.matriz[0][2]=aux;
jTextArea1.setText("Velocidad constante");
jTextArea1.setText(m.imprimir());
}//GEN-LAST:event_jButton1ActionPerformed

private void jTextField11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField11ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField11ActionPerformed

private void jTextField12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField12ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField12ActionPerformed

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
// TODO add your handling code here:

Matriz m = new Matriz(1,3);
double aux = Double.parseDouble(jTextField5.getText());
m.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField6.getText());
m.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField13.getText());
m.matriz[0][2]=aux;

double t = Double.parseDouble(jTextField10.getText());

Matriz o = new Matriz(1,3);
aux = Double.parseDouble(jTextField7.getText());
o.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField8.getText());
o.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField14.getText());
o.matriz[0][2]=aux;

Matriz a = new Matriz(1,3);
aux = Double.parseDouble(jTextField15.getText());
a.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField16.getText());
a.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField17.getText());
a.matriz[0][2]=aux;


jTextArea1.setText((o.suma(m.multiplicaEscalar(t)).suma(a.multiplicaEscalar(t*t*0.5))).imprimir());
}//GEN-LAST:event_jButton4ActionPerformed

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// TODO add your handling code here:

Matriz Vo = new Matriz(1,3);
double aux = Double.parseDouble(jTextField5.getText());
Vo.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField6.getText());
Vo.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField7.getText());
Vo.matriz[0][2]=aux;

double t = Double.parseDouble(jTextField10.getText());

Matriz a = new Matriz(1,3);
aux = Double.parseDouble(jTextField15.getText());
a.matriz[0][0]=aux;
aux= Double.parseDouble(jTextField16.getText());
a.matriz[0][1]=aux;
aux= Double.parseDouble(jTextField17.getText());
a.matriz[0][2]=aux;

jTextArea1.setText((Vo.suma(a.multiplicaEscalar(t))).imprimir());


}//GEN-LAST:event_jButton3ActionPerformed


// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField13;
private javax.swing.JTextField jTextField14;
private javax.swing.JTextField jTextField15;
private javax.swing.JTextField jTextField16;
private javax.swing.JTextField jTextField17;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
private javax.swing.JTextField jTextField7;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration//GEN-END:variables

}

martes, 12 de mayo de 2009

Consulta Swing y Awt

SWING

Además del paquete java.awt, Java pone a disposición del programador el paquete javax.swing para crear unas interfaces gráficas.
Está claro que hay muchas más clases de las de swing. Además hay muchas que tienen el mismo nombre de algunas clases de awt, excepto una J inicial, como, por ejemplo, JFrame, JDialog, etc. Estas clases funcionan igual que las de awt, pero contienen muchos métodos más útiles.
Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el modelo de eventos AWT, el cual rige cómo una componente reacciona a eventos tales como, eventos de teclado, mouse, etc... Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.
Presentamos algunas de estás cosas que están en swing más que en awt.
En swing están las Toolbar, es decir, unas pequeñas barras sobre las que hay unos botones. Se pueden mover dentro de las ventanas que las incluyen.
Los botones de swing, como casi todos los demás JComponent, pueden tener tanto una etiqueta como una imagen, imagen que puede cambiar según el estado del botón.
Además en swing se pueden utilizar los Tooltip, es decir, aquellas sugerenias que salen automáticamente en un componente cuando el ratón se detiene en él durante un rato.


AWT

El AWT (Abstract Windows Toolkit) es la parte de Java que se ocupa de construir interfaces gráficas de usuario. Aunque el AWT ha estado presente en Java desde la versión 1.0, la versión 1.1 representó un cambio notable, sobre todo en lo que respecta al modelo de eventos. La versión 1.2 ha incorporado un modelo distinto de componentes llamado Swing, que también está disponible en la versión 1.1 como package adicional.
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.
Estos artefactos de interacción se denominan widgets. En la ventana los artefactos se organizan en una jerarquía de componentes gráficas.
La estructura básica del AWT se basa en Componentes y Contenedores. Estos últimos contienen Componentes posicionados a su respecto y son Componentes a su vez, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes, corriendo por cuenta del programador (todavía no hay herramientas de composición visual) el encaje de todas las piezas, así como la seguridad de tratamiento de los eventos adecuados.