Foros del Web » Programación para mayores de 30 ;) » Java »

DUDA con el CÓDIGO

Estas en el tema de DUDA con el CÓDIGO en el foro de Java en Foros del Web. A ver.... el caso esq kiero (primero de todo que compile) poder usar un frame MyFrameI en el APPLET... no se porque no me funciona ...
  #1 (permalink)  
Antiguo 22/05/2004, 15:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 5
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación DUDA con el CÓDIGO

A ver.... el caso esq kiero (primero de todo que compile) poder usar un frame MyFrameI en el APPLET... no se porque no me funciona ya que si que he usado en otras ocasiones un frame en un applet.... me da 1 ERROR

espero que me ayuden ya que es muy importante....

un saludo


y gracias por antemano...





import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.URL;
import java.sql.*;
import java.lang.String;


public class CliApplet extends Applet
implements ActionListener {
Frame window;

public void init() {
Button b1 = new Button("Consultar, Insertar, Modificar");
Button b2 = new Button("Cerrar");

b1.addActionListener(this);
b2.addActionListener(this);

add(b1);
add(b2);

window = new MyFrameI("mi frame"); //el error esta aki !!!!
window.setSize(400,270);
window.setVisible(false);
window.setResizable(false);
window.addWindowListener( new conclusion() );
window.move(388,292);

}

public void actionPerformed(ActionEvent e) {
String label = e.getActionCommand();
if (label.equals("Consultar, Insertar, Modificar")) {
if (!window.isShowing())
window.setVisible(true);
}
else {
if (window.isShowing())
window.setVisible(false);
}
}
}

class MyFrameI extends Frame
implements MouseListener {

Button botConexion = new Button( " Conexión a la Base de Datos " );
Button botConsulta = new Button( " Ejecutar Consulta " );

TextField txfConsulta = new TextField( 40 );
TextArea txaSalida = new TextArea( 10,75 );

TextField txfUrl = new TextField("jdbc:odbc:tienda",40);

String strUrl = "";

Connection con;


public MyFrameI() {

txfConsulta.setEditable( true );

txfUrl.setEditable( false );
txaSalida.setEditable( false );

GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints gbCon = new GridBagConstraints();

setLayout( gridbag );


setFont( new Font( "Helvetica",Font.PLAIN,12 ) );
setBackground( Color.green );

gbCon.anchor = GridBagConstraints.CENTER;
gbCon.fill = GridBagConstraints.NONE;
gbCon.gridwidth = GridBagConstraints.REMAINDER;

add( new Label( "URL de la Base de Datos" ) );
gridbag.setConstraints( txfUrl,gbCon );
add( txfUrl );

gridbag.setConstraints( botConexion,gbCon );
add( botConexion );

botConexion.addMouseListener( this );

add( new Label( "Consulta SQL" ) );
gridbag.setConstraints( txfConsulta,gbCon );
add( txfConsulta );
gridbag.setConstraints( botConsulta,gbCon );
add( botConsulta );
botConsulta.addMouseListener( this );

Label labResultado = new Label( "Resultado" );
labResultado.setFont( new Font( "Helvetica",Font.PLAIN,16 ) );
labResultado.setForeground( Color.black );
gridbag.setConstraints( labResultado,gbCon );

add( labResultado );

gridbag.setConstraints( txaSalida,gbCon );
txaSalida.setForeground( Color.black );
txaSalida.setBackground( Color.white );
add( txaSalida );
}


public void mouseClicked( MouseEvent evt ) {
if( evt.getComponent() == botConsulta ) {
System.out.println( txfConsulta.getText() );
txaSalida.setText( Select( txfConsulta.getText() ) );
}

if( evt.getComponent() == botConexion ) {

strUrl = txfUrl.getText();

try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
con = DriverManager.getConnection( strUrl);
botConexion.setLabel( "Reconexión a la Base de Datos" );
txaSalida.setText( "Conexion establecida con:\n\n"+strUrl );
} catch( Exception e ) {
// Se presenta la información correspondiente al error, tanto
// en la consola como en la zona de salida de la ventana
e.printStackTrace();
txaSalida.setText( e.getMessage() );
}
}
}


// Se implementan vacíos el resto de los métodos del interfaz de
// eventos del ratón, MouseListener. Si se quiere evitar, también es
// posible utilizar MouseAdapter, que tiene implementados, pero sin
// acciones asignadas, todos estos métodos
public void mouseEntered( MouseEvent evt ) {}
public void mouseExited( MouseEvent evt ) {}
public void mousePressed( MouseEvent evt ) {}
public void mouseReleased( MouseEvent evt ) {}


// Este es el método que realiza la consulta
public String Select( String consulta ) {
String resultado="";
int cols;
int pos;

// Hay varios métos que se van a emplear y que lanzan excepciones
// en caso de que haya algún problema con la consulta, o si se
// rompe la conexión, etc
try {
// En primer lugar, se instancia la clase Statement, que es
// necesaria para ejecutar la consulta. La clase Connection
// devuelve un objeto Statement que se enlaza a la conexión
// abierta para pasar de nuevo el objeto Statement. Así es
// como la instancia "sentencia" se enlaza a la conexión actual
// con la base de datos
Statement sentencia = con.createStatement();

// El objeto resultSet también es enlazado con la conexión a la
// base de datos a través de la clase Statement, que contiene el
// método executeQuery, que devuelve un objeto ResultSet.
ResultSet rs = sentencia.executeQuery( consulta );

// Ahora se utiliza el método getMetaData en el resultado para
// devolver un objeto MetaData, que contiene el método getColumnCount
// usado para determinar cuántas columnas de datos están presentes
// en el resultado.
cols = ( rs.getMetaData() ).getColumnCount();

// Aquí se utiliza el método next de la instancia "rs" de
// ResultSet para recorrer todas las filas, una a una. Hay formas
// más optimizadas de hacer esto, utilizando la característica
// inputStream del driver JDBC
while( rs.next() ) {
// Se recorre ahora cada una de las columnas de la fila, es
// decir, cada celda, una a una
for( pos=1; pos <= cols; pos++ ) {
// Este es el método general para obetener un resultado. el
// método getString intentará moldear el resultado a un String.
// En este caso solamente se recoge el resultado y se le añade
// un espacio y todo se añade a la variable "resultado"
resultado += rs.getString( pos )+" ";
}

// Para cada fila que se revise, se le añade un retorno de
// carro, para que la siguiente fila empiece en otra línea
resultado += "\n";
}

// Se cierra la "sentencia". En realidad se cierran todos los
// canales abiertos para la consulta pero la conexión con la
// base de datos permanece
sentencia.close();
} catch( Exception e ) {
e.printStackTrace();
resultado = e.getMessage();
}

// Antes de salir, se devuelve el resultado obtenido
return( resultado );
}


public void main( String args[] ) {
MyFrameI ventana = new MyFrameI();

// Se recoge el evento de cierre de la ventana
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent evt ) {
System.exit( 0 );
}
} );

ventana.setSize( 300,300 );
ventana.setTitle( "Tutorial de Java, JDBC" );
ventana.pack();
ventana.setVisible( true );
ventana.setResizable(false);
}
}

class conclusion extends WindowAdapter
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.