Professional Documents
Culture Documents
JAVA
//1.- Definicin del paquete, importacin de libreras a utilizar, autor, as como la
declaracin de la clase y el mtodo.
import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.*; /** * @author JOMP */ public class Actividad2{
1. MONEDA
public void aparienciaMoneda(){
2. GRADOS
3.- LONGITUD
public void aparienciaLongitud(){
pnlLongitud.add(new JLabel(" ")); pnlLongitud.add(lbl6); pnlLongitud.add(txtYar); pnlLongitud.add(lbl7); pnlLongitud.add(txtMt); pnlLongitud.add(btnMet); pnlLongitud.add(new JLabel(" ")); pnlLongitud.add(lbl8); pnlLongitud.add(txtMil); pnlLongitud.add(lbl9); pnlLongitud.add(txtKm); pnlLongitud.add(btnKm); pnlLongitud.add(new JLabel(" ")); }
CONVERSOR.JAVA (CAPTURADO EN PROYECTOS NETBEANS) package ComponentesGraficos; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.*; /** * @author ESAD */ public class Conversor{ //Se declaran de manera global //todos los componentes a utilizar JPanel pnlMoneda= new javax.swing.JPanel(); JLabel lbl2 = new javax.swing.JLabel(); JComboBox cmbMoneda = new javax.swing.JComboBox(); JLabel lbl1 = new javax.swing.JLabel(); JTextField txtPesos = new javax.swing.JTextField(); JButton btnMoneda = new javax.swing.JButton(); JPanel pnlGrados = new javax.swing.JPanel(); JLabel lblCent = new javax.swing.JLabel(); JSpinner spnCn = new javax.swing.JSpinner(); JCheckBox cbxK = new javax.swing.JCheckBox(); JTextField txtKv = new javax.swing.JTextField(); JCheckBox cbxF = new javax.swing.JCheckBox(); JTextField txtFr = new javax.swing.JTextField(); JButton btnTemp = new javax.swing.JButton(); JPanel pnlLongitud = new javax.swing.JPanel(); JLabel lbl4 = new javax.swing.JLabel(); JTextField txtPul = new javax.swing.JTextField(); JLabel lbl5 = new javax.swing.JLabel(); JTextField txtCm = new javax.swing.JTextField(); JButton btnCent = new javax.swing.JButton(); JLabel lbl6 = new javax.swing.JLabel(); JTextField txtYar = new javax.swing.JTextField(); JLabel lbl7 = new javax.swing.JLabel(); JTextField txtMt = new javax.swing.JTextField(); JButton btnMet = new javax.swing.JButton(); JLabel lbl8 = new javax.swing.JLabel(); JTextField txtMil = new javax.swing.JTextField(); JLabel lbl9 = new javax.swing.JLabel(); JTextField txtKm = new javax.swing.JTextField(); JButton btnKm = new javax.swing.JButton(); public void aparienciaTotal(){ JFrame frame=new JFrame("Inscrpcin a Carrera atletica"); frame.setLocation(200, 200); frame.setVisible(true); frame.setSize(250, 750); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); aparienciaMoneda();
aparienciaGrados(); aparienciaLongitud(); frame.add(pnlMoneda, BorderLayout.WEST); frame.add(pnlGrados, BorderLayout.CENTER); frame.add(pnlLongitud,BorderLayout.EAST); } public void aparienciaMoneda(){ //se configuran los componentes de moneda pnlMoneda.setBackground(new java.awt.Color(255, 255, 255)); pnlMoneda.setBorder (javax.swing.BorderFactory.createTitledBorder (javax.swing.BorderFactory.createLineBorder (new java.awt.Color(153, 0, 0)), "Equivalencia de moneda", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(153, 0, 0))); lbl1.setText("De:"); lbl2.setText("A pesos:"); cmbMoneda.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Euro", "Dolar", "Libra" })); btnMoneda.setText("Convertir"); //Se agrega el manejo de eventos al boton btnMoneda. btnMoneda.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ equivalenciaMoneda(); } //se invoca al metodo moneda, que sonde se realizarn las acciones }); //se agregan los componentes al panel moneda GridLayout acomodo = new GridLayout(3,2); pnlMoneda.setLayout(acomodo); pnlMoneda.add(lbl1); pnlMoneda.add(cmbMoneda); pnlMoneda.add(lbl2); pnlMoneda.add(txtPesos); pnlMoneda.add(btnMoneda); } public void equivalenciaMoneda(){ int eleccion=cmbMoneda.getSelectedIndex(); if(eleccion==0) { txtPesos.setText("16.99"); } if(eleccion==1) { txtPesos.setText("12.64"); } if(eleccion==2) { txtPesos.setText("20.27"); } } public void aparienciaGrados(){ //se configuran los componentes de grados pnlGrados.
pnlGrados.setBackground(new java.awt.Color(255, 255, 255)); pnlGrados.setBorder(javax.swing.BorderFactory.createTitledBorder (javax.swing.BorderFactory.createLineBorder (new java.awt.Color(153, 0, 0)), "Equivalencia de Grados", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(153, 255, 0))); lblCent.setText("Centigrados"); cbxK.setText("Kelvin"); cbxF.setText("Fahrenheit"); btnTemp.setText("Convertir"); //Se agrega el manejo de eventos al boton btnTemp. btnTemp.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ equivalenciaGrados(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); //se agregan los componentes al panel moneda GridLayout acomodo = new GridLayout(4,2); pnlGrados.setLayout(acomodo); pnlGrados.add(lblCent); pnlGrados.add(spnCn); pnlGrados.add(cbxF); pnlGrados.add(txtFr); pnlGrados.add(cbxK); pnlGrados.add(txtKv); pnlGrados.add(btnTemp); } public void equivalenciaGrados(){ int centigrados= Integer.parseInt(spnCn.getValue().toString()); double fr= ((9.0/5.0)*centigrados)+32; float kv= (float) (centigrados+273.15); if(cbxK.isSelected()) { txtKv.setText(String.valueOf(kv)); } if(cbxF.isSelected()) { txtFr.setText(String.valueOf(fr)); } } public void aparienciaLongitud(){ //se configuran los componentes de longitud pnlLongitud.setBackground(new java.awt.Color(255, 255, 255)); pnlLongitud.setBorder(javax.swing.BorderFactory.createTitledBorder ("Equivalencia de longitud")); lbl4.setText("Pulgadas"); lbl5.setText("Centimetros"); btnCent.setText("Convertir"); lbl6.setText("Yardas"); lbl7.setText("Metros"); btnMet.setText("Convertir"); lbl8.setText("Millas"); lbl9.setText("Kilometros"); btnKm.setText("Convertir"); //Se agrega el manejo de eventos a cada boton
btnCent.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirCm(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); btnMet.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirMt(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); btnKm.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e){ convertirKm(); //se invoca al metodo moneda, que sonde se realizarn las acciones } }); //se agregan los componentes al panel moneda GridLayout acomodo = new GridLayout(9,2); pnlLongitud.setLayout(acomodo); pnlLongitud.add(lbl4); pnlLongitud.add(txtPul); pnlLongitud.add(lbl5); pnlLongitud.add(txtCm); pnlLongitud.add(btnCent); pnlLongitud.add(new JLabel(" ")); pnlLongitud.add(lbl6); pnlLongitud.add(txtYar); pnlLongitud.add(lbl7); pnlLongitud.add(txtMt); pnlLongitud.add(btnMet); pnlLongitud.add(new JLabel(" ")); pnlLongitud.add(lbl8); pnlLongitud.add(txtMil); pnlLongitud.add(lbl9); pnlLongitud.add(txtKm); pnlLongitud.add(btnKm); pnlLongitud.add(new JLabel(" ")); } public void convertirCm(){ int pulgadas=Integer.parseInt(txtPul.getText()); float cm= (float) (pulgadas * 2.56); txtCm.setText(String.valueOf(cm)); } public void convertirMt(){ int yardas=Integer.parseInt(txtYar.getText()); float mt= (float) (yardas * 0.91440); txtMt.setText(String.valueOf(mt)); } public void convertirKm(){ int millas=Integer.parseInt(txtMil.getText()); float km= (float) (millas * 1.609344); txtKm.setText(String.valueOf(km)); } public static void main (String args[]){ Conversor c=new Conversor(); c.aparienciaTotal(); } }
Una vez definido el marco para agregar elementos dentro de ste, se utiliza el mtodo add, y un administrador de diseo llamado layout, esto permite acomodar en algn orden todos los componentes que se agreguen al marco. Como ya se mencion anteriormente para construir interfaces graficas se utilizan libreras ya predefinidas; las bibliotecas de clases Java para el desarrollo de interfaces grficas de usuario son Swing y AWT, estas proporcionan los siguientes administradores de diseo para el acomodo de componentes (Oracle, 2012): estas son arriba (PAGE_START), abajo (PAGE_END), izquierda (PAGE_START),derecha (PAGE_END) y centro (PAGE_CENTER), tal como se muestra en la siguiente imagen:
Ejemplo de BorderLayout
Ejemplo de BoxLayout lementar un rea que contiene diferentes componentes en diferentes momentos, observa el ejemplo:
Lo sealado sera el rea implementada
Ejemplo de CardLayout ta acabar con el espacio, entonces crea una nueva fila debajo, como se muestra en seguida:
Ejemplo de GridLayout as, como el anterior, con la diferencia de que permite que un componente cubra varias filas y/o columnas presentados en el siguiente ejemplo:
Ejemplo de GridBagLayout separada, por lo que cada una cuenta con una configuracin independiente, tal como lo veras a continuacin: Vertical Horizontal
Ejemplo de GroupLayout
SpringLayout: esta distribucin permite definir la relacin de espacio entre los componentes y sus bordes, observa el ejemplo:
Ejemplo de SpringLayout
De forma predeterminada cada contenedor tiene asignado un diseo del tipo BorderLayOut, tambin se puede dejar a un frame sin administrador de estilo, de manera que los elementos que se
agreguen se posicionen en base a coordenadas. Hasta este punto hemos visto los contenedores (paneles y marcos), as como las distribuciones (layout) para el acomodo de componentes dentro de los contenedores. En los temas siguientes veremos los dems componentes grficos.