Professional Documents
Culture Documents
http://cesar.crbyte.com
cesarrdz@gmail.com
JFC (Java Foundation Classes)
Grupo de caractersticas para ayudar a construir
interfaces grficas de usuario
Librerias:
AWT
Java 2D
Accessibility
Drag and Drop
Swing
Swing
Escrito totalmente en java
Se apoya sobre AWT y aade JComponents
Utiliza el modelo de eventos
Seleccin de diferentes apariencias
Proporciona utilidades para facilitar creacin de
aplicaciones grficas
Apariencia
GUI independiente de la plataforma existente
Identica apariencia en distintas plataformas
Permite usar diferentes apariencia
Pueden programarse nuevas apariencia
Paquetes principales
javax.swing
javax.swing.event
Componentes
Contenedores de alto nivel:
JFrame, JApplet, JWindow, JDialog
Componentes ligeros:
JButton, JPanel, JTree, etc.
Los contenedores de alto nivel prestan
funcionalidad a los componentes ligeros:
Espacio donde pintarse, Manejo de eventos, etc.
Un componente puede contener otros
componentes
Ejemplo: un boton con una imagen
// TestHolaSwing.java
import javax.swing.*;
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().add( lblHola );
setSize(200, 100);
setVisible( true );
}
}
if (fuente == btnCalcula) {
try {
lado = Integer.parseInt(txtLado.getText());
lblResultado.setText("" + (lado * lado));
}
catch (NumberFormatException e) {
txtLado.setText("0");
lblResultado.setText("0");
}
}
}
}
Programa continua siguiente pagina
class TestAreaC {
public static void main(String[] arguments) {
CAreaC area = new CAreaC();
}
}
Ejercicio sugerido:
- Realize un programa que calcule el area de un triangulo
utilizando el swing
Administrador de diseo
Utilizado para organizar los componentes que se
agregan a un contenedor y mostrarlos a la vez en
un orden preestablecido
Cada contenedor tiene asignado un administrador
de diseo de forma predeterminada
Administradores de diseo
FlowLayout. Coloca los componentes de izquierda a
derecha (igual que se coloca el texto en un prrafo)
CBordes() {
super("Border Layout");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
boton3.setIcon(icon);
boton4 = new JButton("Oeste");
boton5 = new JButton(icon);
Programa continua siguiente pagina
BorderLayout lm = new BorderLayout();
JPanel panel = new JPanel();
panel.setLayout(lm);
panel.add("North", boton1);
panel.add("South", boton2);
panel.add("East", boton3);
panel.add("West", boton4);
panel.add("Center",boton5);
setContentPane(panel);
class TestCBordes {
public static void main(String[] arguments) {
CBordes borde = new CBordes();
}
}
import javax.swing.*;
import java.awt.*;
class CGrid extends JFrame {
JButton[] boton = new JButton[6];
int i;
CGrid() {
super("Border Layout");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
GridLayout lm = new GridLayout(3, 2, 10, 10);
JPanel panel = new JPanel();
panel.setLayout(lm);
for (i = 0; i < 6; i++) {
boton[i] = new JButton("TEST "+ i);
panel.add(boton[i]);
}
setContentPane(panel);
pack();
setVisible(true);
}
}
// Varios Layout managers: 2 GridLayouts
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
Font fBold;
btnAcepta.addActionListener(this);
btnSalir.addActionListener(this);
txtNumero.addFocusListener(this);
secPanel.setLayout(grid);
secPanel.add(lblNumero);
secPanel.add(txtNumero);
btnPanel.setLayout(grid);
btnPanel.add(btnAcepta);
btnPanel.add(btnSalir);
panel.setLayout(mainGrid);
panel.add(secPanel);
panel.add(lblAdivina);
panel.add(btnPanel);
panel.setBackground(Color.yellow);
setContentPane(panel);
pack();
setVisible(true);
} Programa continua siguiente pagina
public void actionPerformed(ActionEvent evento) {
Object fuente = evento.getSource();
if (fuente == btnAcepta) {
try {
iTuNumero = Integer.parseInt(
txtNumero.getText());
}
catch(NumberFormatException e) {
iTuNumero = 0;
}
if (iTuNumero == iMiNumero) {
lblAdivina.setForeground(Color.red);
lblAdivina.setText("ADIVINASTE!!!");
iMiNumero = random.nextInt(5) + 1;
}
else {
lblAdivina.setForeground(Color.black);
lblAdivina.setText("NO ADIVINASTE.");
}
} Programa continua siguiente pagina
if (fuente == btnSalir)
System.exit(0);
}
Ejercicio sugerido:
- Realize un programa cambie de dolares a pesos, pida el tipo
de cambio, utilize varios layout managers