style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Abrir un GUI Form Layout?

Buenas tardes a todos, primero que nada me presento y les aviso que estoy aprendiendo Java y es mi segundo día, pero hoy me encontré con un problema al momento de querer hacer un formulario y quererlo mostrar en la aplicación, utilizo como IDE IntelliJ IDEA.

Lo que hago es lo siguiente, en mi proyecto tengo un paquete llamado "Principal" en el cual tengo la clase principal "MainClass" y tengo el formulario creado y diseñado visualmente (Nuevo => Gui Form => FormLayout [JGoodies]) que se llama "frmPrincipal", pero el problema es que no encuentro la manera para crear una instancia de dicho formulario y mostrarlo en la aplicación, ya que si hago lo siguiente:

frmPrincipal formulario = new frmPrincipal();
formulario.

después del punto que va después de la instancia "formulario" no me muestra casi métod, y no encuentro ninguno que se llama "show", "setVisible" o algo por el estilo.

¿Qué es lo que estoy haciendo mal?

Gracias por su tiempo, saludos =).

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Según lo que comentas,

Según lo que comentas, deberías estar heredando de JFrame para que tuvieras por defecto el método setVisible( boolean b ) si no es así entonces deberías estar haciendo composición de un objeto de tipo JFrame y a ése objeto adherirle los demás omponentes que requieras.... sería bueno que postearas tu código para checar qué pùede estar mal. y no se te olvide escribirlo entre tags de < code >

Era eso =)

Ya le puse que hereda de JFrame, pero al momento de mostrarlo me lo muestra en la esquina superior izquierda con un tamaño muy reducido, que no es el que le tengo asignado en el diseño y es simplemente un formulario sin los controles que le asigné anteriormente.

frmPrincipal formulario = new frmPrincipal();
formulario.setVisible(true);
formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
formulario.setSize(250,205);

Ése es el código que tengo para mostrar el formulario y la clas frmPrincipal, no contiene nada mas que los 3 controles (un JButton, JPanel y un JTextField) no sé si en la clase del formulario tenga que escribir código a pie para agregar bien los controles. Mi duda es que según hice un formulario en IntelliJ IDEA, y no sé por qué no me lo muestra al momento de mostrar la instancia creada.

Muchas gracias por tu respuesta bro.
Saludos =)

Encontré una solución "casera"

Bueno, no sé si sea lo mejor, lo más óptimo o algo por el estilo, pero se me ocurrió hacer lo siguiente, ya que IntelliJ IDEA no hace nada del formulario por uno mismo (a comparación de NetBeans) así que te pongo el código para que lo veas y me sugieras algo, corrijas o lo que sea ^^.

public class MainClass {

        public static void main(String[] args){

                frmPrincipal formulario = new frmPrincipal(400,200,"JOOO");
                formulario.setVisible(true);
        }

}

Y el código del formulario principal de la aplicación, donde sólamente tengo un botón de ejemplo:

import javax.swing.*;

public class frmPrincipal extends JFrame {

        private JButton button1;
        private JPanel panel1;
        private JFrame frame = new JFrame("frmPrincipal");
        private int ancho, alto;

        public frmPrincipal(int ancho, int alto, String title) {
                this.ancho = ancho;
                this.alto = alto;
                frame.setLocationRelativeTo(null);
                setTitle(title);
        }

        @Override
        public void setVisible(boolean b) {
                frame.setContentPane(panel1);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.pack();
                frame.setSize(ancho,alto);
                frame.setVisible(true);
                frame.setLocationRelativeTo(null);
        }

        @Override
        public void setTitle(String title) {
                frame.setTitle(title);
        }
}

Gracias por tu ayuda bro.
Saludos =)

Imagen de neko069

Pues se ve bien el código, no

Pues se ve bien el código, no le veo ningún problema, sólo una observación, el nombre de FrmPrincipal, debe comenzar con mayúscula, eemmmm... y si le pones el método setVisible( true ) dentro del constructor de FrmPrincipal te marca errores??? podrías hacer la prueba, y para centrar tu forma, bien podrías agregar un método, que más o menos va así

public Rectangle locateForm( int  x1 , int y1 ){
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    return new Rectangle( (dimension.width - x1) / 2 , (dimension.height - y1) / 2 ,  x1 , y1 );
}

éste método lo que hace es que le pasas el tamaño de tu componente y te lo centra en la pantalla, OJO si le agregas éste método a un JInternalFrame tendrías que modificar el método para que te acepte las medidas de tu JFrame como si fuera tu pantalla, y de tu JInternalFrame para que se centre sobre el JFrame principal... es sólo una sugerencia..
Suerte!!

Gracias neko069

Con el método en el constructor no marca problemas, ya lo probé y tampoco.
En cuanto a tu obervación de empezar con mayúscula, ¿es por lo de que todas las clases métodos públicos y eso deben empezar con letra mayúscula? Porque si he leido en libros de programacíón de escrituras de tipo CamelCase y PascalCase, algo así, no estoy muy enterado de eso, pero igual, tomaré en cuenta tu observación al igual que tu método para centrar, lo había podido lograr con el método "setLocationRelativeTo" pero igual, no me caerá nada mas tener tu método para cuando no me funcione ese método ^^, muchas gracias por tu ayuda.

Un poquito fuera de tema pero...¿qué IDE me recomiendas? Estoy utilizando en especial IntelliJ IDEA, me gusta por la gran ayuda que tiene al momento de estar escribiendo el código, pero en cuanto a GUI Builder, me gusta más NetBeans, aunque... soy de los que piensan que al momento de estar aprendiendo un lenguaje, lo mejor es aprender a hacerlo a pie, pero también, al momento de querer desarrollar una aplicación donde el tiempo no es infinito, no viene nada mal tener un IDE donde sea un excelente GUI Builder como NetBeans.

De los IDE's que he escuchado, son: IntelliJ IDEA, NetBeans, JDeveloper, Eclipse y JBuilder, ¿qué IDE de esos o que no enlisté me recomiendas?

Muchas gracias por tu ayuda.
Saludos =)

Imagen de neko069

está raro

Está raro que no te salga...qué más haz intentado?

En cuanto a tu obervación de empezar con mayúscula, ¿es por lo de que todas las clases métodos públicos y eso deben empezar con letra mayúscula?

Sólo las clases y constructores comienzan con mayúsculas, los métodos comienzan con minúscula, deben de ser un verbo en infinito y si abarca más de dos palabras, entonces ya la segunda palabra comienza con mayúscula ( camelCase ).

Un poquito fuera de tema pero...¿qué IDE me recomiendas?

La pregunta del siglo... yo en general recomiendo Notepad++ cuando estás iniciando, para que aprendas a compilar por consola, y crear jar y otras monerías...
En cuanto al IDE que uses, yo veo que @OscarRyz recomienda mucho IntelliJ pero pues yo no he tenido oportunidad de tocarlo, y como para mí eclipse ha sido suficiente, pues sería bastante subjetiva la respuesta...

Regresando al tema.... pues sería conveniente que postearas tus cambios a ver si podemos detectar algo que no funcione como debería....

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">