2017 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA
|
|
|
- Esther Sáez Mora
- hace 8 años
- Vistas:
Transcripción
1 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA Ings. Mario Bressano & Miguel Iwanow ENVÍO 07/2017
2 EJERCICIO Nº 58 En este ejercicio se aprecia cómo se obtiene las coordenadas del mouse cuando se acciona y que botón lo hace. // FuncionRaton.java // Muestra el click del mouse en coordenadas y distingue entre los botones del mismo import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FuncionRaton extends JFrame private int xpos, ypos; // Configuramos la barra de estado, registramos la escucha del mouse ; Tamaño y mostrar windows public FuncionRaton() super( "Click de mouse y botones" ); addmouselistener( new MouseClickHandler() ); setsize( 350, 450 ); setvisible( true ); // Dibujamos la cadena de caracteres y ubicamos las coordenadas de donde se cliquea el mouse public void paint( Graphics g ) // Llamamos a la superclase del método Paint super.paint( g ); g.drawstring( "Cliquea en la posición [" + xpos + ", " + ypos + "]", xpos, ypos ); public static void main( String args[] ) FuncionRaton application = new FuncionRaton(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // Clase interna manejadora de los eventos del mouse private class MouseClickHandler extends MouseAdapter // Manejador del evento click del mouse, se establece con que botón se Cliquea public void mouseclicked( MouseEvent event ) Práctica Resuelta - Página 2 de 36 (Mario Bressano / Miguel Iwanow)
3 xpos = event.getx(); ypos = event.gety(); String title = "Se cliquea " + event.getclickcount() + " vez(ces) con el botón"; if ( event.ismetadown() ) // botón derecho title += " derecho"; else if ( event.isaltdown() ) // botón del centro title += " del centro "; else // botón izquierdo title += " izquierdo "; settitle( title ); // se configura lo que se va a visualizar en la barra de títulos repaint(); EJERCICIO Nº 59 En este ejercicio se aprecia como al presionar teclas, las mismas modifican la ejecución de la aplicación. // DemoTecla.java //Funcionamiento de eventos producidos por teclas. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class DemoTecla extends JFrame implements KeyListener private String line1 = "", line2 = "", line3 = ""; private JTextArea textarea; public static void main( String args[] ) DemoTecla application = new DemoTecla(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // Configuración GUI public DemoTecla() super( " Funcionamiento de eventos producidos por teclas " ); Práctica Resuelta - Página 3 de 36 (Mario Bressano / Miguel Iwanow)
4 // Configurar JTextArea textarea = new JTextArea( 10, 15 ); textarea.settext( "Presionar alguna tecla del teclado.." ); textarea.setenabled( false ); textarea.setdisabledtextcolor( Color.BLACK ); getcontentpane().add( textarea ); addkeylistener( this ); // En el marco se tratan los eventos de las teclas setsize( 350, 100 ); setvisible( true ); // Manejador de presionar una tecla public void keypressed( KeyEvent event ) line1 = "Tecla presionada..: " + event.getkeytext( event.getkeycode() ); setlines2and3( event ); // Manejador de dejar de presionar una tecla public void keyreleased( KeyEvent event ) line1 = "Tecla dejada de presionar..: " + event.getkeytext( event.getkeycode() ); setlines2and3( event ); // Manejador de tecla presionada y su acción public void keytyped( KeyEvent event ) line1 = "Tecla tipeada : " + event.getkeychar(); setlines2and3( event ); // configurar segunda y tercera línea de salida private void setlines2and3( KeyEvent event ) line2 = "Esta tecla es " + ( event.isactionkey()? "" : "no " ) + "una tecla de acción"; String temp = event.getkeymodifierstext( event.getmodifiers() ); line3 = "Modifican las teclas presionadas: " + ( temp.equals( "" )? "no" : temp ); textarea.settext( line1 + "\n" + line2 + "\n" + line3 + "\n" ); Práctica Resuelta - Página 4 de 36 (Mario Bressano / Miguel Iwanow)
5 EJERCICIO Nº 60 En este ejercicio se aprecia cómo se usa FlowLayout // FlowLayoutDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FlowLayoutDemo extends JFrame private JButton BotonIzquierdo, BotonCentral, BotonDerecho; private Container container; private FlowLayout layout; public static void main( String args[] ) FlowLayoutDemo application = new FlowLayoutDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // Configurar GUI y registrar escucha de botones public FlowLayoutDemo() super( "Funcionamiento de FlowLayout ); layout = new FlowLayout(); // Tomar un content pane y configurar el layout container = getcontentpane(); container.setlayout( layout ); // Configurar BotonIzquierdo y registrar la escucha BotonIzquierdo = new JButton( "Izquierdo" ); container.add( BotonIzquierdo ); BotonIzquierdo.addActionListener( new ActionListener() // Clase interna anónima // Procesar evento BotonIzquierdo public void actionperformed( ActionEvent event ) layout.setalignment( FlowLayout.LEFT ); // Realineación de components atachados layout.layoutcontainer( container ); Práctica Resuelta - Página 5 de 36 (Mario Bressano / Miguel Iwanow)
6 ); // Configurar BotonCentral y registrar la escucha BotonCentral = new JButton( "Centro" ); container.add( BotonCentral ); BotonCentral.addActionListener( ); new ActionListener() // Clase interna anónima // Procesar evento BotonCentral public void actionperformed( ActionEvent event ) layout.setalignment( FlowLayout.CENTER ); // Realineación de components atachados layout.layoutcontainer( container ); // Configurar BotonDerecho y registrar la escucha BotonDerecho = new JButton( "Derecho" ); container.add( BotonDerecho ); BotonDerecho.addActionListener( new ActionListener() // Clase interna anónima // Procesar evento BotonDerecho public void actionperformed( ActionEvent event ) layout.setalignment( FlowLayout.RIGHT ); ); // Realineación de components atachados layout.layoutcontainer( container ); setsize( 300, 75 ); setvisible( true ); // fin constructor FlowLayoutDemo EJERCICIO Nº 61 En este ejercicio se aprecia cómo se usa BorderLayout Práctica Resuelta - Página 6 de 36 (Mario Bressano / Miguel Iwanow)
7 Importante: Cuando se añade un componente a un contenedor que usa BorderLayout, se especifica la localización específica del componente como uno de los argumentos del método add. No esperes que un componente sea añadido al centro, por defecto. Si encontramos que un componente ha desaparecido de un contenedor controlador por un BorderLayout, debemos asegurarnos de que hemos especificado la localización del componente y de que no hemos puesto otro componente en la misma localización. Todos nuestros ejemplos que usan BorderLayout especifican el componente como el primer argumento del método add. Por ejemplo. add(component, BorderLayout.CENTER) Sin embargo, podríamos ver el código de otros programas que especifican el componente en segundo lugar. Por ejemplo, esto sería una alternativa al código anterior. add(borderlayout.center, component) //valido pero pasado de moda o add("center", component) //valido pero propenso a errores Por defecto, un BorderLayout no pone espacios entre los componentes que maneja. En el applet anterior, cualquier espacio aparente es el resultado del espacio extra que reserva JButton alrededor de su área. Podemos especificar los bordes (en píxeles) usando el siguiente constructor. public BorderLayout(int horizontalgap, int verticalgap) // BorderLayoutDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BorderLayoutDemo extends JFrame implements ActionListener private JButton buttons[]; private final String names[] = "Esconder Norte", "Esconder Sur", "Esconder Este", "Esconder Oeste", "Esconder Centro" ; private BorderLayout layout; public static void main( String args[] ) BorderLayoutDemo application = new BorderLayoutDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // Configurar GUI y manejador de eventos public BorderLayoutDemo() Práctica Resuelta - Página 7 de 36 (Mario Bressano / Miguel Iwanow)
8 super( "Funcionamiento de BorderLayout" ); layout = new BorderLayout( 5, 5 ); // espacios de 5 pixeles // Definir el panel contenedor y asignarle el layout Container container = getcontentpane(); container.setlayout( layout ); // Instanciar los objetos botones buttons = new JButton[ names.length ]; for ( int count = 0; count < names.length; count++ ) buttons[ count ] = new JButton( names[ count ] ); buttons[ count ].addactionlistener( this ); // Colocar botones en el BorderLayout; el orden no es importante container.add( buttons[ 0 ], BorderLayout.NORTH ); container.add( buttons[ 1 ], BorderLayout.SOUTH ); container.add( buttons[ 2 ], BorderLayout.EAST ); container.add( buttons[ 3 ], BorderLayout.WEST ); container.add( buttons[ 4 ], BorderLayout.CENTER ); setsize( 300, 200 ); setvisible( true ); // fin del constructor de BorderLayoutDemo // Manejador de eventos de botones public void actionperformed( ActionEvent event ) for ( int count = 0; count < buttons.length; count++ ) if ( event.getsource() == buttons[ count ] ) buttons[ count ].setvisible( false ); else buttons[ count ].setvisible( true ); // Se reconfigura el layout del panel contenedor layout.layoutcontainer( getcontentpane() ); EJERCICIO Nº 62 En este ejercicio se aprecia cómo se usa GridLayout Práctica Resuelta - Página 8 de 36 (Mario Bressano / Miguel Iwanow)
9 Importante: Un GridLayout sitúa los componentes en una parrilla de celdas. Cada componente toma todo el espacio disponible dentro de su celda, y cada celda es exactamente del mismo tamaño. Si redimensionamos la ventana GridLayout, veremos que el GridLayout cambia el tamaño de celda para todas sean lo más grande posible, dando el espacio disponible al contenedor. Abajo tenemos el código quecrea el GridLayout y los componentes que maneja. (Aquí está el programa completo. El programa corre como un applet, con la ayuda de AppletButton, o como una aplicación.) Container contentpane = getcontentpane(); contentpane.setlayout(new GridLayout(0,2)); contentpane.add(new JButton("Button 1")); contentpane.add(new JButton("2")); contentpane.add(new JButton("Button 3")); contentpane.add(new JButton("Long-Named Button 4")); contentpane.add(new JButton("Button 5")); El constructor le dice a la clase GridLayout que cree un ejemplar que tenga dos columnas y tantas filas como sean necesarias. Es uno de los dos constructores de GridLayout. Aquí podemos ver los dos juntos. public GridLayout(int rows, int columns) public GridLayout(int rows, int columns, int horizontalgap, int verticalgap) Al menos uno de los argumentos rows y columns deben ser distintos de cero. Los argumentos horizontalgap y verticalgap del segundo constructor permiten especificar el número de píxeles entre celdas. // GridLayoutDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GridLayoutDemo extends JFrame implements ActionListener private JButton buttons[]; private final String names[] = "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis" ; private boolean toggle = true; private Container container; private GridLayout grid1, grid2; Práctica Resuelta - Página 9 de 36 (Mario Bressano / Miguel Iwanow)
10 public static void main( String args[] ) GridLayoutDemo application = new GridLayoutDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); //Configurar GUI public GridLayoutDemo() super( "Funcionamiento GridLayout" ); // Configurar Layout grid1 = new GridLayout( 2, 3, 5, 5 );//2 filas, 3 columnas y espaciado de 5 píxeles grid2 = new GridLayout( 3, 2 ); // Definir el panel contenedor y asignarle el layout container = getcontentpane(); container.setlayout( grid1 ); // Crear y adicionar botones buttons = new JButton[ names.length ]; for ( int count = 0; count < names.length; count++ ) buttons[ count ] = new JButton( names[ count ] ); buttons[ count ].addactionlistener( this ); container.add( buttons[ count ] ); setsize( 300, 150 ); setvisible( true ); //Fin del constructor GridLayoutDemo // Manejador de eventos de botones entre layouts public void actionperformed( ActionEvent event ) if ( toggle ) container.setlayout( grid2 ); else container.setlayout( grid1 ); toggle =!toggle; // Configurar con el valor opuesto container.validate(); Práctica Resuelta - Página 10 de 36 (Mario Bressano / Miguel Iwanow)
11 EJERCICIO Nº 63 En este ejercicio se aprecia como se usa un panel con botones (barra de botones) con PanelDemo //PanelDemo.java //Usando un JPanel para ayudar a capas y sus componentes. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class PanelDemo extends JFrame private JPanel buttonpanel; private JButton buttons[]; // Configurar GUI public PanelDemo() super( "Ejemplo de Panel" ); // Definimos el contenedor content pane Container container = getcontentpane(); // Creamos matriz de botones buttons = new JButton[ 5 ]; // Configuramos el panel y su layout buttonpanel = new JPanel(); buttonpanel.setlayout( new GridLayout( 1, buttons.length ) ); // Creamos y adicionamos for ( int count = 0; count < buttons.length; count++ ) buttons[ count ] = new JButton( "Button " + ( count + 1 ) ); buttonpanel.add( buttons[ count ] ); container.add( buttonpanel, BorderLayout.SOUTH ); setsize( 425, 150 ); setvisible( true ); // fin del constructor PanelDemo public static void main( String args[] ) PanelDemo application = new PanelDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); Práctica Resuelta - Página 11 de 36 (Mario Bressano / Miguel Iwanow)
12 EJERCICIO Nº 64 En este ejercicio se aprecia cómo se usa TextArea usando la copia de seleccionado de un área a otra. // TextAreaDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TextAreaDemo extends JFrame private JTextArea textarea1, textarea2; private JButton copybutton; // Configurar GUI public TextAreaDemo() super( "Muestra TextArea" ); Box box = Box.createHorizontalBox(); String string = "Esto es una muestra de como\n" + "copiar texto\nde un area a \n" + "otra area usando un\nevento externo\n"; //Configurar textarea1 textarea1 = new JTextArea( string, 10, 15 ); box.add( new JScrollPane( textarea1 ) ); // Configurar el Botón de copiado copybutton = new JButton( "Copiar ->>" ); box.add( copybutton ); copybutton.addactionlistener( Práctica Resuelta - Página 12 de 36 (Mario Bressano / Miguel Iwanow)
13 new ActionListener() // clase interna anónima // Configurar la textarea2 para seleccionar el texto desde la textarea1 public void actionperformed( ActionEvent event ) textarea2.settext( textarea1.getselectedtext() ); // fin de la clase anónima ); // fin de la llamada addactionlistener // Configurar textarea2 textarea2 = new JTextArea( 10, 15 ); textarea2.seteditable( false ); box.add( new JScrollPane( textarea2 ) ); // Adicionar una caja en el panel contenedor Container container = getcontentpane(); container.add( box ); // colocar en BorderLayout.CENTER setsize( 425, 200 ); setvisible( true ); // fin del constructor TextAreaDemo public static void main( String args[] ) TextAreaDemo application = new TextAreaDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); Práctica Resuelta - Página 13 de 36 (Mario Bressano / Miguel Iwanow)
14 EJERCICIO Nº 65 En este ejercicio se aprecia cómo se puede confeccionar un Menú. // MenuTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MenuTest extends JFrame private final Color colorvalues[] = Color.black, Color.blue, Color.red, Color.green ; private JRadioButtonMenuItem coloritems[], fonts[]; private JCheckBoxMenuItem styleitems[]; private JLabel displaylabel; private ButtonGroup fontgroup, colorgroup; private int style; // Configurar GUI public MenuTest() super( "Usando JMenus" ); // Configurar el File menu y sus ítems JMenu filemenu = new JMenu( "Archivo" ); filemenu.setmnemonic( 'A' ); // Configurar el Acerca de... (ítem del menú) JMenuItem aboutitem = new JMenuItem( "Acerca de..." ); aboutitem.setmnemonic( 'c' ); filemenu.add( aboutitem ); aboutitem.addactionlistener( new ActionListener() //clase interna anónima Práctica Resuelta - Página 14 de 36 (Mario Bressano / Miguel Iwanow)
15 // Visualización del mensaje de diálogo que aparece cuando se selecciona Acerca de.. public void actionperformed( ActionEvent event ) JOptionPane.showMessageDialog( MenuTest.this, "Este es un ejemplo\ndel uso de menu", "Acerca de..", JOptionPane.PLAIN_MESSAGE ); //fin de la clase anónima ); // fin de la llamada a addactionlistener // Confirar el menu Salida JMenuItem exititem = new JMenuItem( "Salir" ); exititem.setmnemonic( 'S' ); filemenu.add( exititem ); exititem.addactionlistener( new ActionListener() // clase interna anónima // termina aplicación cuando se usa el ítem Salir public void actionperformed( ActionEvent event ) System.exit( 0 ); // fin de la clase anónima ); //fin de la llamada a addactionlistener // Crear una barra de menú y adjuntarla en la ventana del MenuTest JMenuBar bar = new JMenuBar(); setjmenubar( bar ); bar.add( filemenu ); Práctica Resuelta - Página 15 de 36 (Mario Bressano / Miguel Iwanow)
16 // Crear menú Format y los ítems del sumenú JMenu formatmenu = new JMenu( "Formato" ); formatmenu.setmnemonic( 'F' ); // Crear submenú Color String colors[] = "Negro", "Azul", "Rojo", "Verde" ; JMenu colormenu = new JMenu( "Colores" ); colormenu.setmnemonic( 'C' ); coloritems = new JRadioButtonMenuItem[ colors.length ]; colorgroup = new ButtonGroup(); ItemHandler itemhandler = new ItemHandler(); // Crear los radio button de color para los items de menú for ( int count = 0; count < colors.length; count++ ) coloritems[ count ] = new JRadioButtonMenuItem( colors[ count ] ); colormenu.add( coloritems[ count ] ); colorgroup.add( coloritems[ count ] ); coloritems[ count ].addactionlistener( itemhandler ); // Seleccionar el primer ítem del menú Color coloritems[ 0 ].setselected( true ); // Adicionar el menú format a la barra de menú formatmenu.add( colormenu ); formatmenu.addseparator(); // Crear el submenú Fuentes String fontnames[] = "Serif", "Espacio Simple", "SansSerif" ; JMenu fontmenu = new JMenu( "Fuente" ); fontmenu.setmnemonic( 'n' ); Práctica Resuelta - Página 16 de 36 (Mario Bressano / Miguel Iwanow)
17 fonts = new JRadioButtonMenuItem[ fontnames.length ]; fontgroup = new ButtonGroup(); // Crear los botones de radio de Font radio for ( int count = 0; count < fonts.length; count++ ) fonts[ count ] = new JRadioButtonMenuItem( fontnames[ count ] ); fontmenu.add( fonts[ count ] ); fontgroup.add( fonts[ count ] ); fonts[ count ].addactionlistener( itemhandler ); // Seleccionar el primer ítem del menú Font fonts[ 0 ].setselected( true ); fontmenu.addseparator(); // Configurar ítem Estilo String stylenames[] = "Negrita", "Cursiva" ; styleitems = new JCheckBoxMenuItem[ stylenames.length ]; StyleHandler stylehandler = new StyleHandler(); // Crear checkbox ítems de estilo for ( int count = 0; count < stylenames.length; count++ ) styleitems[ count ] = new JCheckBoxMenuItem( stylenames[ count ] ); fontmenu.add( styleitems[ count ] ); styleitems[ count ].additemlistener( stylehandler ); // Adicionar el menú Font menú en el menú Format formatmenu.add( fontmenu ); // Adicionar el menu Format en la barra de menú bar.add( formatmenu ); Práctica Resuelta - Página 17 de 36 (Mario Bressano / Miguel Iwanow)
18 // Configurar la etiqueta para mostrar texto displaylabel = new JLabel( "Texto de Ejemplo", SwingConstants.CENTER ); displaylabel.setforeground( colorvalues[ 0 ] ); displaylabel.setfont( new Font( "Serif", Font.PLAIN, 72 ) ); getcontentpane().setbackground( Color.CYAN ); getcontentpane().add( displaylabel, BorderLayout.CENTER ); setsize( 500, 200 ); setvisible( true ); // fin del constructor public static void main( String args[] ) MenuTest application = new MenuTest(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // clase interna para manejar los eventos de los ítems del menú private class ItemHandler implements ActionListener // procesar colores en las selecciones de la fuente public void actionperformed( ActionEvent event ) for ( int count = 0; count < coloritems.length; count++ ) if ( coloritems[ count ].isselected() ) displaylabel.setforeground( colorvalues[ count ] ); break; // procesar selección de fuentes for ( int count = 0; count < fonts.length; count++ ) Práctica Resuelta - Página 18 de 36 (Mario Bressano / Miguel Iwanow)
19 if ( event.getsource() == fonts[ count ] ) displaylabel.setfont( new Font( fonts[ count ].gettext(), style, 72 ) ); break; repaint(); // fin del método actionperformed //fin de la clase ItemHandler // clase interna para manejar los eventos de los check box del menú private class StyleHandler implements ItemListener // procesar la selección de estilos de fuentes public void itemstatechanged( ItemEvent e ) style = 0; // chequeo de la selección de fuente negrita if ( styleitems[ 0 ].isselected() ) style += Font.BOLD; //chequeo de la selección en cursiva if ( styleitems[ 1 ].isselected() ) style += Font.ITALIC; displaylabel.setfont( new Font( displaylabel.getfont().getname(), style, 72 ) ); repaint(); // fin de la clase StyleHandler Práctica Resuelta - Página 19 de 36 (Mario Bressano / Miguel Iwanow)
20 EJERCICIO Nº 66 En este ejercicio se aprecia cómo se puede manejar el Look and Feel. Existen manejos de errores que se explicarán en próximas clases. // LookAndFeelDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LookAndFeelDemo extends JFrame private final String strings[] = "Metal", "Motif", "Windows" ; private UIManager.LookAndFeelInfo looks[]; private JRadioButton radio[]; private ButtonGroup group; private JButton button; private JLabel label; private JComboBox combobox; // Configurar GUI public LookAndFeelDemo() super( "Demo del Look and Feel" ); Container container = getcontentpane(); // Configurar el panel norte del BorderLayout JPanel northpanel = new JPanel(); northpanel.setlayout( new GridLayout( 3, 1, 0, 5 ) ); // Configurar la etiqueta del panel norte Práctica Resuelta - Página 20 de 36 (Mario Bressano / Miguel Iwanow)
21 label = new JLabel( "Este es el look-and-feel", SwingConstants.CENTER ); northpanel.add( label ); // Configurar el botón para el panel norte button = new JButton( "Botón" ); northpanel.add( button ); // configurar el combo box para el panel norte combobox = new JComboBox( strings ); northpanel.add( combobox ); // Crear una matriz para los botones de radio radio = new JRadioButton[ strings.length ]; // Configurar el panel sur del BorderLayout JPanel southpanel = new JPanel(); southpanel.setlayout( new GridLayout( 1, radio.length ) ); // configurar los botones del panel sur group = new ButtonGroup(); ItemHandler handler = new ItemHandler(); for ( int count = 0; count < radio.length; count++ ) radio[ count ] = new JRadioButton( strings[ count ] ); radio[ count ].additemlistener( handler ); group.add( radio[ count ] ); southpanel.add( radio[ count ] ); // adicionar NORTE Y SUR a content pane container.add( northpanel, BorderLayout.NORTH ); container.add( southpanel, BorderLayout.SOUTH ); // Tomar la información instalada del look-and-feel looks = UIManager.getInstalledLookAndFeels(); Práctica Resuelta - Página 21 de 36 (Mario Bressano / Miguel Iwanow)
22 setsize( 300, 200 ); setvisible( true ); radio[ 0 ].setselected( true ); // fin del constructor LookAndFeelDemo // Usar UIManager para cambiar el look-and-feel del GUI private void changethelookandfeel( int value ) // cambiar el look and feel try UIManager.setLookAndFeel( looks[ value ].getclassname() ); SwingUtilities.updateComponentTreeUI( this ); // Procesar si hay problemas en los cambios del look and feel catch ( Exception exception ) exception.printstacktrace(); public static void main( String args[] ) LookAndFeelDemo application = new LookAndFeelDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // clase interna para el manejo de eventos de los radio button private class ItemHandler implements ItemListener // procesos del uso en la selección del look-and-feel public void itemstatechanged( ItemEvent event ) for ( int count = 0; count < radio.length; count++ ) Práctica Resuelta - Página 22 de 36 (Mario Bressano / Miguel Iwanow)
23 if ( radio[ count ].isselected() ) label.settext( "Esto es un " + strings[ count ] + " look-and-feel" ); combobox.setselectedindex( count ); changethelookandfeel( count ); // fin de la clase interna ItemHandler EJERCICIO Nº 67 En este ejercicio se aprecia cómo se puede manejar el JDesktopPane // DesktopTest.java // Muestra de JDesktopPane. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class DesktopTest extends JFrame private JDesktopPane thedesktop; // Configurar GUI public DesktopTest() super( "Usando un JDesktopPane" ); // Crear barra de menú y los ítems del menú JMenuBar bar = new JMenuBar(); JMenu addmenu = new JMenu( "Agregar" ); JMenuItem newframe = new JMenuItem( "Marco Interno" ); Práctica Resuelta - Página 23 de 36 (Mario Bressano / Miguel Iwanow)
24 addmenu.add( newframe ); bar.add( addmenu ); setjmenubar( bar ); // Configurar desktop thedesktop = new JDesktopPane(); getcontentpane().add( thedesktop ); // Configurar listener para el item de menú newframe newframe.addactionlistener( new ActionListener() // clase anónima interna // Mostrar la nueva ventana interna public void actionperformed( ActionEvent event ) // Crear en marco interno JInternalFrame frame = new JInternalFrame( "Marco Interno", true, true, true, true ); //adjuntar el marco interno en el panel contenedor Container container = frame.getcontentpane(); MyJPanel panel = new MyJPanel(); container.add( panel, BorderLayout.CENTER ); // configurar tamaño del marco interno y de sus contenidos frame.pack(); // adjuntar el marco interno al desktop y mostrarlo thedesktop.add( frame ); frame.setvisible( true ); // fin de clase anónima Práctica Resuelta - Página 24 de 36 (Mario Bressano / Miguel Iwanow)
25 ); // fin de la llamada a addactionlistener setsize( 600, 460 ); setvisible( true ); public static void main( String args[] ) DesktopTest application = new DesktopTest(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); // fin clase DesktopTest // clase para mostrar un ícono de imagen en un panel class MyJPanel extends JPanel private ImageIcon imageicon; private String[] images = "yellowflowers.png", "purpleflowers.png", "redflowers.png", "redflowers2.png", "lavenderflowers.png" ; // cargar imagen public MyJPanel() int randomnumber = ( int ) ( Math.random() * 5 ); imageicon = new ImageIcon( images[ randomnumber ] ); // mostrar el ícono de imagen en el panel public void paintcomponent( Graphics g ) // llamada al método de la superclase paintcomponent super.paintcomponent( g ); Práctica Resuelta - Página 25 de 36 (Mario Bressano / Miguel Iwanow)
26 // mostrar ícono imageicon.painticon( this, g, 0, 0 ); // retomar las dimensiones de la imagen public Dimension getpreferredsize() return new Dimension( imageicon.geticonwidth(), imageicon.geticonheight() ); //fin de clasemyjpanel EJERCICIO Nº 68 En este ejercicio se aprecia cómo se pueden usar solapas //JTabbedPaneDemo.java import java.awt.*; import javax.swing.*; public class JTabbedPaneDemo extends JFrame // configurar GUI public JTabbedPaneDemo() super( "Muestra de funcionamiento de JTabbedPane" ); // Crear JTabbedPane JTabbedPane tabbedpane = new JTabbedPane(); // Configurar panel1 y adicionar dentro de JTabbedPane Práctica Resuelta - Página 26 de 36 (Mario Bressano / Miguel Iwanow)
27 JLabel label1 = new JLabel( "Panel uno", SwingConstants.CENTER ); JPanel panel1 = new JPanel(); panel1.add( label1 ); tabbedpane.addtab( "Tab Uno", null, panel1, "Primer Panel" ); // Configurar panel2 y adicionar dentro de JTabbedPane JLabel label2 = new JLabel( "Panel dos", SwingConstants.CENTER ); JPanel panel2 = new JPanel(); panel2.setbackground( Color.YELLOW ); panel2.add( label2 ); tabbedpane.addtab( "Tab Dos", null, panel2, "Segundo Panel" ); // Configurar panel3 y adicionar dentro de JTabbedPane JLabel label3 = new JLabel( "Panel tres" ); JPanel panel3 = new JPanel(); panel3.setlayout( new BorderLayout() ); panel3.add( new JButton( "Norte" ), BorderLayout.NORTH ); panel3.add( new JButton( "Oeste" ), BorderLayout.WEST ); panel3.add( new JButton( "Este" ), BorderLayout.EAST ); panel3.add( new JButton( "Sur" ), BorderLayout.SOUTH ); panel3.add( label3, BorderLayout.CENTER ); tabbedpane.addtab( "Tab tres", null, panel3, "Tercer Panel" ); // Adicionar JTabbedPane n el contenedor getcontentpane().add( tabbedpane ); setsize( 450, 400 ); setvisible( true ); public static void main( String args[] ) JTabbedPaneDemo tabbedpanedemo = new JTabbedPaneDemo(); tabbedpanedemo.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); Práctica Resuelta - Página 27 de 36 (Mario Bressano / Miguel Iwanow)
28 // fin clase JTabbedPaneDemo EJERCICIO Nº 69 En este ejercicio se aprecia cómo se usa Box Layout //BoxLayoutDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BoxLayoutDemo extends JFrame // Configurar GUI public BoxLayoutDemo() super( "Funcionamiento de BoxLayout" ); // Crear una caja contenedora con BoxLayout Box horizontal1 = Box.createHorizontalBox(); Box vertical1 = Box.createVerticalBox(); Box horizontal2 = Box.createHorizontalBox(); Box vertical2 = Box.createVerticalBox(); final int SIZE = 3; // número de botones en el Box // adicionar botones en el Box horizontal1 for ( int count = 0; count < SIZE; count++ ) horizontal1.add( new JButton( "Botón " + count ) ); // Adicionar botones en box vertical1 for ( int count = 0; count < SIZE; count++ ) vertical1.add( Box.createVerticalStrut( 25 ) ); Práctica Resuelta - Página 28 de 36 (Mario Bressano / Miguel Iwanow)
29 vertical1.add( new JButton( " Botón " + count ) ); // Crear horizontal glue y adicionar botones en el Box horizontal2 for ( int count = 0; count < SIZE; count++ ) horizontal2.add( Box.createHorizontalGlue() ); horizontal2.add( new JButton( " Botón " + count ) ); // crear un área rígida y adicionar botones en el Box vertical2 for ( int count = 0; count < SIZE; count++ ) vertical2.add( Box.createRigidArea( new Dimension( 12, 8 ) ) ); vertical2.add( new JButton( " Botón " + count ) ); // Crear vertical glue y adicionar botones al panel JPanel panel = new JPanel(); panel.setlayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) ); for ( int count = 0; count < SIZE; count++ ) panel.add( Box.createGlue() ); panel.add( new JButton( " Botón " + count ) ); // Crear un JTabbedPane JTabbedPane tabs = new JTabbedPane( JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT ); // Poner el contenedor en la solapa tabs.addtab( "Caja Horizontal", horizontal1 ); tabs.addtab( "Caja Vertical", vertical1 ); tabs.addtab( "Caja Horizontal 2", horizontal2 ); tabs.addtab( "Caja Vertical 2", vertical2 ); tabs.addtab( "Caja Vertical 3", panel ); getcontentpane().add( tabs ); // Colocar la solapa en el panel contenedor Práctica Resuelta - Página 29 de 36 (Mario Bressano / Miguel Iwanow)
30 setsize( 400, 220 ); setvisible( true ); public static void main( String args[] ) BoxLayoutDemo application = new BoxLayoutDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); EJERCICIO Nº 70 En este ejercicio se aprecia cómo se usa GridBag Layout //GridBagDemo.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GridBagDemo extends JFrame private Container container; private GridBagLayout layout; private GridBagConstraints constraints; // Configurar GUI public GridBagDemo() super( "Uso de GridBagLayout" ); Práctica Resuelta - Página 30 de 36 (Mario Bressano / Miguel Iwanow)
31 container = getcontentpane(); layout = new GridBagLayout(); container.setlayout( layout ); // Instanciar gridbag constraints = new GridBagConstraints(); // Crear components GUI JTextArea textarea1 = new JTextArea( "Área de texto 1", 5, 10 ); JTextArea textarea2 = new JTextArea( " Área de texto 2", 2, 2 ); String names[] = "Acero", "Hierro", "Bronce" ; JComboBox combobox = new JComboBox( names ); JTextField textfield = new JTextField( "Campo de texto" ); JButton button1 = new JButton( "Botón 1" ); JButton button2 = new JButton( " Botón 2" ); JButton button3 = new JButton( " Botón 3" ); // alto y ancho del textarea1 son 0: por defecto // components centrados: por defecto constraints.fill = GridBagConstraints.BOTH; addcomponent( textarea1, 0, 0, 1, 3 ); // alto y ancho del boton1 son 0: por defecto constraints.fill = GridBagConstraints.HORIZONTAL; addcomponent( button1, 0, 1, 2, 1 ); // alto y ancho del combobox son 0: por defecto // línea HORIZONTAL addcomponent( combobox, 2, 1, 2, 1 ); // botón constraints.weightx = 1000; // puede ser más ancho constraints.weighty = 1; // puede ser más alto //Botón 3 Práctica Resuelta - Página 31 de 36 (Mario Bressano / Miguel Iwanow)
32 constraints.fill = GridBagConstraints.BOTH; addcomponent( button2, 1, 1, 1, 1 ); constraints.weightx = 0; constraints.weighty = 0; addcomponent( button3, 1, 2, 1, 1 ); // alto y ancho del text field son 0: por defecto addcomponent( textfield, 3, 0, 2, 1 ); // alto y ancho del textarea2 son 0: por defecto addcomponent( textarea2, 3, 2, 1, 1 ); setsize( 300, 150 ); setvisible( true ); // fin del constructor GridBagDemo // método de configuración de constraints private void addcomponent( Component component, int row, int column, int width, int height ) // configurar grilla constraints.gridx = column; constraints.gridy = row; // configurar ancho y alto de la grilla constraints.gridwidth = width; constraints.gridheight = height; // configurar constraints y adicionar componentes layout.setconstraints( component, constraints ); container.add( component ); Práctica Resuelta - Página 32 de 36 (Mario Bressano / Miguel Iwanow)
33 public static void main( String args[] ) GridBagDemo application = new GridBagDemo(); application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); EJERCICIO Nº 71 En este ejercicio se aprecia nuevamente como se usa GridBag Layout //GridBagDemo2.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GridBagDemo2 extends JFrame private GridBagLayout layout; private GridBagConstraints constraints; private Container container; // Configurar GUI public GridBagDemo2() super( "GridBagLayout" ); container = getcontentpane(); layout = new GridBagLayout(); container.setlayout( layout ); // Instanciar gridbag Práctica Resuelta - Página 33 de 36 (Mario Bressano / Miguel Iwanow)
34 constraints = new GridBagConstraints(); // Crear componentes GUI String metals[] = "Cobre", "Aluminio", "Plata" ; JComboBox combobox = new JComboBox( metals ); JTextField textfield = new JTextField( "Campo de texto" ); String fonts[] = "Serif", "Monospaced" ; JList list = new JList( fonts ); String names[] = "Cero", "Uno", "Dos", "Tres", "Cuatro" ; JButton buttons[] = new JButton[ names.length ]; for ( int count = 0; count < buttons.length; count++ ) buttons[ count ] = new JButton( names[ count ] ); // Definir componentes GUI para el textfield constraints.weightx = 1; constraints.weighty = 1; constraints.fill = GridBagConstraints.BOTH; constraints.gridwidth = GridBagConstraints.REMAINDER; addcomponent( textfield ); // buttons[0] el ancho y alto es 1 constraints.gridwidth = 1; addcomponent( buttons[ 0 ] ); // buttons[1] el ancho y alto es 1 constraints.gridwidth = GridBagConstraints.RELATIVE; addcomponent( buttons[ 1 ] ); // buttons[2] el ancho y alto es 1 constraints.gridwidth = GridBagConstraints.REMAINDER; Práctica Resuelta - Página 34 de 36 (Mario Bressano / Miguel Iwanow)
35 addcomponent( buttons[ 2 ] ); // combobox ancho es 1 constraints.weighty = 0; constraints.gridwidth = GridBagConstraints.REMAINDER; addcomponent( combobox ); // buttons[3] ancho es 1 constraints.weighty = 1; constraints.gridwidth = GridBagConstraints.REMAINDER; addcomponent( buttons[ 3 ] ); // buttons[4] el ancho y alto es 1 constraints.gridwidth = GridBagConstraints.RELATIVE; addcomponent( buttons[ 4 ] ); // lista el ancho y alto es 1 constraints.gridwidth = GridBagConstraints.REMAINDER; addcomponent( list ); setsize( 300, 200 ); setvisible( true ); // adicionar el componente en el container private void addcomponent( Component component ) layout.setconstraints( component, constraints ); container.add( component ); // adicionar componentes public static void main( String args[] ) GridBagDemo2 application = new GridBagDemo2(); Práctica Resuelta - Página 35 de 36 (Mario Bressano / Miguel Iwanow)
36 application.setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); EJERCICIO Nº 72 (PROPUESTO) Componer un applet libre con JPanel para cualquier aplicación con todos los elementos vistos a este momento Práctica Resuelta - Página 36 de 36 (Mario Bressano / Miguel Iwanow)
Tema 6. Interfaces gráficas de usuario (Parte 1)
Programación en Java Tema 6. Interfaces gráficas de usuario (Parte 1) Luis Rodríguez Baena Facultad de Informática Swing y AWT (I) JDK 1.0 introdujo la creación de interfaces gráficas de usuario (GUI,
Aplicaciones gráficas en Java Librería Swing
Aplicaciones gráficas en Java Librería Swing Sumario: Breve introducción al paquete Swing Tipos de clases del paquete Definición y manejo de contenedores, diálogos y layouts Diseño mediante IDE (Eclipse)
Programación de Eventos
Programación de Eventos Un evento es un suceso que ocurre dentro del contexto de la ejecución de un programa. Por ejemplo, se presiona un botón, se modifica una caja de texto, se selecciona una opción
Interfaces gráficas. Jose Jesus García Rueda
Interfaces gráficas Jose Jesus García Rueda Introducción Qué son las interfaces gráficas? Ejemplos bien conocidos Vamos a programar una: Colores.java Conceptos básicos Aplicación gráfica. Contenedores.
Agenda. Contenedores y componentes
Agenda Tipos de objetos y clases de la GUI Guía detallada para crear una interfaz gráfica de usuario Guía detallada para la gestión de eventos Problema 1 del boletín 5 Problema 2 del boletín 5 Contenedores
Construir una Interfaz Gráfica
Construir una Interfaz Gráfica JAVA, permite al programador: -Diseñar y programar en interfaces gráficas de usuario en forma rápida y sencilla. -Cuenta con dos paquetes de clases predefinidos que brindan
Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)
Componentes Swing Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit) Component es una clase abstracta que representa a cualquier
INTERFAZ GRÁFICO DE USUARIO
Programación JAVA INTERFAZ GRÁFICO DE USUARIO 2 - Referencia Bibliográfica Autor Adolfo Aladró García Publicado en la revista Solo Programadores num. 118 Ejemplos copiados del libro Java 2 - Curso de Programación
Programación de sistemas
Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Departamento de Ingeniería Telemática José Jesús García Rueda y Carlos Alario Hoyos
Manejo de eventos AWT
Manejo de eventos AWT En las aplicaciones en modo consola, nuestro método main determina el orden en el que se ejecutan las operaciones de nuestro programa. En las aplicaciones con interfaces gráficas
2.1 Elementos gráficos en Java.
Practica0 de 1. Programa Java tipo consola public class Clase0 { public static void main(string[] args) { System.out.println("Hola Mundo"); System.out.println("Estamos en clase de Interfaces de Usuario");
Interfaces Gráficas de Usuario en Java Julio 2004. 1. Introducción. 2. Crear una ventana 2
Índice 1. Introducción 1 2. Crear una ventana 2 3. Componentes swing 5 3.1. JPanel y JLabel......................................................... 6 3.2. ImageIcon............................................................
Interacción con el Usuario Gestión de Eventos
Interacción con el Usuario Gestión de Eventos Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA,
Interfaz Gráfica de Usuario (GUI)
Interfaz Gráfica de Usuario (GUI) Unidad: 2 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Los administradores de diseño (Layouts) Características
Programación Orientada a Objetos
Programación Orientada a Objetos Tema 5: Desarrollo de interfaces gráficas de usuario Tema 5-1: Conceptos básicos de SWING Contenidos Tema 5-1: Conceptos básicos de SWING 1. INTRODUCCIÓN 2. COMPONENTES
Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. Interfaz Gráfica de Usuario (GUI)
Indice Interfaz Gráfica de Usuario (GUI) Unidad: 2 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Swing Generalidades Conceptos y caracteristicas
Introducción a Swing. Taller de Programación 2016
Introducción a Swing Taller de Programación 2016 [email protected] Introducción En qué estamos exactamente? Cómo debemos codificar? Por donde empezar? Empecemos por entender el contexto y la arquitectura
Interfaces gráficas con Swing
Interfaces gráficas con Swing Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Introducción Swing
Interfaces gráficas de usuario
Las interfaces gráficas de usuario Interfaces gráficas de usuario Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario. Esa forma de interfaz de usuario es muy simple
Desarrollo de aplicaciones gráficas
Desarrollo de aplicaciones gráficas M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California [email protected] Febrero de 2006 Aplicaciones gráficas en Java Estas aplicaciones pueden dividirse
Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario
Tipos de programas en Java Programación basada en eventos Aplicaciones Se pueden ejecutar directamente en un entorno Java Tipos Modo de consola -Interacción mediante teclado -Interfaz basado en texto Aplicaciones
Federico Peinado www.federicopeinado.es
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro
I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar
Interfaces gráficas de usuario
Interfaces gráficas de usuario Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java, Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)
APRENDERAPROGRAMAR.COM INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha
USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON
USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON Una aplicación sin usar Formulario A continuación vamos a desarrollar una aplicación sencilla que permita calcular el área del triángulo dado los valores
Desarrollando aplicaciones mediante componentes
Desarrollando aplicaciones mediante componentes I.03 Captura de eventos 1) Planteamiento: Desarrollar una aplicación en Swing que capture varios eventos en swing tales como el Clic, el doble Clic, movimiento
Programación Java Curso 2006-1 C Draw
Programación Java Curso 2006-1 C Draw FIUBA Introducción: Prof.. María Feldgen Ing. Osvaldo Clúa En Java, para dibujar se usa el contexto gráfico de un componente. Según las plataformas, este contexto
Unidad III. Interfaz de Escritorio SWING
Unidad III Interfaz de Escritorio SWING 1 Introducción Swing o awt? 3.1.Biblioteca Swing Componentes swing Manejo de eventos 3.2.Contenedores INDICE Estructura de una aplicación 3.3.Administrador de Diseño
d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.
Primer Certamen 1er. Sem 2004 Todas las preguntas tienen igual puntaje. 1. a) Usando los niveles de madurez definidos en CMM, qué nivel le corresponde a una empresa que se caracteriza por comprometer productos
Java y Eclipse Desarrolle una aplicación con Java y Eclipse
Prefacio 1. Introducción 11 2. Contenido del libro 12 Entorno de desarrollo 1. Instalación del JDK de Java 8 15 2. Instalación de Eclipse Luna 17 3. Descubriendo el IDE 21 3.1 Perspectiva - Vista 22 3.2
Universidad Carlos III de Madrid Departamento de Ingeniería Telemática. Swing
Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Swing Andrés Marín López Jesús Arias Fisteus Laboratorio de Aplicaciones Telemáticas 2 Índice Introducción a Swing Componentes Layouts
Interfaces de usuario [Interfaces de usuario con Java]
Interfaces de usuario [Interfaces de usuario con Java] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-P Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Interfaces de Usuario 1
Componentes Swing look and feel pluggable ( mecanismo de double buffering, transparentes.
Componentes Swing Forman parte de las Java Foundation Classes y, constituyen un conjunto de componentes de interfaz de usuario, lightweight, construídas bajo la infraestructura del AWT. Son un reemplazo
Ejemplo de la Clase Persona
Ejemplo de la Clase Persona public class Persona // Declaración de atributos private String nombre; private int edad; // Constructor public Persona(String nombre, int edad) this.nombre = nombre; this.edad
Programación de sistemas
Programación de sistemas Interfaces Gráficas I. Conceptos básicos II. Eventos Julio Villena Román MATERIALES BASADOS EN EL TRABAJO DE DIFERENTES AUTORES: José Jesús García Rueda,
Aplicaciones Java. Juan Manuel Fernández Peña Curso 2011, 2013
Aplicaciones Java Juan Manuel Fernández Peña Curso 2011, 2013 Aplicación Una aplicación es una colección de clases y recursos adicionales, con un punto de inicio. El punto de inicio está dado por el método
HÉCTOR ARTURO FLÓREZ FERNÁNDEZ
HÉCTOR ARTURO FLÓREZ FERNÁNDEZ Ingeniero electrónico e ingeniero de sistemas de la Universidad El Bosque; magíster en Ciencias de la Información y las Comunicaciones de la Universidad Distrital Francisco
OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL
OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL Swing Containers Los objetos pertenecientes a Swing Containers, son objetos que permiten agrupar a otros objetos y facilitan el manejo de ciertos procesos dentro
Uso de Java Swing. Noviembre de 2013
Uso de Java Swing Noviembre de 2013 Introducción Esta lección les dará la oportunidad de introducirlos al manejo de la clase Swing. Despues de explicar en que consiste Swing, veremos como compilar y correr
INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO
La Güeb de Joaquín Programación JAVA INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO 1 EJEMPLO: CALCULADORA 1 EJEMPLO: CALCULADORA 1.1 Definición del ejemplo 1.2 Diseño del interfaz gráfico de usuario
SWING: JButton, JCheckBox y JRadioButton Javier Ovejero Sánchez
SWING: JButton, JCheckBox y JRadioButton Javier Ovejero Sánchez Departamento de Informática y Automática Universidad de Salamanca Resumen Las interfaces graficas de usuario se han convertido en una parte
APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...
Cuadernillo de examen ASIGNATURA Laboratorio de Sistemas Operativos Abiertos (Java) CÓDIGO 321 CONVOCATORIA Extraordinaria de Septiembre de 2003 PLAN DE ESTUDIOS 1996 ESPECIALIDAD Sistemas CURSO 2002/2003
EJERCITACIÓN JAVA CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS. Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05
EJERCITACIÓN JAVA 2013 CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05 Ejercicio 48: Dada la siguiente serie, confeccionar una aplicación donde ingresada
Java GUI La librería Swing
Java GUI La librería Swing Programación conducida por eventos En programas tradicionales (basados en texto): el programa controla el flujo de la ejecución el programa controla la secuencia de las entradas
Programación de Interfaces Gráficas en Java. Agustín J. González ELO329
Programación de Interfaces Gráficas en Java Agustín J. González ELO329 AWT y Swing En sus orígenes Java introdujo la AWT (Abstract Window Toolkit). Ésta creaba los objetos delegando su creación y comportamiento
// Suma.java // Programa de suma que utiliza a JOptionPane para entrada y salida. import javax.swing.joptionpane; // el programa usa JOptionPane
Componentes GUI. Una interfaz gráfica de usuario (GUI) presenta un mecanismo amigable al usuario para interactuar con una aplicación. Las GUIs se crean a partir de componentes de la GUI, a estos se les
Examen de Programación II (Ingeniería Informática)
Examen de Programación II (Ingeniería Informática) Junio 2008 1) Lenguaje C 1.a) (1 punto) Escribir una función C que reciba dos strings como parámetros y retorne un nuevo string formado por los caracteres
Java Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 8 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse
INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse Por: María Consuelo Franky 2015 Contenido 1. Instalación para Eclipse 4.3 Kepler... 1 2. Prueba inicial del plugin WindowBuilder...
Práctica 18c. Práctica 18c. José M. Ordax
Práctica 18c José M. Ordax [email protected] 1 Copyright 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano
Utiliza el mismo modelo empleado por Graphics Para usarlo. java.awt.geom formas primitivas
java.awt.graphics2d Utiliza el mismo modelo empleado por Graphics Para usarlo public void paint(graphics g) { Graphics2D g2 = (Graphics2D) g;... java.awt.geom formas primitivas Arc2D Ellipse2D QuadCurve2D
Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)
Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC) Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial
Algoritmia y Programación
Algoritmia y Programación Oscar Bedoya [email protected] http://eisc.univalle.edu.co/~oscarbed/algoritmia/ Cuántos botones se necesitan? import javax.swing.*; import java.awt.*; import
Tema 7. Construcción de Applets en Java
Programación en Java Tema 7. Construcción de Applets en Java Luis Rodríguez Baena Facultad de Informática Applets Aplicación Java que se ejecuta dentro de un cliente web para ampliar las capacidades de
Ingeniería del Software. Capa de Presentación. Java 2 con JFC/SWING. Componentes visuales. Gestión de la interfaz
Capa de Presentación Java 2 con JFC/SWING Componentes visuales Construcción de la interfaz Gestión de la interfaz 1 Java 2 JFC/Swing JFC (Java Foundation Class) - Framework gráfico que proporciona herramientas
Estructura de las Aplicaciones Orientadas a Objetos Interfaces gráficas de usuario
Estructura de las Aplicaciones Orientadas a Objetos Interfaces gráficas de usuario Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
14: Crear ventanas y applets
14: Crear ventanas y applets Una guía de diseño fundamental es "haz las cosas simples de forma sencilla, y las cosas difíciles hazlas posibles." [1] [1] Hay una variación de este dicho que se llama "el
Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar
Capítulo 7 Introducción a las Interfaces Gráficas de usuario Continuar Introducción Se explicará qué es una interfaz gráfica, cómo han evolucionado y cómo es que debe desarrollarse un programa que incluya
Interfaces gráficas I
Interfaces gráficas I - Introducción - 75.07-95.02 Algoritmos y programación III Pablo Rodríguez Massuh Temario A qué llamamos vista? Distintos tipos de vistas Qué es JavaFx? Conceptos de JavaFX Controles
USO DEL OBJETO JTABLE
USO DEL OBJETO JTABLE Objeto de Control JTable Como programadores, sabemos muy bien que la presentación de datos tabulados es una de las tareas más comunes que se presentan al momento de crear interfaces
En este método la implementación de la interface de usuario donde se produce el evento y la implementación del oyente están en clases separadas.
Unidad 8 Manejo de Eventos Un evento es un objeto que representa un cambio en un componente, este es generalmente producido por el usuario al realizar alguna operación, por ejemplo, escribir en un campo
Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Práctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Tips de Componentes UI Java Swing con Netbeans
Tips de Componentes UI Java Swing con Netbeans 1.- Conversión de tipos de datos comunes: El tipo de datos de la propiedad text de la mayoría de los componentes es un String Ejemplos para convertir a un
Creación de Applets Simples
Seminario Creación de Applets Simples Junio 2004 Michael González: [email protected] GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 1 Creación de Applets Simples 1. Introducción 2. Estructura
Programación Orientada a Objetos, 3 er curso Ejercicios resueltos
Programación Orientada a Objetos, 3 er curso Ejercicios resueltos 1. Cómo es posible crear objetos de una clase cuyos constructores son todos privados? a) Definiendo un método estático público en la clase
Introducción a componentes Swing
Introducción a componentes Swing H. Tejeda Mayo 2016 Índice 1. Introducción 1 2. Clase JFrame 2 3. Clase JLabel 6 4. Manejador de diseño 9 5. Extensión de la clase JFrame 11 6. Clases de entrada 13 7.
9. AWT (Abstract Window Toolkit)
9. AWT (Abstract Window Toolkit) Índice 9.0 Introducción 9.1 Contenedores 9.2 Layouts 9.3 Componentes 9.4 Eventos 9.5 Swing 9.6 HowTo Swing 9.7 Ejemplo 9.8 Applets David Contreras Bárcena 185 9. AWT (Abstract
Java Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 7 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.
Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;
Ejemplo de GUI con Swing
Ejemplo de GUI con Swing Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Una aplicación Swing sencilla El
GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN
GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,
FACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
AULA MENTOR. educacion.es
AULA MENTOR educacion.es Nipo: 820-11-347-3 Autor: Pilar Aranzazu Ocaña Diaz-Ufano y José Miguel Ordax Cassá Edición y maquetación de contenidos: Susana Pérez Marín Diseño gráfico e ilustración de portada:
Introducción a la Programación Orientada a Objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI Ecapsulamiento, clases asociadas Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional
Trabajando con GUI en Java Componente java.swing
Trabajando con GUI en Java Componente java.swing Autor: Wilder López Meléndez 1 [email protected] Fecha: 26 de junio de 2007 Es muy común a la hora de crear aplicaciones de escritorios querer utilizar
Ejercicio corto. Ejercicio corto. Ejercicio corto. Lección 1: Introducción a Word. Lección 2: Modificaciones de documentos
Lección 1: Introducción a Word 1 Cómo se guarda una copia del documento actual sin modificar la versión original? 2 Qué dos formas hay de cerrar un documento? 3 Qué ocurre al hacer clic en el botón que
JAVA: Applets. Diseño de aplicaciones web. [email protected]
JAVA: Applets Diseño de aplicaciones web [email protected] Características de Java (I) Simple El programador no tiene que gestionar la memoria! Orientado a Objetos Encapsulación de datos y reutilización.
III SEMANAS GESTIÓN DE EVENTOS PROGRAMACIÓN II CICLO. Ing. Manuel Jesús Sánchez Chero Profesor del Curso
GESTIÓN DE EVENTOS CURSO: Elaborado por: TALLER DE PROGRAMACIÓN II Ing. Manuel Jesús Sánchez Chero Profesor del Curso CICLO III SEMANAS Material Didáctico para uso exclusivo en clase INTRODUCCIÓN La gestión
Práctica 1. Monitores en Java.
Práctica 1 - Programación Concurrente 3º I.S. Pág: 1/15 Práctica 1. Monitores en Java. Programación Concurrente. 3º I.S. Dpto. Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática
GUIA DE JAVA NIVEL BÁSICO
GUIA DE JAVA NIVEL BÁSICO INTRODUCCIÓN www.uneweb.com Java se creó como parte de un proyecto de investigación para el desarrollo de software avanzado para una amplia variedad de dispositivos de red y sistemas
Capítulo 6: Interfaces es de Usuario.
Capítulo 6: Interfaces es de Usuario. - 77 - 6. Interfaces de Usuario. En el proceso de interacción persona-ordenador, la Interfaz Gráfica de Usuario (GUI), es el artefacto que permite la interacción
Sistema de Archivos en Java
David González Segundo SISTEMAS OPERATIVOS ICO-16 Fecha: 27/Octubre/2014 Sistema de Archivos en Java Propósito: El alumno elaborara un programa en el que representa el sistema de archivos que permita guardar,
Clase 24. Caso práctico: Creación de una calculadora simple con notación postfijo. Objetivos
Clase 24 Caso práctico: Creación de una calculadora simple con notación postfijo Objetivos Construir una calculadora que sirva para demostrar cómo dividir la funcionalidad en clases significativas Explicar
HERRAMIENTAS AVANZADAS PARA LA GESTIÓN DE PROYECTOS
HERRAMIENTAS AVANZADAS PARA LA GESTIÓN DE PROYECTOS Sesión 03: Introducción al PERT CHART EXPERT Objetivo de la sesión Conocer las generalidades del PERT Chart EXPERT. Conocer las funcionalidades y comandos
APPLETS en JAVA. A continuación se muestran algunos ejemplos. 1. Programa que calcula el factorial de 1 número.
APPLETS en JAVA Las applets (miniaplicación) son programas escritos en Java que sirven para "dar vida" a las páginas Web (interacción en tiempo real, inclusión de animaciones, sonidos...), de ahí su potencia.
Construcción dinámica de menús en Java. La clase MiMenu.
Construcción dinámica de menús en Java. La clase MiMenu. Ernesto Ponsot Balaguer π Mérida, Diciembre de 2004 Resumen.- Se presenta la discusión, el diseño e implantación de un objeto genérico Java, bautizado
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Introducción a la Programación en Java. Unidad 7 Abstract Window Toolkit
Unidad 7 Abstract Window Toolkit Cuando se desarrolla un programa de Java es importante seleccionar apropiadamente los componentes de la GUI (Graphics User Interface). Hay dos conjuntos básicos de componentes
IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ
IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ UNIVERSIDAD DE LAS ISLAS BALEARES TECNOLOGÍA DE LA PROGRAMACIÓN 2006 / 2007 Alumno: Ligia Tatiana González Leyva {X4741315A Índice de contenido 1.Introducción...3 2.Simplificaciones...
Conocimientos previos
7 Ficha de Aprendizaje Tema: Mi primer programa JAVA Logro @ # n Conoce los pasos para crear un proyecto JAVA con Netbeans. Conoce los pasos para diseñar formularios en Netbeans. Conocimientos previos
Aplicaciones Java. Juan Manuel Fernández Peña Curso 2011, 2013
Aplicaciones Java Juan Manuel Fernández Peña Curso 2011, 2013 Aplicación Una aplicación es una colección de clases y recursos adicionales, con un punto de inicio. El punto de inicio está dado por el método
Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001
INGENIERÍA DEL SOFTWARE. 4º ING. INFORMÁTICA (UPV/EHU) 31 de MAYO de 2001 NOMBRE: GRUPO: 1.- Es posible que un sistema que no ofrezca mecanismos de HERENCIA presente la característica conocida por POLIMORFISMO?
