Realizar un programa con interfaz gráfica titulado Librería que nos permita ingresar información de un libro como:
1. Titulo del libro
2. Edición
3. Precio
4. Clave
El programa deberá guardar la información en un archivo de .txt en forma de caracteres, ademas deberá mostrar la información de cada uno de los libros de manera simultanea.
Captura de muestra:
Clase Principal Libreria:
1. Titulo del libro
2. Edición
3. Precio
4. Clave
El programa deberá guardar la información en un archivo de .txt en forma de caracteres, ademas deberá mostrar la información de cada uno de los libros de manera simultanea.
Captura de muestra:
Clase Principal Libreria:
package libreria; //@author Oliver //http://blog2000.blogspot.mx/ import java.io.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.Scanner; // Clase PRINCIPAL public class Libreria extends JFrame implements ActionListener { private JMenuBar barra; private JMenu menu1, menu2, menu3; private JMenuItem submenu1, submenu2, submenu3; private JLabel bienvenido; private JLabel lbl1, lbl2, lbl3, lbl4; private JTextField tituloL, edicion, precio, clave; private JButton guardar, mostrar, limpiar, salir; public Libreria() { barra = new JMenuBar(); barra.setBounds(0,0,615,30); //(x, y, width, height) menu1 = new JMenu ("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Archivo</p></html>"); menu1.setForeground(new Color(0xFFFFFF)); menu2 = new JMenu("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Acciones</p></html>"); menu2.setForeground(new Color(0xFFFFFF)); menu3 = new JMenu("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Edición</p></html>"); menu3.setForeground(new Color(0xFFFFFF)); barra.add(menu1); barra.add(menu2); barra.add(menu3); barra.setBackground(new Color(0x000000)); submenu1 = new JMenuItem("Salir"); submenu2 = new JMenuItem("Limpiar"); submenu3 = new JMenuItem("Mostrar"); menu1.add(submenu1); menu2.add(submenu2); menu2.add(submenu3); // JLabel que agrega un TITULO PRINCIPAL bienvenido = new JLabel("<html><p style="border-left: solid 10px #B40404; border-top: solid 10px #B40404; border-right: solid 10px #B40404; padding-left: 10px; padding-right: 10px;">LIBRERIA</p></html>"); bienvenido.setBounds(130, 30, 350, 100); // (x, y, width, height) bienvenido.setFont(new Font("ALGERIAN", 0, 50)); bienvenido.setForeground(new Color(0x000000)); // JLabel que agrega un TEXTO lbl1 = new JLabel("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Titulo del libro:</p></html>"); lbl1.setBounds(30, 40, 500, 200); // (x, y, width, height) lbl1.setFont(new Font("Impact", 0, 30)); lbl1.setForeground(new Color(0x000000)); // JTextField que agrega un CAMPO DE TEXTO tituloL = new JTextField(""); tituloL.setBounds(255, 125, 275, 30); // (x, y, width, height) tituloL.setFont(new Font("Arial", 0, 20)); tituloL.setForeground(new Color(0x000000)); tituloL.setBackground(new Color(0xDDDDDD)); // JLabel que agrega un TEXTO lbl2 = new JLabel("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Edicion:</p></html>"); lbl2.setBounds(30, 80, 500, 200); // (x, y, width, height) lbl2.setFont(new Font("Impact", 0, 30)); lbl2.setForeground(new Color(0x000000)); // JTextField que agrega un CAMPO DE TEXTO edicion = new JTextField(""); edicion.setBounds(165, 165, 365, 30); // (x, y, width, height) edicion.setFont(new Font("Arial", 0, 20)); edicion.setForeground(new Color(0x000000)); edicion.setBackground(new Color(0xDDDDDD)); // JLabel que agrega un TEXTO lbl3 = new JLabel("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Precio:</p></html>"); lbl3.setBounds(30, 120, 500, 200); // (x, y, width, height) lbl3.setFont(new Font("Impact", 0, 30)); lbl3.setForeground(new Color(0x000000)); // JTextField que agrega un CAMPO DE TEXTO precio = new JTextField(""); precio.setBounds(155, 205, 375, 30); // (x, y, width, height) precio.setFont(new Font("Arial", 0, 20)); precio.setForeground(new Color(0x000000)); precio.setBackground(new Color(0xDDDDDD)); // JLabel que agrega un TEXTO lbl4 = new JLabel("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Clave:</p></html>"); lbl4.setBounds(30, 160, 500, 200); // (x, y, width, height) lbl4.setFont(new Font("Impact", 0, 30)); lbl4.setForeground(new Color(0x000000)); // JTextField que agrega un CAMPO DE TEXTO clave = new JTextField(""); clave.setBounds(140, 245, 390, 30); // (x, y, width, height) clave.setFont(new Font("Arial", 0, 20)); clave.setForeground(new Color(0x000000)); clave.setBackground(new Color(0xDDDDDD)); // JButton que agrega un BOTON guardar = new JButton("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Guardar</p></html>"); guardar.setBounds(30, 300, 130, 30); // (x, y, width, height) guardar.setFont(new Font("Arial", 0, 20)); guardar.setForeground(new Color(0xFFFFFF)); guardar.setBackground(new Color(0x000000)); guardar.setToolTipText("Pulsa para guardar"); // JButton que agrega un BOTON mostrar = new JButton("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Mostrar</p></hmtl>"); mostrar.setBounds(170, 300, 130, 30); // (x, y, width, height) mostrar.setFont(new Font("Arial", 0, 20)); mostrar.setForeground(new Color(0xFFFFFF)); mostrar.setBackground(new Color(0x000000)); mostrar.setToolTipText("Pulsa para mostrar"); // JButton que agrega un BOTON limpiar = new JButton("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Limpiar</p></hmtl>"); limpiar.setBounds(310, 300, 130, 30); // (x, y, width, height) limpiar.setFont(new Font("Arial", 0, 20)); limpiar.setForeground(new Color(0xFFFFFF)); limpiar.setBackground(new Color(0x000000)); limpiar.setToolTipText("Pulsa para limpiar"); // JButton que agrega un BOTON salir = new JButton("<html><p style="border-left: solid 10px #B40404; padding-left: 10px;">Salir</p></html>"); salir.setBounds(450, 300, 130, 30); // (x, y, width, height) salir.setFont(new Font("Arial", 0, 20)); salir.setForeground(new Color(0xFFFFFF)); salir.setBackground(new Color(0x000000)); salir.setToolTipText("Pulsa para salir"); guardar.addActionListener(this); mostrar.addActionListener(this); limpiar.addActionListener(this); salir.addActionListener(this); submenu1.addActionListener(this); submenu2.addActionListener(this); submenu3.addActionListener(this); getContentPane().add(guardar); getContentPane().add(mostrar); getContentPane().add(limpiar); getContentPane().add(salir); getContentPane().add(lbl1); getContentPane().add(lbl2); getContentPane().add(lbl3); getContentPane().add(lbl4); getContentPane().add(bienvenido); getContentPane().add(tituloL); getContentPane().add(edicion); getContentPane().add(precio); getContentPane().add(clave); getContentPane().add(barra); add(Imagen1()); //Ventana GENERAL setLayout(null); setSize(615, 400); //(width, height) setTitle("Formulario"); setLocationRelativeTo(null); setVisible(true); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); } // JLabel que agrega una IMAGEN private JLabel Imagen1() { // Se crea el objeto JLabel JLabel imagen = new JLabel(new ImageIcon("Libreria.png")); // Le damos una ubicación dentro del Frame imagen.setBounds(470, 40, 150, 100); //(x, y, width, height) return imagen; } // Metodo Leer public void Leer()throws IOException { Scanner fileIn; String line; try{ fileIn = new Scanner(new FileReader("ArchRegistros.txt")); // csv, pdf, doc, ppt, txt, bat etc,. while(fileIn.hasNextLine()){ line = fileIn.nextLine(); JOptionPane.showMessageDialog(null,line + "n"); } fileIn.close(); } catch(FileNotFoundException e) { JOptionPane.showMessageDialog(null,"Error : " + e.getMessage()); } } // Metodo Guardar public void Guardar()throws IOException { try { PrintWriter fileOut; fileOut = new PrintWriter(new FileWriter("ArchRegistros.txt",true)); // csv, pdf, doc, ppt, txt, bat etc,. String line = ("Titulo del libro: "+tituloL.getText()+""+" Edicion: "+edicion.getText()+""+" Precio: "+""+precio.getText()+""+" Clave: "+""+clave.getText()); fileOut.println(line); setBackground(new Color(0x660000)); fileOut.close(); } catch(IOException e) { JOptionPane.showMessageDialog(null,"Error : " + e.getMessage()); } } public void actionPerformed (ActionEvent e) { if (e.getSource().equals(submenu1)) { System.exit(0); } if (e.getSource().equals(submenu3)) { try { Leer(); } catch (IOException e1) { e1.printStackTrace(); } } if (e.getSource().equals(mostrar)) { try { Leer(); } catch (IOException e1) { e1.printStackTrace(); } } if (e.getSource().equals(submenu2)) { tituloL.setText(""); edicion.setText(""); precio.setText(""); clave.setText(""); } if(e.getSource().equals(salir)) { System.exit(0); } if(e.getSource().equals(limpiar)) { tituloL.setText(""); edicion.setText(""); precio.setText(""); clave.setText(""); } if(e.getSource().equals(guardar)) { try { Guardar(); } catch (IOException e1) { e1.printStackTrace(); } } } //Main PRINCIPAL public static void main(String[] args) { //Objeto Libreria x = new Libreria(); } }