|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2011
Messaggi: 1
|
Gui per esame AIUTO!!!
salve ho creato una gui che gestisce una lista attraverso un listIterator, ma quando a faccio partire mi fa fare soltanto una operazione e dopo non risponde più ai comandi... non riesco a trovare il problema potete aiutarmi? posto qui il codice:
package util; import javax.swing.*; import java.awt.*; import java.awt.event.*; @SuppressWarnings("serial") public class ListaGUI extends JFrame { private JMenuItem esci, nuovo, addFirst, addLast, removeFirst, removeLast, firstElem, lastElem, vistaElem, sort, about; private String titolo="Lista GUI"; private String impl=" Lista "; private Lista<String> lista=new ListaConcatenata<String>(); private String elemento; private boolean elementoOk; public ListaGUI(){ //costruttore setTitle("ListaGui"); setLocation(200,200); setSize(600,400); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ if(consensoUscita()) System.exit(0); } }); AscoltatoreEventiAzione listener=new AscoltatoreEventiAzione(); //creazione barra dei menù JMenuBar menuBar=new JMenuBar(); this.setJMenuBar(menuBar); //creazione file menù JMenu fileMenu=new JMenu("File"); menuBar.add(fileMenu); //creazione voci del menu File nuovo=new JMenuItem("Nuovo"); nuovo.addActionListener(listener); fileMenu.add(nuovo); esci=new JMenuItem("Esci"); esci.addActionListener(listener); fileMenu.add(esci); //creazione strumenti menù JMenu struMenu=new JMenu("Strumenti"); menuBar.add(struMenu); //creazione voci menu Strumenti JMenu tipoAdd=new JMenu("Aggiungi"); struMenu.add(tipoAdd); addFirst=new JMenuItem("Primo"); addFirst.addActionListener(listener); tipoAdd.add(addFirst); addLast=new JMenuItem("Ultimo"); addLast.addActionListener(listener); tipoAdd.add(addLast); JMenu tipoRem=new JMenu("Rimuovi"); struMenu.add(tipoRem); removeFirst=new JMenuItem("Primo"); removeFirst.addActionListener(listener); tipoRem.add(removeFirst); removeLast=new JMenuItem("Ultimo"); removeLast.addActionListener(listener); tipoRem.add(removeLast); firstElem=new JMenuItem("Primo elemento"); firstElem.addActionListener(listener); struMenu.add(firstElem); lastElem=new JMenuItem("Ultimo elemento"); lastElem.addActionListener(listener); struMenu.add(lastElem); vistaElem=new JMenuItem("Vedi lista"); vistaElem.addActionListener(listener); struMenu.add(vistaElem); sort=new JMenuItem("Ordina lista"); sort.addActionListener(listener); struMenu.add(sort); //creazione menu Aiuto JMenu helpMenu=new JMenu("Aiuto"); menuBar.add(helpMenu); about=new JMenuItem("About Lista"); about.addActionListener(listener); helpMenu.add(about); menuIniziale(); //pack(); }//costruttore private void menuIniziale() { addFirst.setEnabled(true); addLast.setEnabled(true); removeFirst.setEnabled(true); removeLast.setEnabled(true); firstElem.setEnabled(false); lastElem.setEnabled(false); vistaElem.setEnabled(true); }//menuiniziale private boolean consensoUscita() { int option=JOptionPane.showConfirmDialog( null, "Sei sicuro di vole uscire?", "Uscita", JOptionPane.YES_NO_OPTION); return option==JOptionPane.YES_OPTION; }//consensoUscita private class FrameAF extends JFrame implements ActionListener{ private JTextField elemento; private JButton ok; public FrameAF(){ setTitle("Aggiunta elemento iniziale"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e){ if( verificaUscita() ){ lista.addFirst(ListaGUI.this.elemento); } elemento.setText(""); elementoOk=false; FrameAF.this.setVisible(false); } }//windoeClosing ); elementoOk=false; JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); p.add( new JLabel("Elemento", JLabel.RIGHT) ); p.add( elemento=new JTextField("",12) ); p.add( ok=new JButton("OK") ); add(p); elemento.addActionListener(this); ok.addActionListener(this); setLocation(250,340); setSize(400,150); }//costruttore @Override public void actionPerformed(ActionEvent e) { if( e.getSource()==elemento ){ ListaGUI.this.elemento=elemento.getText(); ListaGUI.this.elementoOk=true; } else if( e.getSource()==ok ){ if( verificaUscita() ){ lista.addFirst(ListaGUI.this.elemento); this.setVisible(false); elementoOk=false; elemento.setText(""); } } }//actionPerformer private boolean verificaUscita(){ return elementoOk; }//verificaUscita }//FrameAF private class FrameAL extends JFrame implements ActionListener{ private JTextField elemento; private JButton ok; public FrameAL(){ setTitle("Aggiunta elemento finale"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e){ if( verificaUscita() ){ lista.addLast(ListaGUI.this.elemento); } elemento.setText(""); elementoOk=false; FrameAL.this.setVisible(false); } }//windoeClosing ); elementoOk=false; JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); p.add( new JLabel("Elemento", JLabel.RIGHT) ); p.add( elemento=new JTextField("",12) ); p.add( ok=new JButton("OK") ); add(p); elemento.addActionListener(this); ok.addActionListener(this); setLocation(250,340); setSize(400,150); }//costruttore @Override public void actionPerformed(ActionEvent e) { if( e.getSource()==elemento ){ ListaGUI.this.elemento=elemento.getText(); ListaGUI.this.elementoOk=true; } else if( e.getSource()==ok ){ if( verificaUscita() ){ lista.addLast(ListaGUI.this.elemento); this.setVisible(false); elementoOk=false; elemento.setText(""); } } }//actionPerformer private boolean verificaUscita(){ return elementoOk; }//verificaUscita }//FrameAL private class FrameRF extends JFrame{ @SuppressWarnings("unused") private JTextArea area; public FrameRF(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); JTextArea area=new JTextArea(10, 25); area.setEditable(false); JScrollPane sp=new JScrollPane( area ); p.add( sp ); add(p); if( lista.size()!=0 ) area.append( (String) lista.removeFirst() ); else area.append("Lista vuota!"); setLocation(250,340); setSize(400,150); }//costruttore }//FrameRF private class FrameRL extends JFrame{ @SuppressWarnings("unused") private JTextArea area; public FrameRL(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); JTextArea area=new JTextArea(10, 25); area.setEditable(false); JScrollPane sp=new JScrollPane( area ); p.add( sp ); add(p); if( lista.size()!=0 ) area.append( (String) lista.removeLast() ); else area.append("Lista vuota!"); setLocation(250,340); setSize(400,150); }//costruttore }//FrameRL private class FrameFE extends JFrame{ @SuppressWarnings("unused") private JTextArea area; public FrameFE(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); JTextArea area=new JTextArea(10, 25); area.setEditable(false); JScrollPane sp=new JScrollPane( area ); p.add( sp ); add(p); if( lista.size()!=0 ) area.append( (String) lista.getFirst() ); else area.append("Lista vuota!"); setLocation(250,340); setSize(400,150); }//costruttore }//FrameFE private class FrameLE extends JFrame{ @SuppressWarnings("unused") private JTextArea area; public FrameLE(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); JTextArea area=new JTextArea(10, 25); area.setEditable(false); JScrollPane sp=new JScrollPane( area ); p.add( sp ); add(p); if( lista.size()!=0 ) area.append( (String) lista.getLast() ); else area.append("Lista vuota!"); setLocation(250,340); setSize(400,150); }//costruttore }//FrameLE private class FrameNE extends JFrame{ @SuppressWarnings("unused") private JTextArea area; public FrameNE(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p=new JPanel(); p.setLayout( new FlowLayout() ); //ridondante JTextArea area=new JTextArea(10, 25); area.setEditable(false); JScrollPane sp=new JScrollPane( area ); p.add( sp ); add(p); area.append( lista.toString() ); setLocation(250,340); setSize(400,150); }//costruttore }//FrameNE private class AscoltatoreEventiAzione implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { if( e.getSource()==esci ){ if( consensoUscita() ) System.exit(0); } else if( e.getSource()==addFirst ){ impl = " Aggiungi Primo "; ListaGUI.this.setTitle(titolo+impl); FrameAF frameAF=new FrameAF(); frameAF.setVisible(true); } else if( e.getSource()==addLast ){ impl = " Aggiungi Ultimo "; ListaGUI.this.setTitle(titolo+impl); FrameAL frameAL=new FrameAL(); frameAL.setVisible(true); } else if( e.getSource()==removeFirst ){ impl = " Rimuovi Primo "; ListaGUI.this.setTitle(titolo+impl); FrameRF frameRF=new FrameRF(); frameRF.setVisible(true); } else if( e.getSource()==removeLast ){ impl = " Rimuovi Ultimo "; ListaGUI.this.setTitle(titolo+impl); FrameRL frameRL=new FrameRL(); frameRL.setVisible(true); } else if( e.getSource()==firstElem ){ impl = " Primo Elemento "; ListaGUI.this.setTitle(titolo+impl); FrameFE frameFE=new FrameFE(); frameFE.setVisible(true); } else if( e.getSource()==lastElem ){ impl = " Ultimo Elemento "; ListaGUI.this.setTitle(titolo+impl); FrameLE frameLE=new FrameLE(); frameLE.setVisible(true); } else if( e.getSource()==vistaElem ){ impl = " Numero Elemento "; ListaGUI.this.setTitle(titolo+impl); FrameNE frameNE=new FrameNE(); frameNE.setVisible(true); } else if( e.getSource()==nuovo ){ lista.clear(); } }//actionPerformer }//AsoltatoreEventiAzione public static void main( String []args ){ ListaGUI l=new ListaGUI(); l.setVisible(true); }//main }//class ListaGUI |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:27.



















