viernes, 11 de mayo de 2012

Resumen Java Tema GUI (Graphical User Interface)

Contenedores (agrupan controles)
    Layouts (establecen el orden de los componentes)
        Componentes (elementos gráficos)

       
Se producirán eventos (ratón, teclado), que serán recibidos por los Listeners que lanzarán el Handler (manejador) con el código a ejecutar:
        EVENTO(ActionEvent), OYENTE(ActionListener), MÉTODO(actionPerformed), COMPONENTES(JButton)

       
       
CONTENEDORES:
-JWindow: Ventana sin título ni borde
-JFrame: Marco con borde y título. Puede tener una barra de menú.
-JDialog: Ventana completa propia que no puede existir sin un JFrame como padre.
-JApplet: Permite crear un applet swing (aplicaciones web java que se ejecutan en el navegador).
-JPanel: Contenedor intermedio genérico de Componentes.

    .getContentPane() permite acceder al padre y add(boton) le añade componentes.

   
   
LAYOUTS:
-BorderLayout: colocamos los elementos en North, South, East, West, y Center. Es el Default de JFrame y JDialog.
-GridLayout: se colocan en una rejilla de dimensiones x*y
-FlowLayout: los elementos van seguidos en fila uno tras otro.
-NullLayout: tenemos que especificar a mano las coordenadas de cada componente.


   
COMPONENTES: javax.swing.JComponent es la clase base de Swing
    JLabel: setText(), setFont()
    JButton: produce ActionEvent, addActionListener(actionPerformed que implemente la interfaz ActionListener)
    JTextArea, JTextField, JPasswordField: campos para escribir líneas, textos o contraseñas. getText() y setText()
    JComboBox: desplegables con elementos para seleccionar. setEditable(bool). Igual que JButton= ActionListener, addActionListener(), actionPerformed()
    JList: Listas de items para seleccionar uno o varios. Produce ListSelectionEvent->addListSelectionListener()->valueChanged()
    JScrollPane: desplazador para moverse por mas contenidos.
    JCheckBox: Cuadrados marcables, producen  ItemEvent->ItemListener->itemStateChanged(), addItemListener()
    JRadioButton: Selectores de opciones únicas, se agrupan en ButtonGroup.add(), funcionan igual que botones.
   
        .setToolTipText("texto info") para añadir una nota emergente con información.
       
    Menus:
        JMenuBar: la barra en la que se colocan los menus
        JMenu: componente menu que al ser pulsado desplegará opciones. addSeparator()
        JMenuItem: Cada elemento que contendrá el menu. Igual que los botones
   
   
   
   
    JToolBar: Barras de Herramientas movibles y acoplables, con JButton con texto o iconos. addSeparator()
   
    JTabbedPane: tendrá pestañas que contendrán JPanel con contenido. addTab(), setSelectedIndex()
   
    -JFileChooser: nos permite la selección para apertura o guardado de un fichero. Es modal, con showOpenDialog y showSaveDialog().
    -JFormattedTextField: permite forzar formatos básicos en texto mediante máscaras (fechas, monedas) en conjunto con InputVerifier.
    -JSpinner: rota entre unos valores con un orden mostrando únicamente uno. SpinnerListModel(array), SpinnerNumberModel para números y SpinnerDateModel para fechas.
    -JTable: Tablas para mostrar datos en una rejilla de columnas y filas. Se construyen con arrays y permiten edición.
    -AbstractBorder: implementa interfaz Border y permite marcar bordes.
   
    JOptionPane: para mostrar diálogos de opciones, se captura el resultado y se analiza.
        .showConfirmDialog( Si, No, Cancelar)
        .showInputDialog( recoge un texto en un textbox y lo devuelve)
        .showMessageDialog( para errores, avisos, información)
        .showOptionDialog( combinación de los 3 anteriores)
       
       
       
*Podemos determinar el aspecto de la aplicación (metal, motif, windows) con:
    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel";

No hay comentarios: