[SOLUCIONADO] Ayuda usar JFrame!!!

Iniciado por robtojosu, Julio 04, 2015, 12:41:00 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 04, 2015, 12:41:00 AM Ultima modificación: Julio 09, 2015, 12:20:40 PM por Expermicid
Buenas!

Tal vez la pregunta sea tonta la pregunta, pero les iba a preguntar que si alguno sabe usar JFrame??

Es que bueno estudio informática(primer cuatri)  y para el final de este cuatrimestre ocupo hacer un programa. Y bueno, pues estoy bastante preocupado y estresado porque no se bien como usarlo, como darle funcionalidades a los botones, como hacer tablas y varias cosas mas que se necesitan para hacer una aplicación  mas o menos avanzada. Y ya me quedo casi que solo un mes para entregar y exponer el trabajo. Quería hacer una aplicación para una farmacia, tipo punto de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta hecho tengo ponerme a programarla :o

Entonces me gustaría que si conocen alguien que conozca de  progra y que me pueda explicar o dar un mini curso digamos sobre esto me quitaría un peso de encima.Realmente me llama mucho la atención todo esto y de verdad quiero aprender, pero esto me esta jodiendo todo..

Aclaro que he buscado en youtube pero los tutoriales son muy dispersos, la mayoría solo hacen las cosas si es que las hacen y no explican porque,o no incluyen todo lo que ocupo saber. Y he buscado libros pero no he encontrado ninguno que explique como usar esto.

Yo no tengo dinero y bueno no les puedo decir que puedo hacr cualquier cosa(lavar platos ajenos,ropa  o hacer cualquier cosa) por razones geográficas. Dudo que haya alguien de mi país en este foro.

Espero me puedan ayudar.

Saludos desde Costa Rica

Buenas.

Vas a tener que ponerte bastante para hacer lo que quieres sin ningún conocimiento. Igual no es imposible xD

Acá te paso algunos aporte de aquí que en algo te va a servir

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos

Yo te recomiendo como base, siempre tener lo siguiente:

  • Patrones de diseño (puedes ver un post en el que puse algunos, está en el foro de Java)
  • Principios de desarrollo de software (DRY, SRP, KISS, etc).

    Lo anterior es vital. Sin eso, dudo que tus aplicaciones sean eficientes, y no lo digo desde el punto de vista de funcionalidad, porque puede funcionar correctamente, pero, ¿qué pasa si el cliente pide ampliar funcionalidad?, ¿crees que un código mal escrito te permita escalabilidad? Por supuesto que NO, y aquí es donde vienen a tallar los puntos anteriores.

    Ahora, respecto a la interfáz gráfica, te recomiendo que te vayas con JavaFX. JavaFX te provee un patrón MVC en el cual te obliga a delegar responsabilidades. Ésto es muy bueno ya que, te exige un código mantenible.

    La parte gráfica de JavaFX se puede hacer mediante dos formas:

  • Mediante código Java
  • Mediante FXML (XML)

    Mediante código Java

    Ésto se usaba en el principio, pero desde que salió FXML se vió relegado por éste. La principal razón de utilizar la segunda forma es que con ésta forma tú eres el responsable de organizar tu aplicación para que sea MVC. Ejemplo:

    Código: java

    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;

    public class MiPrograma extends Application {
        @Override
        public void start(Stage stage) {
    Button btn = new Button("Click me!");
    btn.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
    System.out.println("Hola mundo!");
        }
    });
    StackPane root = new StackPane();
    root.getChildren().add(btn);
    Scene scene = new Scene(root, 300, 250);
    stage.setTitle("Demo JavaFX para Underc0de");
    stage.show();
        }
        public static void main(String[] args) {
    launch(args); // llama internamente a start
        }
    }


    Mediante código FXML

    Código: xml

    <?xml version="1.0" encoding="UTF-8"?>

    <?import javafx.scene.effect.*?>
    <?import javafx.scene.image.*?>
    <?import javafx.geometry.*?>
    <?import javafx.scene.text.*?>
    <?import javafx.scene.control.*?>
    <?import java.lang.*?>
    <?import javafx.scene.layout.*?>

    <AnchorPane prefHeight="443.0" prefWidth="908.0" stylesheets="@css/style.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="me.localtest.customersapp.controllers.MainController">
       <children>
           <!-- aquí pueden ir botones, tablas, textfields, ect -->
           <Button fx:id="btnGreet" text="Click me!" layoutX="100" layoutY="35" onAction="greetAction"/>
       </children>
    </AnchorPane>


    Fíjate en los atributos stylesheets y fx:controller. El primer atributo, hace referencia a un archivo de estilos (si has trabajado en web, lo sabrás). Ésto es muy bueno, ya que, le puedes dar el estilo que tú deseas a tu aplicación. El segundo atributo, especifica el controlador para esa vista. Debe ser su ruta completa, con todo y paquetes separados por puntos (.).

    Ahora fíjate en el botón que hemos definido, tiene los siguientes atributos:

  • fx:id: Este es su identificador único (igual que el id de html). Por medio de éste id se le ubicará en el contexto de la aplicación.
  • layoutX/layoutY: Esto sirve para ubicarlos dentro de las dimensiones de la stage (ventana).
  • text: Texto del botón.
  • onAction: Método que se ejecutará cuando se pulse el botón.

    Teniendo ésto claro, hagamos el controlador que se verá así:

    Código: java

    public class MainController {
        @FXML Button btnGreet;

        @FXML
        private void greetAction() {
    System.out.println("Hola mundo!");
        }
    }


    Si recuerdas, el botón en el FXML se llamaba btnGreet, acá solo lo jalamos. Ésto es lo poderoso de JavaFX, que gestiona las dependencias por nosotros (CDI para Java EE), lo que se conoce como Inyección de dependencias. Localizamos el botón mediante la anotación @FXML. Ahora, en el FXML, pusimos que cuando se pulse el botón se ejecutaría un método llamado greetAction, que como ves está definido. También puedes especificar el parámetro ActionEvent por si se requiere.

    Conclusión

    En conclusión, te recomiendo a ojos vendados JavaFX. Sus ventajas sobre Swing son demasiadas (incluso, es el reemplazo de Swing, que muy posiblemente en un futuro sea marcada como deprecated).

  • Inyección de dependencias.
  • Modularización mediante MVC.
  • Internamente, un código mejor que Swing.
  • Soporte para CSS
  • ...

    Recursos

    Afortunadamente, no necesitas escribir tú el código FXML. Tú solo arrastras los controles y JavaFX Scene Builder genera todo el código FXML por tí.

    Enlace de descarga: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

    Puedes seguir un tutorial de JavaFX en español (click en la imagen):

    No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Muchas gracias Sr Gus , estando a su sombra  es sinónimo de aprender, por la parte que me concierte le voy a echar un vistazo a su enlace  lo veo interesantísimo
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Expermicid y Gus son unos cracks! gracias por la ayuda!
Buena info