Foros del Web » Programación para mayores de 30 ;) » Java »

Como puedo ordenar mi formulario en Java los componentes graficos

Estas en el tema de Como puedo ordenar mi formulario en Java los componentes graficos en el foro de Java en Foros del Web. Hola a todos Tengo una consulta estoy contruyendo un formulario en java este tiene distintos componentes graficos con JButton, JLabel, JCheckBox y etc. Resuslta cuando ...
  #1 (permalink)  
Antiguo 26/10/2004, 11:27
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
Como puedo ordenar mi formulario en Java los componentes graficos

Hola a todos Tengo una consulta estoy contruyendo un formulario en java este tiene distintos componentes graficos con JButton, JLabel, JCheckBox y etc. Resuslta cuando pongo en uso los componentes estos se colocan alineados uno detras del otro yo quiero por ejemplo que los JCheckBox se alinen uno debajo del otro ahora escribire el siguiente programa como ejemplo:


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


public class Interfaz3 extends JFrame implements ActionListener
{
JPanel panel;
JButton boton1,boton2;
JLabel etiqueta,etiqueta2;
JCheckBox cBox1, cBox2, cBox3;
List spanish, italian;
TextField textField;
TextArea textArea;
MenuBar mb;
Menu m1, m2, m3, m4, m4_1, m5;
MenuItem mi1_1, mi1_2, mi3_1, mi3_2, mi3_3, mi3_4,
mi4_1_1, mi5_1, mi5_2;



// cBox1 = new JCheckBox("Light-weight!");
// cBox2 = new JCheckBox("Ready-made!");
// cBox3 = new JCheckBox("Easy-to-use!");

Container contenedor;
int i = 1;
String a, b, c, nombre;
int[] edades = new int[10];
public Interfaz3()
{





contenedor = getContentPane();

panel = new JPanel();
panel.setLayout(new FlowLayout(FlowLayout.CENTER,10,10));


etiqueta = new JLabel("Soy una etiqueta");
panel.add(etiqueta);

etiqueta2 = new JLabel("Soyrodolfo");
panel.add(etiqueta2);

boton1= new JButton("Boton1");
boton1.addActionListener(this);
panel.add(boton1);

boton2 = new JButton("Boton2");
boton2.addActionListener(this);
panel.add(boton2);
cBox1 = new JCheckBox("Light-weight!");
panel.add(cBox1);
cBox2 = new JCheckBox("Ready-made!");
panel.add(cBox2);
cBox3 = new JCheckBox("Easy-to-use!");
panel.add(cBox3);
spanish = new List(4, true); //el número 4 es visible al inicializar
spanish.addItem("uno");
spanish.addItem("dos");
spanish.addItem("tres");
spanish.addItem("cuatro");
spanish.addItem("cinco");
spanish.addItem("seis");
spanish.addItem("siete");
panel.add(spanish);
textField = new TextField(20);
panel.add(textField);
textArea = new TextArea(5, 20);
panel.add(textArea);
textArea.setEditable(false);
mb = new MenuBar();
//panel.add(mb);
setMenuBar(mb);
m1 = new Menu("Menu 1", true);
mb.add(m1);
mi1_1 = new MenuItem("Menu Item 1_1");
m1.add(mi1_1);
mi1_2 = new MenuItem("Menu Item 1_2");
m1.add(mi1_2);




//Construye el primer menú en la barra de menñus.
//Especificando elsegundo argumento como ture
//hace de este un menú de arranque.
m1 = new Menu("Menu 1", true);
mb.add(m1);

// CheckBoxListener listener = new CheckBoxListener();

contenedor.add(panel,BorderLayout.CENTER);

setSize(600,400);
show();
}

public void actionPerformed(ActionEvent e)
{

Component boton = (Component)e.getSource();
if(boton==boton1){

etiqueta.setText("accionaste boton 1");

}
if(boton==boton2){
etiqueta.setText("accionaste boton 2");

}

}


public static void main(String args[])
{

new Interfaz3();

}

}


como puedo alinear los diferentes componentes graficos dentro de mi formulario segun algun tipo de cordenadas en java para que se locoquen dentro del formulario segun sea mi diseño

Para que el que me pueda ayudar muchas gracias

Última edición por Escorpion_Negro; 26/10/2004 a las 11:29
  #2 (permalink)  
Antiguo 26/10/2004, 12:55
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola, creo que lo que buscas es algo como:

Código PHP:
public class Interfaz31 extends javax.swing.JFrame {
    
    public 
Interfaz31() {
        
initComponents();
    }

    private 
void initComponents() {
        
jButton2 = new javax.swing.JButton();
        
jCheckBox1 = new javax.swing.JCheckBox();
        
jTextField1 = new javax.swing.JTextField();
        
jLabel1 = new javax.swing.JLabel();

        
getContentPane().setLayout(null);

        
addWindowListener(new java.awt.event.WindowAdapter() {
            public 
void windowClosing(java.awt.event.WindowEvent evt) {
                
exitForm(evt);
            }
        });

        
jButton2.setText("Grabar");
        
getContentPane().add(jButton2);
        
jButton2.setBounds(1601307326);

        
jCheckBox1.setText("tiene numero?");
        
getContentPane().add(jCheckBox1);
        
jCheckBox1.setBounds(24022013024);

        
jTextField1.setHorizontalAlignment(javax.swing.JTextField.LEFT);
        
getContentPane().add(jTextField1);
        
jTextField1.setBounds(1303012020);

        
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        
jLabel1.setText("Nombre:");
        
getContentPane().add(jLabel1);
        
jLabel1.setBounds(40308016);

        
pack();
        
java.awt.Dimension screenSize java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        
setSize(new java.awt.Dimension(400300));
        
setLocation((screenSize.width-400)/2,(screenSize.height-300)/2);
    }
    
    private 
void exitForm(java.awt.event.WindowEvent evt) {
        
System.exit(0);
    }
    
    public static 
void main(String args[]) {
        new 
Interfaz31().show();
    }
    
    
    
// Variables declaration - do not modify
    
private javax.swing.JButton jButton2;
    private 
javax.swing.JLabel jLabel1;
    private 
javax.swing.JTextField jTextField1;
    private 
javax.swing.JCheckBox jCheckBox1;
    
// End of variables declaration
    

Básicamente es ubicar la línea de código: getContentPane().setLayout(null); y despúes ya ubicas a cada control con las coordenadas.
__________________
Saludos,

H@C..
  #3 (permalink)  
Antiguo 27/10/2004, 16:07
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
una preguntita cual es la diferencia en declarar asi

JButton boton1,boton2;
..
..
..
boton1= new JButton("Boton1");
boton1.addActionListener(this);
panel.add(boton1);

y declararlas como tu hugo777

jButton2 = new javax.swing.JButton();
..
..
..
jButton2.setText("Grabar");
getContentPane().add(jButton2);
jButton2.setBounds(160, 130, 73, 26);
  #4 (permalink)  
Antiguo 27/10/2004, 18:04
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola, ninguna, simplemente en la tuya declaras y luego inicializas el objeto de tipo JButton y en la mía, declaro e inicializo a la vez el objeto.
__________________
Saludos,

H@C..
  #5 (permalink)  
Antiguo 29/10/2004, 15:29
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
sabes hugo777 estoy trabajando con esta

JButton boton1,boton2;
..
..
..
boton1= new JButton("Boton1");
boton1.addActionListener(this);
panel.add(boton1);

le coloco al final boton1.setBounds(160, 130, 73, 26); y no me funciona o tengo que ocupar otro comando
  #6 (permalink)  
Antiguo 29/10/2004, 17:00
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola, creo que me olvide de mencionar... o si, creo que lo agregue al final de uno de los mensajes anteriores:

el setBounds tiene efecto, siempre y cuando tu LAYOUT sea NULL, es decir, en tu código, tiene que estear seteado:

getContentPane().setLayout(null);

Antes de que empiezes a ubicar tus componetes en el panel principal.
__________________
Saludos,

H@C..
  #7 (permalink)  
Antiguo 29/10/2004, 19:01
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
gracias hugo777
  #8 (permalink)  
Antiguo 29/10/2004, 20:39
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
hola hugo espero que te encuentres super bien por mi parte estoy aprendiendo java voy lento pero llegare a camino mi duda es la siguiente cuando tu me declaras los componentes graficos tu escribes los siguiente:

jButton2 = new javax.swing.JButton();
jCheckBox1 = new javax.swing.JCheckBox();
TextField1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();

ahora resulta que por ejemplo yo trato de declarar otro JButton me aroja error Error Cannot resolve symbol variable JButton3


jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jCheckBox1 = new javax.swing.JCheckBox();
TextField1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();


tambien me aparece cuado a jButton2 = new javax.swing.JButton(); la declaro al principio con jButton1 = new javax.swing.JButton(); tambien me aperece el error Error Cannot resolve symbol variable JButton3
  #9 (permalink)  
Antiguo 30/10/2004, 17:11
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 10 meses
Puntos: 1
Hola de nuevo, haber la parte del código que tu colas esta imcompleta, esa es sólo la inicialización del objeto, pero la declaración del objeto seguro no esta, el código completo es:

javax.swing.JButton jButton2;
javax.swing.JButton jButton3;
javax.swing.JCheckBox jCheckBox1;
javax.swing.JTextField TextField1;
javax.swing.JLabel jLabel1;
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jCheckBox1 = new javax.swing.JCheckBox();
TextField1 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();


o también, puede ser:

javax.swing.JButton jButton2 = new javax.swing.JButton();
javax.swing.JButton jButton3 = new javax.swing.JButton();
javax.swing.JCheckBox jCheckBox1 = new javax.swing.JCheckBox();
javax.swing.JTextField TextField1 = new javax.swing.JTextField();
javax.swing.JLabel jLabel1 = new javax.swing.JLabel();


Entonces como vez, primero se declara y luego se inicializa (hace el new) para recien comenzar a utiliza un objeto. Claro que lo puedes hacer todo en una sólo línea como lo vez en segundo caso.

Ya dependerá del ámbito de acción que deseas que tenga el objeto, es decir generalmente, se declaran a nivel de la clase, y se inicializan dentro de un método constructor los objetos. De esa forma estan disponibles para toda tú clase.
__________________
Saludos,

H@C..
  #10 (permalink)  
Antiguo 02/11/2004, 14:55
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 8 meses
Puntos: 2
muchas gracias hugo
  #11 (permalink)  
Antiguo 10/06/2005, 13:53
 
Fecha de Ingreso: abril-2004
Mensajes: 7
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola, muchachos ... saben ando en la misma que uds .. pero yo necesito poner una imágen de fondo en un Panel.

Es una clase que se extiende de Panel (extends Panel)

Como se hace para ambos casos ... gracias por ayudarme ... Saludos ..

Última edición por EstebanDj; 10/06/2005 a las 14:39
  #12 (permalink)  
Antiguo 24/08/2008, 17:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
ola hugo

k tal hugo no pude encontrarte oye tengo de casualidad sabes algun codigo para ordenar una seri de numeros almacenados en un arreglo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.