rendered paste bodyimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class GUI extends JFrame implements ActionListener { private JLabel jlbArtiest, jlbTitel, jlbLabel, jlbVoorraad; private JTextField jtfArtiest, jtfTitel, jtfLabel, jtfVoorraad; private JButton jbtAdd, jbtFind, jbtClear, jbtDelete, jbtUpdate, jbtList; private JMenuBar menuBar; private JMenu menuBestand, menuBewerken; private JMenuItem itemNieuw, itemOpen, itemSluit, itemClear, info; private JFrame frame; private Winkel winkel = new Winkel(); /** Creates a new instance of GUI */ public GUI() { this.jlbArtiest = new JLabel( "Artiest:"); this.jlbTitel = new JLabel( "Titel:"); this.jlbLabel = new JLabel( "Label:"); this.jlbVoorraad = new JLabel( "Voorraad:"); this.jtfArtiest = new JTextField( 30 ); this.jtfTitel = new JTextField( 30 ); this.jtfLabel = new JTextField( 20 ); this.jtfVoorraad = new JTextField( 5 ); this.jbtAdd = new JButton( "Add"); this.jbtDelete = new JButton( "Delete"); this.jbtFind = new JButton( "Find"); this.jbtClear = new JButton( "Clear"); this.jbtList = new JButton( "List"); this.menuBar = new JMenuBar(); menuBestand = new JMenu( "Bestand" ); menuBar.add( menuBestand ); info = new JMenuItem("info"); itemNieuw = new JMenuItem( "Nieuw" ); menuBestand.add( itemNieuw ); itemOpen = new JMenuItem( "Open" ); menuBestand.add( itemOpen ); itemSluit = new JMenuItem( "Sluit "); menuBestand.add( itemSluit ); menuBestand.add(info); menuBewerken = new JMenu( "Bewerken" ); menuBar.add( menuBewerken ); itemClear = new JMenuItem( "Clear" ); menuBewerken.add( itemClear ); setJMenuBar( menuBar ); setLayout( new FlowLayout() ); add( this.jlbArtiest ); add( this.jtfArtiest ); add( this.jlbTitel ); add( this.jtfTitel ); add( this.jlbLabel ); add( this.jtfLabel ); add( this.jlbVoorraad ); add( this.jtfVoorraad ); add( this.jbtAdd ); add( this.jbtFind ); add( this.jbtDelete ); add( this.jbtClear ); add( this.jbtList ); jbtAdd.addActionListener( this ); jbtFind.addActionListener( this ); jbtDelete.addActionListener( this ); jbtClear.addActionListener( this ); jbtList.addActionListener( this ); info.addActionListener(this); itemNieuw.addActionListener( this ); itemOpen.addActionListener( this ); itemSluit.addActionListener( this ); itemClear.addActionListener( this ); this.setTitle( "CD Winkel Plato"); this.setSize( 410, 200 ); this.setVisible( true ); } public void actionPerformed( ActionEvent e ) { if( e.getSource() == this.jbtAdd ) performAdd(); if( e.getSource() == this.jbtClear ) performClear(); if( e.getSource() == this.jbtFind ) performFind(); if( e.getSource() == this.jbtDelete ) performDelete(); if( e.getSource() == this.jbtList ) performList(); if( e.getSource() == this.itemNieuw ) performNieuw(); if( e.getSource() == this.itemOpen ) performOpen(); if( e.getSource() == this.itemSluit ) performSluit(); if( e.getSource() == this.itemClear ) performClear(); if( e.getSource() == this.info) geefInfo(); } private void geefInfo(){ frame = new JFrame(); Info informatie = new Info(frame); informatie.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); informatie.setSize(300, 300); informatie.setVisible(true); } private void performNieuw() { winkel.nieuw(); this.performClear(); } private void performOpen() { winkel.read("cd.dat"); } private void performSluit() { winkel.write("cd.dat"); } private void performAdd() { Cd cd = winkel.findCd( this.jtfArtiest.getText(), this.jtfTitel.getText() ); if( cd != null ) JOptionPane.showMessageDialog( this, "CD bestaat al!", "Foutmelding", JOptionPane.ERROR_MESSAGE ); else { int voorraad; try { voorraad = Integer.parseInt(this.jtfVoorraad.getText()); winkel.addCd( this.jtfArtiest.getText(), this.jtfTitel.getText(), this.jtfLabel.getText(), voorraad ); jtfVoorraad.setBackground( Color.white ); } catch (NumberFormatException ex) { jtfVoorraad.setBackground( Color.red ); JOptionPane.showMessageDialog( this, "Waarde veld voorraad niet valide!", "Foutmelding", JOptionPane.ERROR_MESSAGE ); } } } private void performClear() { this.jtfArtiest.setText( "" ); this.jtfTitel.setText( "" ); this.jtfLabel.setText( "" ); this.jtfVoorraad.setText( "" ); } private void performFind() { Cd cd = winkel.findCd( this.jtfArtiest.getText(), this.jtfTitel.getText() ); if( cd == null ) { JOptionPane.showMessageDialog( this, "CD niet gevonden!", "Foutmelding", JOptionPane.ERROR_MESSAGE ); performClear(); } else { jtfArtiest.setText( cd.getArtiest() ); jtfTitel.setText( cd.getTitel() ); jtfLabel.setText( cd.getLabel() ); jtfVoorraad.setText( "" + cd.getVoorraad() ); } } private void performDelete() { Cd cd = winkel.findCd( this.jtfArtiest.getText(), this.jtfTitel.getText() ); if( cd == null ) { JOptionPane.showMessageDialog( this, "CD niet gevonden!", "Foutmelding", JOptionPane.ERROR_MESSAGE ); } else { int option = JOptionPane.showConfirmDialog( this, "Deze CD echt verwijderen?", "Vraag", JOptionPane.YES_NO_OPTION ); if( option == JOptionPane.YES_OPTION ) { winkel.deleteCd( this.jtfArtiest.getText(), this.jtfTitel.getText() ); performClear(); } } } private void performList() { ListDialog ld = new ListDialog( this, winkel.getAll() ); } /** * @param args the command line arguments */ public static void main( String[] args ) { GUI gui = new GUI(); gui.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } }