Vous êtes sur la page 1sur 21

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) char[]getPassword () METODOS voidcopy () voidcut () booleanechoCharIsSet () AccessibleContextgetAccessibleContext () ChargetEchoChar()

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 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) boolean accept(File f) void addActionListener(ActionListener l) void addChoosableFileFilter(FileFilter filter) void approveSelection() void cancelSelection() void changeToParentDirectory()

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) METODOS protected void addImpl(Component comp, Object constraints, int index) protected JRootPane createRootPane() protected void frameInit() JFrame(String title, GraphicsConfiguration gc)

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

Vous aimerez peut-être aussi