elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9
1  Comunicaciones / Redes / bloqueo de acceso a la red por sistema operativo en: 15 Septiembre 2014, 21:15
que tal. en mi trabajo hay una red que todos los dispositivos se pueden conectar menos los que tienen como sistema operativo android.

ya cambie la mac de el dispositivo con una aplicacion que simula otra mac. pero sigue sin conectarse.

tambien cambie el nombre lan del dispositivo pero tampoco.

mis preguntas son.
saben como funciona este filtro?
Es posible bloquear la conexion dependiendo del sistema operativo?
que se puede hacer para burlar este tipo de filtro?

saludos
2  Programación / Programación General / Modelo vista controlador en android en: 8 Septiembre 2014, 05:33
Que tal. bueno quiero aclarar unas dudas con el tema de modelo vista controlador.


Veamos el siguiente caso:

Hay que desarrollar una aplicacion en android en equipo y para eso pienso desarrollarla con MVC.

entonces suponiendo que la pantalla principal de la aplicacion se tiene que ver algo asi:




Entonces yo diria que habria que hacer 3 clases para el scroll horizontal y otras 3 para el scroll vertical ya que se desarrollaran por distintos desarrolladores. y despues  se agregaran a la pantalla principal.

Entonces digamos que las calses para el scroll hrizontal serian la siguienetes:


ScrollHorizontalController, ScrollHorizontalModel y ScrollHorizontalView


La clase ScrollHorizontalController recibira una instancia de la clase ScrollHorizontalModel  y otra de la clase ScrollHorizontalView para comunicarlas entre si como por ejemplo recibir los datos del modelo y mostrarlos en la vista.

La clase ScrollHorizontalModel contrendra la logica para consumir el web service y obtener los datos que necesita el scroll horizontal

La clase ScrollHorizontalView: Esta clase no se si deba existir o no. es donde tengo mis dudas de como crearla ya que para android creo que las view son en xml.

La clase ScrollHorizontalController se instanciara  y sera mandada llamar desde una clase Main que es ahi donde se instanciaran tambien la clase ScrollHorizontalModel y ScrollHorizontalView


algo asi:

Código:

public class main extend Activity{

    
    onCreate(Bundle savedInstanceState){

          ScrollHorizontalModel  shm = new ScrollHorizontalModel();
          ScrollHorizontalView shv = new ScrollHorizontalView ();
          //iniciar el controlador del scroll horizontal
          new ScrollHorizontalController(shm, shv).iniciar;  
        
         //agregar la vista del scroll horizontal a la pantalla principal
         addView(shv); //no se como hacer esto
        
    }

}



Entonces la duda es con las vistas, no se como crear una vista osea un nuevo xml en el directorio res/layout que no sea un activiy si no una view o algo asi de tipo scroll horizontal para este caso aparte del activity_main.xml que es de mi ventana principal para despues agregarlo a mi ventana principal (activity_main.xml) valga la redundancia XD.

3  Programación / Java / como comprobar la conexion de un socket dentro de un hilo en: 11 Noviembre 2012, 03:10
que tal me gustaria saber como comprobar la conexion de un socket cada determinado tiempo para mostrarle al usuario cuando es que esta conectado o no.


saludos
4  Programación / PHP / wamp server donde configurar conexion con mysql en: 3 Noviembre 2012, 19:24
que tal me pasa algo raro con wamp server y tambien con appserver. resulta que quiero conectar un sistema local corriendo en wamp o appserver en php pero que este se conecte a una base de datos externa que esta alojada en hostgator. he logrado conectarme a esta base de datos con java, con el administrador de mysql local y todo bien, pero desde php no lo e logrado entonces tengo el siguente codigo para hacer pruebas:

Código:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conexionopticas = "servidor hostgator";
$database_conexionopticas = "my base de datos"; //online
$username_conexionopticas = "mi usuario";   //online
$password_conexionopticas = "mi pass";   //online*/


/*$hostname_conexionopticas = "localhost";
$database_conexionopticas = "opticas";// offline
$username_conexionopticas = "root";//off line
$password_conexionopticas = "noe87";//offline*/

$conexionopticas = @mysql_connect($hostname_conexionopticas, $username_conexionopticas, $password_conexionopticas);// or trigger_error(mysql_error(),E_USER_ERROR);


/*if ($conexionopticas) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}*/

if (!mysql_select_db("opticas")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}

$sql = "select * from ventas;";

$result = mysql_query($sql);

if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}


while ($row = mysql_fetch_assoc($result)) {
    echo $row["int_id_venta"];
echo $row["date_fecha"];
}

mysql_free_result($result);


resulta que aunque yo le diga:

Código:
$hostname_conexionopticas = "servidor hostgator";
$database_conexionopticas = "my base de datos"; //online
$username_conexionopticas = "mi usuario";   //online
$password_conexionopticas = "mi pass";   //online


que son los datos del servidor externo donde esta mi base de datos como que no hace caso  porque la conexion la hace rirectamente a mi mysql que tengo instalado local inculuso si ni siquiera pongo los datos de conexion.


osea si le quito todo esto
Código:

$hostname_conexionopticas = "servidor hostgator";
$database_conexionopticas = "my base de datos"; //online
$username_conexionopticas = "mi usuario";   //online
$password_conexionopticas = "mi pass";   //online*/


/*$hostname_conexionopticas = "localhost";
$database_conexionopticas = "opticas";// offline
$username_conexionopticas = "root";//off line
$password_conexionopticas = "noe87";//offline*/

aun asi se sigue conectando a la base de datos local



pienso que la configuracion debe estar en algo del wamp pero lo raro es que intale appserver y tambien hace lo mismo y no recuerdo haber configurado algo para que se conecte a mi base de datos local nomas que phpmyadmin
5  Programación / Java / ventanas de aviso en java en: 14 Octubre 2012, 04:09
que tal, mi cuestion es la siguiente.

tengo un sistema el cual tiene un hilo para hacer algunos procesos el caso es que por ejemplo mi sistema se conecta a una base de datos que esta en otra pc, lo que quiero hacer es que cuando esa otra pc osea el servidor este apagada me aparezca una ventanita asi como un jdialog diciendome

error al conectarse al servidor verifique que el servideor este encendido, conectando...

y mientras esa ventanita esta ahi que un hilo este verificando la conexion y encuanto haya conexion esta ventanita se cierre.


mi problema viene cuando hay que cerrar el jdialog, como puedo cerrarlo desde el codigo?, ya intente con la clase robot que permite hacer eventos desde codigo como similar pulsar la tecla escape, esto funciona pero por ejemplo si dejo el sistema ahi conectandose con el hilo y me pongo hacer otras cosas y al momento de que se conecta no estoy en el sistema y se pulsa la tecla escape para cerrar segun esto el jdialog pues no porque el escape se pulsaria en lo que yo estuviera haciendo no en mi sistema.


la otra opcinon que se me ocurre es hacer mi propia ventanita de alerta que yo la pueda manejar como se me antoje jeje.


saludos...
6  Programación / PHP / como acceder a una base de datos online en: 13 Octubre 2012, 23:29
que tal, es posible acceder por ejemplo asi:

tengo wampserver instalado en mi maquina y puedo acceder a la base de datos mysql que tengo en la misma pc, tambien tengo un contrato de hosting con hostgator que me ofrece bases de datos.


entonces lo que quiero es hacer algo asi:

yo tengo un sistema en php hospedado en hostagator pero queiro que por si alguna razon no llegara a tener internet pudiera usar el sistema en offline y que cuando vuelva a tener internet simplemente me conecte a la base de datos online y pase todo lo que esta pendiente en la base de datos offline a la online.
7  Programación / Java / como es mejor programar respecto a bases de datos y java? en: 24 Septiembre 2012, 05:17
que tal tengo una duda aber si me explico.



yo siempre cuando manejo bases de datos programo de esta manera:

tengo una classe para mi conexion a mysql:

no tienen que revisar todo el codigo, solo lo pongo para que se den una idea.

Código:
import java.sql.*;

public class ConexionMySql {

      private Connection conn;
      private ResultSet rs;
      private Statement instruc;

      private static String ip = "localhost";
      private static String db_name = "bases_de_datos_y_java_estructura";
      private static String user = "root";
      private static String passwd = "noe87";



    public ConexionMySql()
    {

                  try{

           Class.forName("org.gjt.mm.mysql.Driver");

           conn = DriverManager.getConnection("jdbc:mysql://"+ip+":3306/"+db_name, user, passwd);

           System.out.println("Driver org.gjt.mm.mysql.Driver in use");
           System.out.println("");

           instruc=(Statement) conn.createStatement();
           }

           catch(Exception e)
           {
                 System.out.println("Error en o al cargar ");
                 System.out.println(e.getMessage());
                 System.exit(0);
           }


    }
//realizar cambios por nimf
public void ejemplo(/*colocar parametros*/)
     {
        try{
            instruc.execute("colocar intsruccion");
        }catch(SQLException ex){
            System.out.println(ex);
        }
     }
//fin realizar cambios por nimf
    public ResultSet exec( String StrSql ) throws SQLException
     {
        rs = (ResultSet) instruc.executeQuery(StrSql);
       return rs;
     }
    public ResultSet execConsola( String StrSql )
    {
       try{
           System.out.println("--------------------------------------------");
           System.out.print("( " + StrSql + " )");
           System.out.print(" Only First and Last Rows ");
           System.out.println("  ");

           rs = (ResultSet) instruc.executeQuery(StrSql);

           ResultSetMetaData rsMetaData = rs.getMetaData();
           int numberOfColumns = rsMetaData.getColumnCount();


            System.out.println("--------------------------------------------");

            for (int i = 1; i < numberOfColumns + 1; i++)
            {
              String columnName = rsMetaData.getColumnName(i);
              System.out.print("- " + columnName + " ");
            }

            System.out.print("-");
            System.out.println("");
            System.out.println("--------------------------------------------");




            while(rs.next())
                  {
                        for (int i = 1; i < numberOfColumns + 1; i++)
                        {
                        String columnName = rsMetaData.getColumnName(i);
                        System.out.print( rs.getString(columnName) + " ");
                        }

                   rs.last();
                   System.out.println("");

                        for (int i = 1; i < numberOfColumns + 1; i++)
                        {
                        String columnName = rsMetaData.getColumnName(i);
                        System.out.print( rs.getString(columnName) + " ");
                        }
                  }

            System.out.println("");
            System.out.println("--------------------------------------------");

          }
       catch(Exception e)
         {
           System.out.println("Error en la base de datos");
           System.out.println(e.getMessage());
         }

       return rs;
      }



}


y hago mi jframe y coloco una tabla ahi y la empiezo a llenar de esta manera (ver metodoo llenarTabla):

Código:

import classes.ConexionMySql;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Noe
 */
public class Formulario2 extends javax.swing.JFrame {

    /** Creates new form Formulario2 */
    ResultSet rs;
    public Formulario2() {
        initComponents();
        llenarTabla();
    }
    private void llenarTabla(){
        Object object[]={""};
        DefaultTableModel tabla =  (DefaultTableModel) jTable1.getModel();
        tabla.addRow(object);
        ConexionMySql con = new ConexionMySql();
        try {
            rs = con.exec("select * from alumnos");
            int i=0;
            while (rs.next()){
                jTable1.setValueAt(rs.getInt(1), i, 0);
                jTable1.setValueAt(rs.getString(2), i, 1);
                jTable1.setValueAt(rs.getString(3), i, 2);
                jTable1.setValueAt(rs.getString(4), i, 3);
                i++;
            }
        } catch (SQLException ex) {
            Logger.getLogger(Formulario2.class.getName()).log(Level.SEVERE, null, ex);
        }
       
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Formulario2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Formulario2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Formulario2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Formulario2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Formulario2().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    // End of variables declaration
}





y asi de facil, pero despues de meterme a un curso de java de oracle me doy cuenta de que para todo se usa que setNombre getNombre y asi sus get y sus set y listas como si fuese todo muy organizadito, pero en el curso no veiamos todo eso con base de datos y entonce yo pienso: pues esas variables de nombres y apellidos las podremos tomar de la base  de datos y todo lo que hay en la base de datos traernolo a java y meterlo en lista pero eso seria crear objetos para cada persona y asi no se si esto ocupe mucha memoria o que pero bueno aqui les dejo la otra forma que se ve un poco mas organizada para java:


bueno conciderando la misma classe de conexion al proyecto solo se le agregarian otras dos classes mas (procesos y alumnos) y el frame.


aqui la clase de alumnos con sus geters y sus seters:


Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package classes;

/**
 *
 * @author Noe
 */


public class Alumnos {
    private String nombre;
    private String apellido;
    private String matricula;
    private int id;
    public Alumnos(){
       
    }
   
    public int getId(){
        return id;
    }
    public void setId(int id){
        this.id = id;
    }
    public String getNombre(){
        return nombre;
    }
    public void setNombre(String nombre){
        this.nombre = nombre;
    }
     public String getApellido(){
        return apellido;
    }
    public void setApellido(String apellido){
        this.apellido = apellido;
    }
     public String getMatricula(){
        return matricula;
    }
    public void setMatricula(String matricula){
        this.matricula = matricula;
    }

   
}

y aqui la clase procesos para las consultas y conexion a la base de datos:

Código:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package classes;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Noe
 */
public class Procesos {
    ResultSet rs;
   
    public List <Alumnos> ListAlumnos(/*String codAlumno*/){
        List<Alumnos> lista = new ArrayList();
        String consulta = "select * from alumnos";
        ConexionMySql con = new ConexionMySql();
        try {
            rs = con.exec(consulta);
            while(rs.next()){ 
                Alumnos a = new Alumnos();
                a.setId(rs.getInt(1));
                a.setNombre(rs.getString(2));
                a.setApellido(rs.getString(2));
                a.setMatricula(rs.getString(4));
                lista.add(a);
               
            }
        } catch (SQLException ex) {
            Logger.getLogger(Procesos.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lista;
       
    }
   
}


notamos que dentro del while esta alumnos a = new alumnos().

esto provoca crear objetos para cada alumno, no se a la memoria como le valla con esto. imaginense tener que pasar varias tablas como por ejemplo alumnos, maestros, horarios, calificaciones. seria un objeteriio barbaro a mi pensar jeje.


y en el frame quedaria algo asi:

Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Formulario.java
 *
 * Created on Sep 23, 2012, 8:12:31 PM
 */
package formulario;

import classes.Alumnos;
import classes.Procesos;
import javax.swing.table.DefaultTableModel;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;

/**
 *
 * @author Noe
 */
public class Formulario extends javax.swing.JFrame {

    /** Creates new form Formulario */
    Procesos obj = new Procesos();
    DefaultTableModel tabla = new DefaultTableModel();
    public Formulario() {
        initComponents();
        jTable1.setModel(tabla);
        tabla.addColumn("id");
        tabla.addColumn("nombre");
        tabla.addColumn("apellido");
        tabla.addColumn("matricula");
        llenarTabla();
    }
    private void llenarTabla(){
        System.out.println(""+obj.ListAlumnos().get(1).getNombre());
        tabla.setRowCount(0);
        for(Alumnos x:obj.ListAlumnos()){
            tabla.addRow(new Object[]{x.getId(),x.getNombre(),x.getApellido(),x.getMatricula()});
        }
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(37, 37, 37)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 578, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(93, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(32, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Formulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Formulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Formulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Formulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Formulario().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    // End of variables declaration
}

notamos que el metodo de este frame para llenar la tabla tiene menos codigo



bueno espero entiendan lo que quiero decir.

entonces la pregunta es que forma de diseno o estrucura seguirian ustedes para programar en java y bases de datos? y poque?



saludos..



a por si quieren el proyecto lo pueden bajar de aqui:


https://skydrive.live.com/redir?resid=97F9EDE94EA165E!38231&authkey=!AKZ5JFoyrD63prg


lo hice en netbeans.

8  Programación / Java / joptionpane con botones. en: 14 Septiembre 2012, 21:40
que tal tengo un joptionpanel que pregunta si se desea realizar la venta con dos botones si o no. el problema es que el sistema debe estar disenado para usar solo el teclado sin raton ni nada.

Código:

Object[] options = {"No",
                    "Si",
        };
        int n = JOptionPane.showOptionDialog(this,
            "Realizar la venta? ",
            "Pregunta.",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE,
            null,
            options,
            options[1]);
            System.out.println("n"+n);   
            if(n==1){
                makeSale();
       
            }

tengo ese codigo.

el problema es que cuando me muestra la ventanita supuestamente se deberia usar la tecla tab para escoger el boton o la opcion.

los botones en la ventanita son como de color azul y un borde azul mas claro cuando estan seleccionados, entonces cuando le pulso la tecla tab solo se cambia el borde de seleccion pero el color de fondo del boton no se cambia al boton seleccionado. y a la hora de pulsar enter para seleccionar el boton se selecciona el boton sin borde osea el que tiene un color azul mas fuerte de fondo.
9  Programación / Java / se puedes ocultar pestanas en un jtabbedpane en: 14 Septiembre 2012, 01:29
que tal la pregunta es se puedes ocultar pestanas en un jtabbedpane?

esque lo que quiero hacer es algo asi aber que solucion hay.

tengo una ventana con su menu de herramientas por ejemplo:

Archivo|opciones|ayuda

aqui tengo componentes como tablas y eso


bueno digamos que en la pestana archivo hay opciones como vender, inentario etc..

entonces existe una ventana diferente para vender y para inventario,  la pregunta es:


como mostrar inventario y vender sin tener que cambiar de jframe?


ami se me ocurrio con el jtabbedpane y cuando seleccione una opcion dependioendo de cual selecciono automaticamente la pestana para que se cambie todo en el mismo jframe. pero el problema es que no puedo quitar las pestanitas.


lo otro pues es hacerlo por simples jpanel y al seleccionar una opcion ocultar un jpanel y mostrar otro.

saludos
10  Programación / PHP / mensajes en una web en: 8 Septiembre 2012, 00:59
que tal me surgio una duda, como seria posible hacer esto.

tengo una web que maneja usuarios y los usuarios se pueden mandar mensajes entre si, los mensajes los guardo en una base de datos, el problema es que hay que actualizar la pagina para ver si hay nuevos mensajes.

tengo en la base de datos una tabla asi

id_mensaje
id_usuario_remitente
id_usuario_destinatario
str_mensaje
int_estado  (para ver si ya fue leido, o es nuevo)


entonces sera posible que si un usuario da de alta un mensaje en la base de datos para otro usuario, la pagina web lo detecte y avice ya sea con un alert algun sonido o algo?
Páginas: [1] 2 3 4 5 6 7 8 9
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines