componentes basicos java swing

Upload: rodolfo-jahsel-martinez-vasquez

Post on 31-Oct-2015

204 views

Category:

Documents


4 download

TRANSCRIPT

  • COMPONENTES BASICOS JAVA SWING

    COMPONENTES BASICOS JAVA SWING POR: RODOLFO MARTINEZ

    JOHN DELGADO

  • COMPONENTES BASICOS JAVA SWING

    INTRODUCCION

    Las interfaces grficas de usuario son la cara visible de los ordenadores y tambin de otros

    tipos de dispositivos electrnicos. Ayudan al usuario a interactuar con la mquina,

    expanden el rango de aplicaciones de una computadora de forma considerable y

    representan una importante ayuda para el aprendizaje del trabajo con ordenadores.

    Adems no hay que menospreciar la importancia que han tenido en la popularizacin de

    la informtica fuera de mbitos corporativos y cientficos, al reducir la cantidad de

    conocimiento acerca de las mquinas necesaria para un uso eficaz, prctico y til de las

    mismas.

    Vamos aqu a tratar las diferentes bibliotecas grficas para JAVA, cada una con sus

    constructores y mtodos mas utilizados y con su respectiva implementacin en ejemplos.

  • COMPONENTES BASICOS JAVA SWING

    COMPONENTES BASICOS

    JTextField: En Java este componente es un importante componente visual, su funcin

    principal es manejar todos los procesos de entrada y salida (input/output) al programa.

    CONSTRUCTORES:

    JTextField()

    JTextField(String str)

    JTextField(String str, int col)

    JTextField(int col)

    MTODOS:

    void setEditable(Boolean)

    bolean isEditable()

    void SetText(String)

    String getText()

    void setFont(font)

    JPasswordField: Es un campo de texto que guarda la contrasea entrada en forma de un

    array de caracteres (char).

    CONSTRUCTORES:

    JPasswordField

    JPasswordField ( Document doc, String txt,

    int columns)

    JPasswordField (int columns)

    JPasswordField ( String text)

    JPasswordField ( String text, int columns)

    METODOS

    voidcopy ()

    voidcut ()

    booleanechoCharIsSet ()

    AccessibleContextgetAccessibleContext ()

    ChargetEchoChar()

    char[]getPassword ()

    JLabel: Es un componente sencillo para mostrar texto, imgenes o ambos. No reaccionar a

    los eventos de entrada.

    CONSTRUCTORES

    JLabel()

    JLabel(String)

    JLabel(Icon)

    JLabel(Icon, int)

    JLabel(String, Icon, int)

  • COMPONENTES BASICOS JAVA SWING

    MTODOS

    void setText(String)

    String getText()

    void setIcon(Icon)

    Icon getIcon()

    void setVerticalAllignment(int)

    void setVerticalTextPosition(int)

    JButton: Aade un botn a un panel para la interaccin del usuario con la aplicacin.

    CONSTRUCTORES

    JButton ( )

    JButton (icon imagen)

    JButton (String str)

    JButton (String str, icon image)

    MTODOS

    void setPressedIcon(Icon)

    void setRolloverIcon(Icon)

    void setEnabled(boolean)

    JCheckBox: Es un componente que tiene dos Estados. Activar y desactivar. Es un cuadro

    con una etiqueta. Si est marcada la casilla de verificacin, es representada por una marca

    en un cuadro. Una casilla de verificacin puede utilizarse para mostrar u ocultar

    splashscreen en el inicio, Conmutar visibilidad de una barra de herramientas etc.

    CONSTRUCTORES

    JCheckBox ( )

    JTextBox(String etiqueta)

    JCkeckBox(String etiqueta, boolean selecionado)

    METODOS

    isSelected()

    setSelected(boolean estado)

    JComboBox: Es un componente que combina un botn o campo editable y una lista

    desplegable. El usuario puede seleccionar un valor en la lista desplegable, que aparece en

    la solicitud del usuario. Si el cuadro combinado editables, el cuadro combinado incluye un

    campo editable en el que el usuario puede escribir un valor.

    CONSTRUCTORES

    JComboBox()

    JComboBox(ComboBoxModel)

    JComboBox(Object[])

    JComboBox(Vector)

  • COMPONENTES BASICOS JAVA SWING

    METODOS

    void addItem(Object)

    void InsertItemAt(Object, int)

    Object getItemAt(int)

    JList: Es un componente que muestra una lista de objetos. Permite al usuario seleccionar

    uno o ms elementos.

    CONSTRUCTORES

    JList()

    JList(ListModel)

    JList(Object [])

    JList(Vector)

    METODOS

    void setListData(Vector)

    void setSelectedIndices(int [])

    void setSelectionMode(int)

    void clearSelection()

    JMenu: Una barra de mens es una de las partes ms visibles de la aplicacin GUI. Es un grupo de comandos ubicados en varios mens. Mientras que en las aplicaciones de consola haba que recordar todos los comandos arcanos, aqu tenemos la mayora de los comandos agrupados en partes lgicas. CONSTRUCTORES

    JMenu(String x)

    JMenuItem(String x)

    JMenuBar()

    METODOS

    void setJMenuBar(JMenuBar)

    JMenuBar getJMenuBar()

    JToolBar: Crea una barra de herramientas en una aplicacin. CONSTRUCTORES

    JToolBar()

    JToolBar(int orientation)

    JToolBar(String name)

    JToolBar(String name, int orientation)

    METODOS

    JButton add(Action a)

    void addSeparator()

    void addSeparator(Dimension size)

    protected void addImpl(Component comp,

    Object constraints, int index)

  • COMPONENTES BASICOS JAVA SWING

    JRadioButton: Conocido tambin como botn de opcin o botn de radio es un tipo de widget

    utilizado en interfaces grficas de usuario que permite elegir una sola opcin de un conjunto

    predeterminado de estas.

    Los botones de opcin (botones de radio) se llaman as en referencia a los botones fsicos que se

    usan en los radios para seleccionar estaciones pre-ajustadas - cuando se presionaba uno de los

    botones, otro de los botones saltaba.

    CONSTRUCTORES

    JRadioButton()

    JRadioButton(String etiqueta)

    JRadioButton(String etiqueta,boolean selecionado)

    Mtodos

    isSelected()

    setSelected(boolean estado)

    DIALOGOS INTERACTIVOS Y DESPLIEGUE DE INFORMACION

    JFileChooser: es un cuadro de dilogo estndar para seleccionar un archivo del sistema de

    archivos.

    CONSTRUCTORES

    JFileChooser()

    JFileChooser(File currentDirectory)

    JFileChooser(File currentDirectory,

    FileSystemView fsv)

    JFileChooser(FileSystemView fsv)

    JFileChooser(String currentDirectoryPath)

    JFileChooser(String currentDirectoryPath,

    FileSystemView fsv)

    Metodos

    boolean accept(File f)

    void addActionListener(ActionListener l)

    void addChoosableFileFilter(FileFilter filter)

    void approveSelection()

    void cancelSelection()

    void changeToParentDirectory()

    JTable: Se utiliza para mostrar y editar tablas regulares de celdas bidimensionales.

    CONSTRUCTORES

    JTable()

    JTable(int numRows, int numColumns)

    JTable(Object[][] rowData,

    Object[] columnNames)

    JTable(TableModel dm)

    JTable(TableModel dm,

    TableColumnModel cm)

    JTable(TableModel dm,

    TableColumnModel cm,

    ListSelectionModel sm)

    JTable(Vector rowData,

    Vector columnNames)

  • COMPONENTES BASICOS JAVA SWING

    METODOS

    void addColumn(TableColumn aColumn)

    void addColumnSelectionInterval(int index0,

    int index1) void addNotify()

    void addRowSelectionInterval(int index0, int index1)

    void changeSelection(int rowIndex, int columnIndex,

    boolean toggle, boolean extend)

    void clearSelection()

    void columnAdded(TableColumnModelEvent e)

    int columnAtPoint(Point point)

    void columnMarginChanged(ChangeEvent e)

    void columnMoved(TableColumnModelEvent e)

    void columnRemoved(TableColumnModelEvent e)

    void columnSelectionChanged(ListSelectionEvent e)

    void configureEnclosingScrollPane()

    intconvertColumnIndexToModel(int viewColumnInd

    ex)

    intconvertColumnIndexToView(int modelColumnInd

    ex)

    JTree: Nos permite mostrar informacin jerrquica, es excelente para mostrar datos como

    un rbol familiar o la estructura del sistema de archivos. Utilizar un JTree es algo sencillo,

    pero no siempre es muy claro cmo llenarlo para no gastar mucha memoria y para que no

    se gaste mucho tiempo al llenarlo.

    CONSTRUCTORES

    JTree()

    JTree(Object[] value)

    JTree(TreeModel newModel)

    JTree(TreeNode root)

    JTree(TreeNode root,

    boolean asksAllowsChildren)

    JTree(Vector value)

    METODOS

    void addSelectionInterval(int index0, int index1)

    void addSelectionPath(TreePath path)

    void addSelectionPaths(TreePath[] paths)

    void addSelectionRow(int row)

    void addSelectionRows(int[] rows)

    void

    addTreeExpansionListener(TreeExpansionListener tel)

    void

    addTreeSelectionListener(TreeSelectionListener tsl)

    void

    addTreeWillExpandListener(TreeWillExpandListener tel

    )

    void cancelEditing()

    JTextArea: es un rea de varias lneas de texto que muestra texto. Es ligero componente para

    trabajar con texto. El componente no controla el desplazamiento. Para ello, utilizamos

    componentes JScrollPane. Un JScrollPane gestiona un punto de visin, barras de desplazamiento

    vertical y horizontal opcional y fila opcional y puntos de visin de encabezado de columna.

    CONSTRUCTOR

    JTextArea ()

    JTextArea ( Document doc)

    JTextArea ( Document doc, String text, int

    rows,int columns)

    JTextArea (int rows, int columns)

    JTextArea ( String text)Construye una nueva

    TextArea con el textomostrado.

    JTextArea ( String text, int rows, intcolumns)

  • COMPONENTES BASICOS JAVA SWING

    METODOS

    voidappend ( String str)

    AccessibleContextgetAccessibleContext ()

    intgetColumns ()

    protected intgetColumnWidth ()

    intgetLineCount ()

    intgetLineEndOffset (int line)

    intgetLineOfOffset (int offset)

    intgetLineStartOffset (int line)

    CONTENEDORES DE ALTO NIVEL (VENTANAS)

    JDialog: Ventanas de dilogo o cuadros de dilogo son una parte indispensable de las

    aplicaciones ms modernas de GUI. Un cuadro de dilogo se define como una

    conversacin entre dos o ms personas. En una aplicacin informtica un cuadro de

    dilogo es una ventana que se utiliza para "hablar" con la aplicacin. Un cuadro de dilogo

    se utiliza para introducir datos, modificar datos, cambiar la configuracin de la aplicacin

    etc. Los dilogos son importantes medios de comunicacin entre un usuario y un

    programa de ordenador.

    CONSTRUCTORES

    JDialog()

    JDialog(Dialog owner)

    JDialog(Dialog owner, boolean modal)

    JDialog(Dialog owner, String title)

    JDialog(Dialog owner, String title,

    boolean modal)

    METODOS

    protected void addImpl(Component comp,

    Object constraints, int index)

    protected JRootPane createRootPane()

    void dialogInit()

    AccessibleContext getAccessibleContext()

    Container getContentPane()

    int getDefaultCloseOperation()

    JFrame: Permite crear una ventana principal en la aplicacin.

    CONSTRUCTORES

    JFrame()

    JFrame(GraphicsConfiguration gc)

    JFrame(String title)

    JFrame(String title,

    GraphicsConfiguration gc)

    METODOS

    protected void addImpl(Component comp,

    Object constraints, int index)

    protected JRootPane createRootPane()

    protected void frameInit()

    AccessibleContext getAccessibleContext()

    Container getContentPane()

    int getDefaultCloseOperation()

  • COMPONENTES BASICOS JAVA SWING

    Aplicaciones de los componentes de la biblioteca swing:

    Ejemplo 1: JTextField y JPasswordField

    package pruebacampotexto; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class PruebaCampoTexto extends JFrame{ private JTextField campoTexto1, campoTexto2, campoTexto3; private JPasswordField campoContrasenia; // configurar GUI public PruebaCampoTexto() { super( "Prueba de JTextField y JPasswordField" ); Container contenedor = getContentPane(); contenedor.setLayout( new FlowLayout() ); // crear campo de texto con tamao predeterminado campoTexto1 = new JTextField( 10 ); contenedor.add( campoTexto1 ); // crear campo de texto con texto predeterminado campoTexto2 = new JTextField( "Escriba el texto aqu" ); contenedor.add( campoTexto2 ); // crear campo de texto con texto predeterminado, // 20 elementos visibles y sin manejador de eventos campoTexto3 = new JTextField( "Campo de texto no editable", 20 ); campoTexto3.setEditable( false ); campoTexto3.setToolTipText("ste campo no se edita"); contenedor.add( campoTexto3 ); // crear campo de contrasea con texto predeterminado campoContrasenia = new JPasswordField( "Texto oculto" ); contenedor.add( campoContrasenia ); // registrar manejadores de eventos ManejadorCampoTexto manejador = new ManejadorCampoTexto(); campoTexto1.addActionListener( manejador ); campoTexto2.addActionListener( manejador ); campoTexto3.addActionListener( manejador ); campoContrasenia.addActionListener( manejador ); setSize( 325, 100 ); setVisible( true ); } // fin del constructor de PruebaCampoTexto public static void main( String args[] ) { PruebaCampoTexto aplicacion = new PruebaCampoTexto(); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } // clase interna privada para el manejo de eventos private class ManejadorCampoTexto implements ActionListener {

  • COMPONENTES BASICOS JAVA SWING

    // procesar eventos de campo de texto public void actionPerformed( ActionEvent evento ) { String cadena = ""; // el usuario oprimi Intro en objeto JTextField campoTexto1 if ( evento.getSource() == campoTexto1 ) cadena = "campoTexto1: " + evento.getActionCommand(); // el usuario oprimi Intro en objeto JTextField campoTexto2 else if ( evento.getSource() == campoTexto2 ) cadena = "campoTexto2: " + evento.getActionCommand(); // el usuario oprimi Intro en objeto JTextField campoTexto3 else if ( evento.getSource() == campoTexto3 ) cadena = "campoTexto3: " + evento.getActionCommand(); // el usuario oprimi Intro en objeto JTextField campoContrasenia else if ( evento.getSource() == campoContrasenia ) { cadena = "campoContrasenia: " + new String( campoContrasenia.getPassword() ); } JOptionPane.showMessageDialog( null, cadena,"Resultados",JOptionPane.CANCEL_OPTION); } // fin del mtodo actionPerformed } // fin de la clase interna privada ManejadorCampoTexto } // fin de la clase PruebaCampoTexto

    Ejemplo 2: JDialog, JFrame, JButton y JLabel

    package dosventanas; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.WindowConstants; public class DosVentanas { private JFrame ventanaPrincipal; private JDialog ventanaSecundaria; public static void main(String[] args) { new DosVentanas(); } public DosVentanas() { // Construccin de ventana principal ventanaPrincipal = new JFrame("VENTANA PRINCIPAL"); JButton boton = new JButton("ABRIR VENTANA SECUNDARIA");

  • COMPONENTES BASICOS JAVA SWING

    ventanaPrincipal.getContentPane().add(boton); ventanaPrincipal.pack(); // Construccin de ventana secundaria ventanaSecundaria = new JDialog(ventanaPrincipal,"VENTANA SECUNDARIA"); JLabel etiqueta = new JLabel("ESTA ES LA VENTANA SECUNDARIA"); ventanaSecundaria.getContentPane().add(etiqueta); ventanaSecundaria.pack(); // Hacer que el botn abra la ventana secundaria y cierre la // principal boton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ventanaPrincipal.setVisible(false); ventanaSecundaria.setVisible(true); } }); // Hacer que al cerrarse la secundaria con la x de arriba a la // derecha, se muestre la primaria ventanaSecundaria.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { ventanaPrincipal.setVisible(true); ventanaSecundaria.setVisible(false); } public void windowClosed(WindowEvent e) { ventanaPrincipal.setVisible(true); ventanaSecundaria.setVisible(false); } }); // Mostrar la ventana principal ventanaPrincipal.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); ventanaPrincipal.setVisible(true); }}

    Ejemplo 3: JCheckBox

    package checkboxexample; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class CheckBoxExample extends JFrame implements ActionListener {

  • COMPONENTES BASICOS JAVA SWING

    public CheckBoxExample() { initUI(); } public final void initUI() { setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); add(Box.createRigidArea(new Dimension(15, 20))); JCheckBox checkbox = new JCheckBox("Show Title", true); checkbox.setFocusable(false); checkbox.addActionListener(this); add(checkbox); setSize(2800, 2000); setTitle("JCheckBox example"); setLocationRelativeTo(null); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) { JCheckBox source = (JCheckBox) e.getSource(); boolean state = source.isSelected(); if (state) { this.setTitle("JCheckbox example"); } else { this.setTitle(""); }} public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { CheckBoxExample ex = new CheckBoxExample(); ex.setVisible(true); }}); }}

    Ejemplo 4: ComboBox

    package combobx; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ComboBx { //declaracion, creacion e inicializacion de componentes, objetos y variables static JFrame ventana= new JFrame(); static JPanel p1= new JPanel(); static JPanel p2= new JPanel(); static String[] lista={"Distritos","Penonome","La Pintada","Aguadulce","Anton","Nata", "Ola"}; static JComboBox municipios = new JComboBox(lista ); static JTextField jt1=new JTextField(15); static JButton jb1= new JButton("OK");

  • COMPONENTES BASICOS JAVA SWING

    public static void main(String[] args) { // area de definicion de propiedades de el objeto ventana.setTitle("mi programa"); ventana.setDefaultCloseOperation(ventana.EXIT_ON_CLOSE); ventana.getContentPane().setLayout(new GridLayout(2,0)); //cargando panel1 con combobox y definiendo titulo p1.setLayout(new GridLayout(1,0)); //observar que index cero es el titulo (aunque es un elemento mas) municipios.setSelectedIndex(0); p1.add(municipios); //cargando segundo panel con jbutton y jtextfield p2.add(jb1); p2.add(jt1); ventana.getContentPane().add(p1); ventana.getContentPane().add(p2); ventana.pack(); ventana.setVisible(true); jb1.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e){ // la propiedad getselecteditem() regresa un objeto jt1.setText(String.valueOf( municipios.getSelectedItem() ) ); }} ); }; // termina main }

    Ejemplo 5: JList

    package jlistymas; import javax.swing.*; import java.awt.*; public class JListYMas { public static void main(String[] args) { //Creacin de la ventana JFrame ventana = new JFrame("Ejemplo JList con Scroll"); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.setBounds(200,250,300,200); ventana.setLayout(new GridLayout()); //Creacin del panel, que contendra JList JPanel panel = new JPanel(); panel.setLayout(null); //creacin de los elememtos que componen la lista String[] nombres = {"Ana","Margarita","Daniela","Divian", "Leslie","Paz","Andrea","Macarena"}; //creacin del objeto lista JList lista = new JList(nombres); //se cambia la orientacin de presentacin y el ajuste lista.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); //selecciona un elemento de la lista Object[] seleccion = lista.getSelectedValues(); //recoge el indice de los seleccionados int[] indices = lista.getSelectedIndices();

  • COMPONENTES BASICOS JAVA SWING

    // aqu se crea el objeto, es decir la barra de desplazamiento JScrollPane barraDesplazamiento = new JScrollPane(lista); barraDesplazamiento.setBounds(10,30,200,110); //Agrega la barra de desplazamiento al panel panel.add(barraDesplazamiento); ventana.add(panel); ventana.setVisible(true); } }

    Ejemplo 6: JMenu

    package simplemenu; import javax.swing.*; import java.awt.event.*; public class SimpleMenu { public static JMenuBar creaMenu() { JMenuBar menubar = new JMenuBar(); JMenu menu = new JMenu("Archivo"); JMenuItem item = new JMenuItem("Abrir"); menu.add(item); item = new JMenuItem("Salir"); menu.add(item); menubar.add(menu); menu = new JMenu("Edicion"); item = new JMenuItem("Cortar"); menu.add(item); item = new JMenuItem("Copiar"); menu.add(item); menubar.add(menu); return menubar; } public static void main(String[] args) { JFrame frame = new JFrame("Ejemplo simple de un menu"); frame.setJMenuBar(creaMenu()); frame.setSize(400, 300); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); }}); frame.setVisible(true); }}

    Ejemplo 7: JToolBar

    package barra_herramientas; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame;

  • COMPONENTES BASICOS JAVA SWING

    import javax.swing.JTextArea; import javax.swing.JToolBar; public class Barra_herramientas { public static void main(String[] args) { new Barra_herramientas();} public Barra_herramientas() { JFrame ventanaPrincipal = new JFrame("JToolBar"); //Aqu definimos el titulo que tendr JTextArea componentePrincipal = new JTextArea(25,60);//Aqu definimos el tamao de la ventana principal de la aplicacion JToolBar toolBar = getToolBar(); ventanaPrincipal.getContentPane().add(componentePrincipal); //definicion de la posicion que ocupara la barra de herramientas en la ventana principal de la aplicacion ventanaPrincipal.getContentPane().add(toolBar, BorderLayout.NORTH); //creacion de la ventana principal ventanaPrincipal.pack(); ventanaPrincipal.setLocationRelativeTo(null); ventanaPrincipal.setVisible(true); } //creacion de los botones del JToolBar private JToolBar getToolBar() { JToolBar barraBotones = new JToolBar(); barraBotones.add(new JButton("FILE")); barraBotones.add(new JButton("EDIT")); barraBotones.add(new JButton("VIEW")); barraBotones.add(new JButton("NAVIGATE")); barraBotones.add(new JButton("SOURCE")); barraBotones.add(new JButton("REFACTOR")); barraBotones.add(new JButton("RUN")); barraBotones.add(new JButton("DEBUG")); barraBotones.add(new JButton("PROFILE")); barraBotones.add(new JButton("TEARN")); barraBotones.add(new JButton("TOOLS")); barraBotones.add(new JButton("WINDOW")); barraBotones.add(new JButton("HELP")); return barraBotones; }}

    Ejemplo 8: JRadioButton

    package jradiobuttondemo; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JRadioButtonDemo extends JPanel{ static JFrame frame; JLabel jlbPicture; RadioListener myListener = null; public JRadioButtonDemo() { // Create the radio buttons and assign Keyboard shortcuts using // Mnemonics

  • COMPONENTES BASICOS JAVA SWING

    JRadioButton jrbNumbers = new JRadioButton("Numbers"); jrbNumbers.setMnemonic(KeyEvent.VK_N); jrbNumbers.setActionCommand("numbers"); jrbNumbers.setSelected(true); JRadioButton jrbAlphabets = new JRadioButton("Alphabets"); jrbAlphabets.setMnemonic(KeyEvent.VK_A); jrbAlphabets.setActionCommand("alphabets"); JRadioButton jrbSymbols = new JRadioButton("Symbols"); jrbSymbols.setMnemonic(KeyEvent.VK_S); jrbSymbols.setActionCommand("symbols"); // Group the radio buttons. ButtonGroup group = new ButtonGroup(); group.add(jrbNumbers); group.add(jrbAlphabets); group.add(jrbSymbols); // Register an action listener for the radio buttons. myListener = new RadioListener(); jrbNumbers.addActionListener(myListener); jrbAlphabets.addActionListener(myListener); jrbSymbols.addActionListener(myListener); // Put the radio buttons in a column in a panel JPanel jplRadio = new JPanel(); jplRadio.setLayout(new GridLayout(0, 1)); jplRadio.add(jrbNumbers); jplRadio.add(jrbAlphabets); jplRadio.add(jrbSymbols); setLayout(new BorderLayout()); add(jplRadio, BorderLayout.WEST); //add(jlbPicture, BorderLayout.CENTER); setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); } /* * Listens to the radio buttons. */ class RadioListener implements ActionListener { public void actionPerformed(ActionEvent e) {} } public static void main(String[] args) { // TODO code application logic here frame = new JFrame("JRadioButton Usage Demo"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.getContentPane().add(new JRadioButtonDemo(), BorderLayout.CENTER); frame.pack(); frame.setVisible(true); }}

  • COMPONENTES BASICOS JAVA SWING

    Ejemplo 9: JFile chooser

    package ejemplo; import javax.swing.JFileChooser; public class Ejemplo { public static void main(String[] args) { //Creamos selector de apertura JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new java.io.File(".")); //Titulo que llevara la ventana chooser.setDialogTitle("Ejemplo de JFileChosser"); //Elegiremos archivos del directorio chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.setAcceptAllFileFilterUsed(false); //Si seleccionamos algn archivo retornaremos su directorio if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { System.out.println("Directorio: " + chooser.getCurrentDirectory()); //Si no seleccionamos nada retornaremos No seleccion } else { System.out.println("No seleccion "); } }}

    Ejemplo 10: JTable

    package ejemplojtable; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class EjemploJTable extends JFrame{ public EjemploJTable() { setTitle("Ejemplo"); JPanel panel = new JPanel(new BorderLayout()); panel.add(getPanelTexto(),BorderLayout.NORTH); panel.add(getPanelTabla(),BorderLayout.CENTER); setContentPane(panel); setVisible(true); pack(); } private JTable tabla; private DefaultTableModel model; //Construye el panel con la tabla de datos private JScrollPane getPanelTabla() { String[] columnas = { "Mes","Cantidad" }; Object[][] datos = { { "Enero","10" }, { "Febrero","23" }, { "Marzo","14" },

  • COMPONENTES BASICOS JAVA SWING

    { "Abril","26" } }; model = new DefaultTableModel(datos,columnas); tabla = new JTable(model); JScrollPane scrol = new JScrollPane(tabla); return scrol; } private JTextField txtMes,txtCantidad; //Construye el panel con los controles y los botones private JPanel getPanelTexto() { //Se crea un panel como una matriz de 2 filas por 3 columnas JPanel panelTexto = new JPanel(new GridLayout(2,3)); JLabel lbMes = new JLabel("Mes"); txtMes = new JTextField(""); JLabel lbCantidad = new JLabel("Cantidad"); txtCantidad = new JTextField(""); JButton btnAgregar = new JButton("Agregar"); ButtonAgregarListener agregarListener = new ButtonAgregarListener(); btnAgregar.addActionListener(agregarListener); JButton btnQuitar = new JButton("Quitar"); ButtonQuitarListener quitarListener = new ButtonQuitarListener(); btnQuitar.addActionListener(quitarListener); //Estos controles se ubican en la primer fila panelTexto.add(lbMes); panelTexto.add(txtMes); panelTexto.add(btnAgregar); //Estos se ubican en la segunda fila panelTexto.add(lbCantidad); panelTexto.add(txtCantidad); panelTexto.add(btnQuitar); //Se agrega panelTexto a un panel con FlowLayout para que mantenga la proporcion JPanel panel = new JPanel(new FlowLayout()); panel.add(panelTexto); return panel; } public static void main(String[] args) { EjemploJTable frame = new EjemploJTable(); } public class ButtonAgregarListener implements ActionListener { public void actionPerformed(ActionEvent e) { //Se obtienen el contenido de las cajas de texto String mes = txtMes.getText(); String cantidad = txtMes.getText(); //se crea una array de String que sea la fila que agregaremos al modelo de la tabla String[] fila = new String[2]; //Asignamos a cada columna su valor correspondiente fila[0] = mes; fila[1] = cantidad; //Agregamos la fila al modelo model.addRow(fila); //Vaciamos los controles txtMes.setText("");

  • COMPONENTES BASICOS JAVA SWING

    txtCantidad.setText(""); } } public class ButtonQuitarListener implements ActionListener { public void actionPerformed(ActionEvent e) { //Obtenemos la cantidad de filas seleccionadas de la tabla int cantidadFilasSeleccionadas = tabla.getSelectedRowCount(); if(cantidadFilasSeleccionadas > 0) { //Obtenemos cual es el nro. de fila que se selecciono int nroFila = tabla.getSelectedRow(); //Quitamos esa fila del modelo model.removeRow(nroFila); } } } }

    Ejemplo 11: JTree

    package arbol; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.WindowConstants; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; //Clase de ejemplo sencillo de uso del JTree public class Arbol { public static void main(String[] args) { // Construccion del arbol DefaultMutableTreeNode padre = new DefaultMutableTreeNode("JAH"); DefaultTreeModel modelo = new DefaultTreeModel(padre); JTree tree = new JTree(modelo); // Construccion de los datos del arbol DefaultMutableTreeNode hijo1_padre = new DefaultMutableTreeNode("JAHSEL"); modelo.insertNodeInto(hijo1_padre, padre, 0); DefaultMutableTreeNode hijo_jahsel = new DefaultMutableTreeNode("MAKEDA"); modelo.insertNodeInto(hijo_jahsel, hijo1_padre, 0); DefaultMutableTreeNode hijo2_padre = new DefaultMutableTreeNode("JAH HEM"); modelo.insertNodeInto(hijo2_padre, padre, 1); DefaultMutableTreeNode hijo_jah_hem = new DefaultMutableTreeNode("ALAINE"); modelo.insertNodeInto(hijo_jah_hem, hijo2_padre, 0); DefaultMutableTreeNode hijo3_padre = new DefaultMutableTreeNode("JAH CURE"); modelo.insertNodeInto(hijo3_padre, padre, 2); DefaultMutableTreeNode hijo1_jah_cure = new DefaultMutableTreeNode("CECILE"); modelo.insertNodeInto(hijo1_jah_cure, hijo3_padre, 0); DefaultMutableTreeNode hijo1_cecile = new DefaultMutableTreeNode("SHERROL"); modelo.insertNodeInto(hijo1_cecile, hijo1_jah_cure, 0); DefaultMutableTreeNode hijo2_jah_cure = new DefaultMutableTreeNode("DA'VILLE"); modelo.insertNodeInto(hijo2_jah_cure, hijo3_padre, 1);

  • COMPONENTES BASICOS JAVA SWING

    DefaultMutableTreeNode hijo1_daville = new DefaultMutableTreeNode("CALI_P"); modelo.insertNodeInto(hijo1_daville, hijo2_jah_cure, 0); // Construccion y visualizacion de la ventana JFrame arbol = new JFrame ("JTree"); JScrollPane scroll = new JScrollPane(tree); v.getContentPane().add(scroll); v.pack(); v.setVisible(true); v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } }

    Ejemplo 12: JTextArea

    package demoareatexto; // Cmo copiar texto seleccionado de un rea de texto a otra. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class DemoAreaTexto extends JFrame{ private JTextArea areaTexto1, areaTexto2; private JButton botonCopiar; // configurar GUI public DemoAreaTexto() { super( "Demostracin de JTextArea" ); Box cuadro = Box.createHorizontalBox(); String cadena = "sta es una cadena de\ndemostracin para\n" + "ilustrar cmo copiar texto\nde un rea de texto a \n" + "otra, utilizando un\nevento externo"; // establecer areaTexto1 areaTexto1 = new JTextArea( cadena, 10, 15 ); cuadro.add( new JScrollPane( areaTexto1 ) ); // establecer botonCopiar botonCopiar = new JButton( "Copiar >>>" ); cuadro.add( botonCopiar ); botonCopiar.addActionListener( new ActionListener() { // clase interna annima // establecer en areaTexto2 el texto seleccionado de areaTexto1 public void actionPerformed( ActionEvent evento ) { areaTexto2.append( areaTexto1.getSelectedText() ); } } // fin de la clase interna annima ); // fin de la llamada a addActionListener // establecer areaTexto2 areaTexto2 = new JTextArea( 10, 15 ); areaTexto2.setEditable( false );

  • COMPONENTES BASICOS JAVA SWING

    cuadro.add( new JScrollPane( areaTexto2 ) ); // agregar cuadro al panel de contenido Container contenedor = getContentPane(); contenedor.add( cuadro ); // colocar en in BorderLayout.CENTER setSize( 425, 200 ); setVisible( true ); } // fin del constructor de DemoAreaTexto public static void main(String[] args) { // TODO code application logic here DemoAreaTexto aplicacion = new DemoAreaTexto(); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); }}// fin de la clase DemoAreaTexto