Java Standard Edition

Sobre el lenguaje Java y las clases que componen la API.

Bases de datos SQLite, como funcionan

Buenos días, tengo una base de datos de prueba hecha con SQLite y al ejecutar el programa hago lo siguiente:

Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;

String fileSeperator = System.getProperty("file.separator");
String pathDefault = System.getProperty("user.dir");
String pathToFile = (pathDefault + fileSeperator + "datos" + fileSeperator + "Prueba.db");

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:" + pathToFile);

conn = JavaConnect.ConnecrDb();
String sql = "select * from ddd';
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();

O sea me conecto a mi base de datos y ejecuto una consulta para que me devuelva unos datos.

Mi pregunta es, tengo que cerrar después la base de datos, conexión, etc... o la abro al inicio y la cierro al finalizar o salir de mi programa.

Como hago para que cuando un usuario esté en un registro se quede este bloqueado y otro usuario no pueda editarlo (como se controla eso).

Como me voy moviendo por los registros de las tablas (primero, anterior, siguiente, último).

No se me actualiza mi tabla con los nuevos datos

Buenos días, tengo el siguiente ejemplo cuando salgo de mi formulario:

private void formWindowClosing(java.awt.event.WindowEvent evt) {
int nXPanel = 0;
int nYPanel = 0;
int nYText = 0;
int nWText = 0;
int nHText = 0;
String cEtiqueta = "";
String cName = "";

try {
rs.first(); // Me voy al principio de la tabla

for (int nI=1; nI<=nVuelta; nI++) {
nXPanel = txt[nI].getXPanel();
nYPanel = txt[nI].getYPanel();
nYText = txt[nI].getYText();
nWText = txt[nI].getWText();
nHText = txt[nI].getHtext();
cEtiqueta = txt[nI].getEtiqueta();
cName = txt[nI].getName();

// Guardo la posición y tamaño del control 1
guardaControles_DDD("frmClientes", cName, nXPanel,
nYPanel, nYText, nWText, nHText, cEtiqueta);

pst.close();
rs.close();
conn.close();
}
} catch (SQLException ex) {

Ayuda a novato

Buenas.
Necesito hacer una aplicación de contactos que tenga un menú con añadir contacto,Buscar,Listar y salir.
Cada contacto tendrá un nombre y un teléfono, y deben almacenarse en un fichero de texto donde cada línea será un contacto, es decir, un nombre y un teléfono que separaremos por el símbolo @.Por ejemplo Antonio@666954471
El programa debe añadir un contacto en el fichero para la opción de menú 1. Mostrar el nombre y el teléfono (separadamente) buscado en el fichero de texto por un nombre que el usuario entrará por teclado para la opción 2. Mostrar el nombre y teléfono (separados) del fichero de texto para la opción 3.
Nota: en la opción 2, simplemente con mostrar el primer contacto que coincida ya es suficiente.
Soy muy novato y estoy más que perdido.Hasta ahora sólo llevo hecho el siguiente código del formulario:

public class Ventana extends javax.swing.JFrame {

    /**
     * Creates new form Ventana
     */

    //</editor-fold>
    public Ventana() {
        initComponents();
    }

 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          

Sugerencia de un problema.

Buenas Noches el motivo del presente para pedir un sugerencia de un problema donde pueda aplicar todo lo siguiente:

a. Usar al menos tres clases diferentes.
b. Toda la información referente a los objetos (instancias de esas clases) deberá contenerse en sus atributos.
c. Las clases podrán contener arreglos de clases como atributos.
d. Todo cálculo y estadística que se muestre, deberá ser calculada en el momento que se requiera.

He aquí un ejemplo: Cursos, Estudiantes y Profesores (tres clases), la clase Curso tiene un arreglo que puede contener objetos de clase Estudiante y otro atributo que representa al Profesor. Se puede pedir el promedio de calificaciones, el nombre del estudiante con la mayor calificación, el nombre del curso y el profesor donde está el estudiante con menor calificación, etc.

Deberán diseñar una parte del programa para que el usuario pueda rellenar las clases.

Deberán diseñar diez operaciones diferentes que puedan realizarse con los datos y atributos de las clases, parecidas a las que se mencionan en el ejemplo. Recuerden que los cálculos y resultados de estas operaciones deberán realizarse al momento en que se pidan.

Desplegar dialogo "Abrir", "Guardar" desde un JApplet

Estimados compañeros de foro.

Como comento en el titulo, mi problema es el siguiente:

La intencion es desplegar las cajas de dialogo estandar "Abrir" o "Guardar", ya lo intenté desde un JFrame y me funcionó sin problemas, sin embargo, hago lo mimso desde un JApplet y no lo consigo.

Para una descripcion mas precisa abajo dejo las lineas de codigo que estoy utilizando.

***************************************************
Desde un JFrame:

lo consigo invocando el metodo showOpenDialog() de la clase JFileChooser;

       
        b1 = new JButton("Presionar");
        b1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                        fc.showOpenDialog(null);
                }
        });

***********************************************
Desde un JApplet:

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

public class Img extends JApplet{
        private JButton b1;
        private JFileChooser fc;

    public Img() {
        b1 = new JButton("Presionar");
        b1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                        fc.showOpenDialog(null);
                }
        });
    }
   
    public void init(){

Hilos en Java, problemas con uso de Thread

Saludos compañeros:

Estoy tratando de implementar la carrera de la libre y el conejo usando hilos, pero cuando ejecuto el programa siempre da el mismo resultado y la liebre y el conejo se mueven al mismo tiempo. Según entendí al leer sobre el significado de los hilos esta ejecución debería ser siempre diferente dependiendo del tiempo que el asigne el sistema operativo a cada proceso en el hilo.Traté de usar el concepto de SwingWorker pero me dio lo mismo y no entiendo bien por qué,así que me quedé con esta versión del problema. Uso java 6, actualización 41 y construyo las ventanas con Netbeans.

Anexo el código de la Clase Liebre (porque el de la tortuga es idéntico, sólo cambio la imagen y se encuentra en una clase llamada Tortuga) y el código de la llamada de los hilos desde la ventana.

public class Liebre implements Runnable {

    private JLabel etiqueta;

     public Liebre(JLabel etiqueta){
        this.etiqueta = etiqueta;
      }
 
     public void run(){
        int cont=0;
        int y=etiqueta.getY();
        while(cont < 8)
            {
               try
                {  Thread.sleep(1500);

Ayuda al crear objetos

Buenas tardes, yo en un formulario introduzco 4 JTextField de la siguiente manera:

while (rs.next()) {
     nVuelta += 1;
                   
     nXPanel = result.getInt("xpanel");
     nYPanel = result.getInt("ypanel");
     nYText = result.getInt("ytext");
     nWText = result.getInt("wtext");
     nHText = result.getInt("htext");
     cEtiqueta = result.getString("etiqueta");

     String cName = String.format("txt%d", nVuelta);
                   
     txt = new LabelText(nXPanel, nYPanel, nYText, nWText, nHText, cEtiqueta, cName);
     add(txt);
}

Los datos los cojo de una tabla, y se me colocan todos bien en mi formulario. Mi pregunta es cuando pulse un botón de modificar, como hago para que todos esos controles se me activen, ya que si hago lo siguiente:

txt.setEnabled(true);

Solo se me activa el último que he introducido.

Gracias y un saludo.

Colocación de controles en un formulario automáticamente

Buenas tardes, estoy haciendo un pequeño ejemplo para que dentro de una tabla SQLite me guarde la posición de unos campos y cuando abra un formulario se me coloquen esos controles según la posición que le tenga indicado en la tabla.

Os dejo el link para la descarga y lo probeis, ya que no me funciona y veais donde estoy fallando.

https://dl.dropboxusercontent.com/u/54595752/Prueba.zip

1º Al entrar la contraseña y el usuario es "juan", sin las comillas
2º Teneis que ir a tablas/clientes
3º Vereis que salen unos JTextField colocados según le tengo indicado en una tabla
4º Si pulsais el botón de modificar y os posicionais en un JTextField y manteneis pulsada la tecla de mayuscula + las teclas del cursor, lo podeis mover por la pantalla y lo que quiero es que cuando me salga se quede guardada esa posición para que cuando vuelva a entrar me lo coloque donde lo deje yo antes.

No se si me explico, pero no me funciona, seguro que alguno me puede ayudar y decir que es lo que estoy haciendo mal y como solucionarlo.

Compartir funciones

Buenos días, tengo algunas funciones que compartir y que se puedan reutilizar en varios programas, como por ejemplo:

- CalcularIva()
- RevisarNumero()
- Etc....

Estas funciones o procedimientos como las pondría, sería correcto meterlas todas en un fichero y ponerlas como "static", para poder llamarlas y utilizarlas en los demás programas o cuando me hagan falta y no tener que estar creando nuevos objetos para poder utilizarlas?.

De esa forma crearé un fichero con todas las funciones que se puedan ir utilizando en mis distintos programas.

Espero sus respuestas.

Un saludo.

Setear valores extraidos de un arrayList en un array de String para llenar un combo

Hola gente.

Necesito ayuda en tratar de extraer los valores de un arrayList y setearlos en un array de String para luego asi rellenar un combo.
Espero me puedan ayudar.

Este es el codigo de mi clase, q consume un servicio web del cual extrae los valores (paises)...

 package com.efisat.ejercombopaises;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.preference.ListPreference;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.widget.Toast;
import com.efisat.ejercombopaises.Pais;

Distribuir contenido