Semana 12 interfaces gráficas de usuario
Click here to load reader
-
Upload
terryjoss -
Category
Technology
-
view
474 -
download
0
Transcript of Semana 12 interfaces gráficas de usuario
CLASE PANTALLA
package org.proyecto;
import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import java.util.Vector;
public class Pantalla extends JFrame{
StringBuffer lee1;String [] recibe;Vector vector;
public Pantalla(){
// Creando los objetos del menú.menubarra = new MenuBar();menu1 = new Menu();menu2 = new Menu();about = new MenuItem();salir = new MenuItem(); material1 = new MenuItem();
// Creando objetos para los botones de Eliminar y Reservar.eliminar = new Button("Eliminar");etiqueta = new Label();boton2 = new Button("Reservar");
// Listado de libros y revistas.lista = new List();lista.setMultipleMode(false);setTitle("Mi Biblioteca");setResizable(false);
// Texto en los menús.menu1.setLabel("Registro");menu2.setLabel("Ayuda");about.setLabel("Acerca de...");salir.setLabel("Salir");
material1.setLabel("Agregar Material");
// Ir a las ventanas de los menús. menu1.add(material1); menu2.add(about); menu2.add(salir); menubarra.add(menu1); menubarra.add(menu2);
// Muestra la barra del menú. // También se definen los tamaños de los botones y etiquetas. setMenuBar(menubarra); eliminar.setBounds(100,380,100,30);
getContentPane().add(eliminar);etiqueta.setBounds(200,25,200,30);etiqueta.setText("Listado de libros y/o revistas:");getContentPane().add(etiqueta);boton2.setBounds(400,380,100,30);getContentPane().add(boton2);lista.setBounds(40,60,520,250);getContentPane().add(lista);contra = new TextField();contra.setBounds(400,430,100,25);getContentPane().add(contra);labe = new Label("ID:");labe.setBounds(370,430,30,25);
getContentPane().add(labe);
// Con addWindowListener se registra un receptor de eventos en la ventana. addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {exitForm(evt);
}});
// Con el addActionListener se asocia el evento del clic del mouse con el item del menú.
salir.addActionListener(new java.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent evt){
salida(evt);}
});
material1.addActionListener(new java.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent evt){
materia1(evt);}
});
boton2.addActionListener(new java.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent evt){
reserva(evt);}
});
eliminar.addActionListener(new java.awt.event.ActionListener(){public void actionPerformed(java.awt.event.ActionEvent evt){
elimina(evt);}
});
// Aquí se crea la ventana principal con sus dimensiones y color de fondo.// También se crea un archivo para almacenar los datos de los préstamos.setBackground((java.awt.Color)
javax.swing.UIManager.getDefaults().get("Button.background"));Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();setSize(new java.awt.Dimension(600, 550));setLocation((screenSize.width-786)/2,(screenSize.height-550)/2);getContentPane().setLayout(null);setVisible(true);lugar1="C:\\tarea\\archivos\\material.datos";lee1 = readFile(lugar1);datos1 = lee1.toString();separaString1(datos1);
} // Fin del public pantalla.
public void separaString1(String cadena){String eval,valor;int i,j=0;
for(i=0;i<cadena.length();i++){eval = cadena.substring(i,i+1);if(eval.equals(",")){
valor = cadena.substring(j,i+1);j=i+1;lista.addItem(valor);
}}
}
// En el método main creamos la pantalla.public static void main (String [] args){
new Pantalla();}
// Aquí se guarda en el archivo la información y salimos del sistema.private void salida(java.awt.event.ActionEvent evt){
String nuevo="";
for(int i=0;i<lista.getItemCount();i++){nuevo = nuevo + lista.getItem(i);
}saveFile(lugar1,nuevo,false);System.exit(0);
}
// Salimos de la pantallaprivate void exitForm(WindowEvent evt){
String nuevo="";
for(int i=0;i<lista.getItemCount();i++){nuevo = nuevo + lista.getItem(i);
}saveFile(lugar1,nuevo,false);System.exit(0);
}
// Método para reservar o prestar el libro o revista.private void reserva(ActionEvent evt){
if(contra.getText().equals("")){JOptionPane.showMessageDialog(getParent(),"Debe digitar el ID");
}else{
String nuevo;String linea = lista.getSelectedItem();int i = lista.getSelectedIndex();String valida = linea.substring(linea.length()-6,linea.length()-1);
if(valida.equals("LIBRE")){nuevo = linea.substring(0,linea.length()-6)+contra.getText()
+",";contra.setText("");lista.replaceItem(nuevo,i);
}else{
JOptionPane.showMessageDialog(getParent(),"Ese material ya esta reservado");
}}
}
// Método para eliminar de la lista los libros o revistas.private void elimina(ActionEvent evt){
String linea = lista.getSelectedItem();lista.remove(linea);
}
// Ventana para agregar un libro o revista.private void materia1(java.awt.event.ActionEvent evt){
dialogo2 = new Dialog(this);texto21 = new TextField();texto22 = new TextField();texto23 = new TextField();label21 = new Label("Tipo:");label22 = new Label("Codigo:");label23 = new Label("Nombre:");
label24 = new Label("Autor:");ok32 = new Button("Aceptar");choice2 = new Choice();dialogo2.setTitle("Agregar Material");dialogo2.setLocation(250,150);dialogo2.setSize(350,400);dialogo2.setLayout(null);dialogo2.show();texto21.setBounds(150,150,150,20);texto22.setBounds(150,180,150,20);texto23.setBounds(150,210,150,20);label21.setBounds(70,50,60,20);label22.setBounds(70,150,60,20);label23.setBounds(70,180,60,20);label24.setBounds(70,210,60,20);ok32.setBounds(125,320,100,30);choice2.setBounds(150,50,150,25);choice2.addItem("libro");choice2.addItem("revista");dialogo2.add(texto21);dialogo2.add(texto22);dialogo2.add(texto23);dialogo2.add(label21);dialogo2.add(label22);dialogo2.add(label23);dialogo2.add(label24);dialogo2.add(ok32);dialogo2.add(choice2);
// Con addWindowListener se registra un receptor de eventos en la ventana. dialogo2.addWindowListener(new java.awt.event.WindowAdapter(){
public void windowClosing(java.awt.event.WindowEvent evt){dialogo2.setVisible(false);
dialogo2.dispose(); } });
// Con el addActionListener se asocia el evento del clic del mouse con el item del menú.
ok32.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){
String material = choice2.getSelectedItem()+";"+texto21.getText()+";"+texto23.getText()+";"+texto22.getText()+";"+"LIBRE"+",";
dialogo2.setVisible(false);dialogo2.dispose();lista.addItem(material);
}});
} // Fin de la ventana agregar material.
// Método para abrir el archivo con la información.public StringBuffer readFile(String filename){
StringBuffer sb = new StringBuffer();try{
File file = new File(filename);String line = null;BufferedReader br = new BufferedReader(new FileReader(file));
while ((line = br.readLine()) != null){sb.append(line);
}br.close();
}catch (FileNotFoundException fnfe){}catch (IOException ioe){}return sb;
}
// Método para guardar el archivo con la información.
public void saveFile(String filename, String dataToWrite, boolean append){try{
FileWriter fw = new FileWriter(filename, append);fw.write(dataToWrite);fw.close();
}catch (IOException ioe){}
}
public String replaceValues (String path, String [] valuesToSearch, String [] valuesToReplace){
String line;StringBuffer textComplete = new StringBuffer();String tempText = "";
try{BufferedReader br = new BufferedReader(new FileReader(path));while ((line = br.readLine()) != null){
textComplete.append(line);}br.close();
}catch (FileNotFoundException fnfe){}catch (IOException ioe){}
for (int i=0; i<valuesToSearch.length; i++){int position = textComplete.indexOf(valuesToSearch[i]);if (position>0 ){
tempText = textComplete.substring(0,position);tempText = tempText + valuesToReplace[i] +
textComplete.substring(position+valuesToSearch[i].length(),textComplete.length());textComplete = new StringBuffer(tempText);
}}return tempText;
}
// Declaración de variables.private Menu menu1;
private Menu menu2; private MenuBar menubarra; private MenuItem about; private MenuItem salir; private MenuItem material1; private Button eliminar; private Label etiqueta; private Button boton2; private Dialog dialogo2; private TextField texto21; private TextField texto22; private TextField texto23; private Label label21; private Label label22; private Label label23; private Label label24; private Button ok32; private Choice choice2; private List lista; private String lugar1,datos1; private TextField contra; private Label labe;
} // Fin de la clase Pantalla.