Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - l3ad Programmer

#1
Tu proyecto por lo visto está mal estructurado. En la clase main no tienes que tener código. Los códigos deben estar en sus respectivas clases y tales clases tienen que tener un objetivo. En el método main, en una aplicación Swing, solo debería instanciarse la clase que representa a la interfáz gráfica y ejecutarla.

Cuando trabajas con interfaces gráficas, siempre es convenible utilizar el patrón de diseño Modelo - Vista - Controlador (MVC). De ésta manera delegas responsablidades de forma ordenada y eficiente.

Cita de: francoyo1998alguna forma de q un boton tenga una funcion sin tener q pasarle una clase como argumento?

En Swing hay dos formas de usar eventos: Por medio de clases internas y por implementación de la interfaz ActionListener que es la proveedora de eventos para controles.

Código (=java) [Seleccionar]

JButton btnSay = new JButton("Saluda!");
btnSay.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hola!");
}
});


La otra forma es implementarlo la interfaz ActionListener:

Código (=java) [Seleccionar]

public class MyGUI extends JFrame implements ActionListener {

// metodos que se implementaran
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hola!");
}

@Override
public void keyPressed(KeyEvent e) {
// codigo que quieres que haga
}

// y otros mas...

public MyGUI() {
        super("ActionListener");
this.setSize(400,400);
this.setResizable(false);
FlowLayout fl = new FlowLayout();
// registra el listener al boton
JButton btnSayHello = new JButton("Greet!");
btnSayHello.addActionListener(this);
fl.add(btnSayHello);
this.add(fl);
this.setVisible(true);
}
}


[-] Ejemplo MVC:

[-] Paquete net.badprogrammer.events.view

Código (=java) [Seleccionar]

public class MyGUI extends JFrame {

// le pasamos por parametro la referencia de la clase MyGUI
private static final MyGUIController controller = new MyGUIController(this);

public MyGUI() {
this.setSize(400,400);
this.setResizable(false);
FlowLayout fl = new FlowLayout();
// registra el listener al boton
JButton btnSayHello = new JButton("Greet!");
btnSayHello.addActionListener(controller);
fl.add(btnSayHello);
this.add(fl);
this.setVisible(true);
}


[-] Paquete net.badprogrammer.events.model: Aquí irá tu lógica de negocio.


[-] Paquete net.badprogrammer.events.controller: Aquí irán las clases que controlarán las vistas y las clases del model:

Código (=java) [Seleccionar]

public class MyGUIController implements ActionListener {

private MyGUI gui;

public MyGUIController(MyGUI gui) {
this.gui = gui;
}

@Override
public void actionPerformed(ActionEvent event) {
if (event.getActionCommand().equals("btnSayHello")) {
JOptionPane.showMessageDialog(null, "Hola amigo!");
}
if (event.getActionCommand().equals("btnExit")) {
JOptionPane.showMessageDialog(null, "Adiós amigo!");
System.exit(0);
}
}

// los otros metodos implementados por ActionListener

}


Nota: En el paquete net.badprogrammer.model van a ir tus clases de tu lógica de negocio, es decir las clases que requieren mayor encapsulasión, que pueden ser clases que representen a usuarios, productos, etc. Éstas clases también deben ser accedidas solo por el Controlador.

Espero hayas comprendido. Saludos.
#2
Soy un mono en desarrollo frontend pero, ¿No puedes customizar el tema de Bootstrap para que tenga una apariencia más personalizada? En todo caso, sería bueno que los desarrolladores frontend y diseñadores del foro creen un tema visualmente atractivo como muchos que he visto por la red.

Mejor pongan el foro tipo StackOverFlow o (parecido) como EntreDesarrolladores, así no hay mucho trolleo xD y para los trollers su campamento xD
#3
Que bueno que hayas logrado tu objetivo. Lee más sobre WebServices que es una herramienta muy poderosa y lee sobre Java en general. Es un excelente lenguaje.
#4
En ese caso puedes adquirir ese libro ya que si luego quieres pasar a Java 8 no vas a tener dificultades ya que todo será muy similar a excepción de lambdas y algunas novedades.
#5
Quizás no conoces JMF. JMF o Java Media Framework es un framework para manejar recursos multimedia: Vídeo, Audio, Streaming, etc. No es difícil de usar.

Aquí tienes un buen ejemplo.
#6
Esa es una pregunta que todo el que se inicia en el mundo Java se hace. Aquí hay dos puntos importantes: Java SE y Java EE.

1.- DIFERENCIAS ENTRE JAVA SE Y JAVA EE

Java SE (Standard Edition) es la edición estándard de Java. Es como el núcleo (core) de Java. Ésta edición te provee de un API para construir aplicaciones normalmente de escritorio que no requieran ser de índole empresarial, ya que para éstas tecnologías necesitarás recursos para poder hacer frente a los requisitos empresariales. Aquí viene a tallar Java EE.

Java EE (Enterprise Edition) es la edición empresarial de Java. Está construido sobre Java SE y provee de muchos addons y recursos con los que puedes construir aplicaciones empresariales, esto es a grande escala y con numerosos requisitos.

Ahora hablemos sobre el ciclo de vida. Oracle (actual dueño de Java para bien o para mal), ofrece dos tipos de soporte: Gratuito y Extendido.

El soporte Gratuito pues es eso mismo, un soporte completamente gratuito que Oracle le da a Java. Actualizaciones, Parches de seguridad, etc. Por otro lado, el soporte Extendido es previo contrato con Oracle y la empresa interesada en el soporte tendrá que abonar un monto a la empresa.

CitarJava SE Roadmap
Oracle Extended Support

2.- JAVA EE: SERVIDORES DE APLICACIONES

Cuando desarrollas una aplicación Java EE necesitamos un servidor de aplicaciones. Ésto es un punto clave, ya que sin un servidor de aplicaciones no podremos correr nuestra aplicación.

Existen muchas empreesas que proveen servidores de aplicaciones para Java, como son:

Gratuitos:

  • Apache Tomcat
  • Apache TomEE
  • Apache Geronimo
  • WildFly (propiedad de JBoss/Redhat)
  • GlassFish (Propiedad de Oracle y servidor denominado estándar en Java EE)
  • Jetty
  • etc

    Privados:

  • WebLogic (Oracle)
  • WebSphere
  • etc

    CitarCada servidor implementa un profile de la especificación de Java EE, como es WebProfile (JSP/Servlets/JSF) y algunos un Full Profile(WebProfile + EJB, JAX-WS, JMS, etc). La empresa debe elegir el profile que requiera su proyecto.

    El problema viene a ser que GlassFish que es el servidor predeterminado de Java EE y el primero en contener el Full Profile, no llena las espectativas de algunas empresas. Por ésta razón, las empresas deciden adquirir otro servidor.

    Los creadores de servidores toman su tiempo para implementar cierto profile en su servidor, ya que es una ardua tarea: Implementación, Testing, y un largo etc. Es por ésto, los servidores de aplicaciones no pueden seguirle el ritmo a Oracle.

    Dicho lo anterior, una empresa no puede - aunque quisiese - utilizar la última versión de Java SE/EE porque no hay sevidor para dicha versión. Por ésta razón las empresas siguen utilizando Java 6 EE y Java 7 EE. Por ejemplo, recién algunos servidores están ofreciendo compatibilidad con Java 7 EE.

    Ahora, mi recomendación es que, si vas a desarrollar aplicaciones estándar (Java SE) puedes utilizar sin problemas la última versión. Ésto no aplica a los desarrolladores Java EE. Pero ten presente que Java tiene Backward Compatibility, es decir, compatibilidad hacia atrás. Ésto aplica a que aplicaciones programadas en Java 6 y Java 7 pueden correr en JRE 8, pero no una aplicación Java 8 puede correr en JRE 7 o 6.


    Espero haberme dejado comprender. Un saludo.
#7
Sí, puedes hacerlo con WebServices, pero si no tienes una buena base de Java SE y un poco de Servlets al menos, te resultará complicado entender qué estás haciendo.

La técnica se llama consumo de WebServices y puedes encontrar un claro ejemplo aquí y aquí te explica cómo consumir un WebService de indicadores financieros.

Obviamente debes identificar el WebService que te brinde los indicadores financieros para poder consumirlo.
#8
Java / Re: instalador de java + postgres
23 Agosto 2014, 17:23 PM
Agrega los programas que deseas instalar a tu Proyecto y luego ejecútalos por medio de Runtime en tu aplicación Java.
#9
Java / Re: Applet no inicializado
23 Agosto 2014, 17:16 PM
Aveces es problema del AppletViewer, otras veces es problema de variables no inicializadas, etc. Debes poner tu código (Java y HTML).
#10
Java / Re: (Duda) Alguien me ayuda?
23 Agosto 2014, 17:11 PM
Hola Odask,

Supongo que es una aplicación para escritorio. En éste caso lo que puedes hacer es agregar los archivos que quieres instalar en el cliente en una carpeta dentro de tu proyecto, y ésta carpeta agregarla al Classpath del mismo. De ésta manera, desde el programa puedes hacer referencia a ellos.