codice:
package interfacciaGrafica;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.TextArea;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.ObjectInputStream;
import java.sql.Date;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EtchedBorder;
import javax.swing.table.DefaultTableModel;
import Ascoltatori.AscoltatoreBottoneDettagliMagazzino;
import Ascoltatori.AscoltatoreBottoneNuovoArchivio;
import Ascoltatori.ascoltatoreBottoneAggiungiArticolo;
import Ascoltatori.ascoltatoreBottoneCancellaCronologia;
import Ascoltatori.ascoltatoreBottoneCaricaMagazzino;
import Ascoltatori.ascoltatoreBottoneCerca;
import Ascoltatori.ascoltatoreBottoneEsciProgramma;
import Ascoltatori.ascoltatoreBottoneRimuoviArticolo;
import Ascoltatori.ascoltatoreBottoneRimuoviTutto;
import Ascoltatori.ascoltatoreBottoneSalvaMagazzino;
import Ascoltatori.ascoltatoreBottoneVisualizzaCaratteristiche;
import Ascoltatori.ascoltatoreJTable;
import Ascoltatori.ascoltatoreMouseJTable;
import Oggetti.MagazzinoArticoli;
import Oggetti.MioTableModel;
public class InterfacciaPrincipale extends JFrame {
public static InterfacciaPrincipale ip;
//
private JMenuBar barraDeiMenu = new JMenuBar();
private JMenu menuFile = new JMenu("File");
private JMenuItem NuovoArchivio = new JMenuItem("Nuovo Archivio");
private JMenuItem SalvaM = new JMenuItem("Salva Magazzino...");
private JMenuItem CaricaM = new JMenuItem("Carica Magazzino...");
private JMenuItem Esci = new JMenuItem("Esci");
private JMenu menuArticolo = new JMenu("Articolo");
private JMenuItem AggiungiArticolo = new JMenuItem("Aggiungi Articolo...");
private JMenuItem RimuoviArticolo = new JMenuItem("RimuoviArticolo");
private JMenuItem VisualizzaCaratteristiche = new JMenuItem("Visualizza Caratteristiche");
private JMenu menuMagazzino = new JMenu("Magazzino");
private JMenuItem DettagliMagazzino = new JMenuItem("Dettagli Magazzino...");
private JMenuItem RimuoviTutto = new JMenuItem("Rimuovi Tutto");
//COMPONENTI MENU'
//
public static GridBagLayout layoutGriglia = new GridBagLayout();
public static EtchedBorder bordo = new EtchedBorder();
// LAYOUT E BORDO PER I PANNELLI
//
public static Point VerticeInizialeP1;
public static Point VerticeFinestraAggiungiArt;
public static Point VerticeFinestraCaratteristicheArt;
public static Point VerticeFinestraDettagliMagazzino;
public static Point VerticeFinestraVendiArticolo;
public static Point VerticeFinestraModificaArticolo;
//VERTICI DI RIFERIMENTO PER IL POSIZIONAMENTO DELLE FINESTRE
public MagazzinoArticoli Magazzino = new MagazzinoArticoli();
//
public static JTextField campoRicerca = new JTextField();
private JButton bottoneRicerca = new JButton("CERCA");
private JButton bottoneAggiungiArticolo = new JButton("Aggiungi Articolo");
private JButton bottoneRimuoviArticolo = new JButton("Rimuovi Articolo");
private JButton bottoneRimuoviTutto = new JButton("Rimuovi Tutto");
private JButton bottoneVisualizzaArticolo = new JButton("Visualizza Articolo");
public static JButton bottoneCaricaMagazzino = new JButton("Carica Magazzino");
public static JButton bottoneEsciProgramma = new JButton("Esci");
private JButton bottoneSalvaMagazzino = new JButton("Salva Magazzino");
//COMPONENTI PANNELLO 1
//
private JLabel labelCronologiaEventi = new JLabel("CRONOLOGIA EVENTI");
private JButton bottoneCancellaCronologia = new JButton("Cancella Cronologia");
public static TextArea textareaEventiMagazzino = new TextArea();
//COMPONENTI PANNELLO 2
//
public static MioTableModel modelloJTable = new MioTableModel();
public static JTable Jtable = new JTable(modelloJTable);
public JScrollPane barraScorrimentoJtable = new JScrollPane(Jtable);
//COMPONENTI PANNELLO 3
//
//
public static JFileChooser JFCS = new JFileChooser();
public static JFileChooser JFC = new JFileChooser();
//JFILECHOOSER SALVA E CARICA
//
public static boolean flagModifica = false;
//FLAG PER VERIFICARE LE MODIFICHE DI JTABLE
public InterfacciaPrincipale(){
super();
this.setTitle("StoreManager versione 1.0");
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener (new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
if(flagModifica == true){
NotificaSalvataggioCambiamenti.nsc = new NotificaSalvataggioCambiamenti();
System.exit(0);
}
else
System.exit(0);
}
});
this.inizializzaGUI();
this.addComponentListener(new ComponentAdapter(){
public void componentMoved(ComponentEvent e){
VerticeInizialeP1 = getLocation();
}
});
this.setSize(1200, 500);
this.setVisible(true);
}//COSTRUTTORE INTERFACCIA PRINCIPALE
private void inizializzaGUI(){
Box boxOrizzontale1 = Box.createHorizontalBox();
Box boxVerticale = Box.createVerticalBox();
Box boxOrizzontale2 = Box.createHorizontalBox();
boxOrizzontale1.add(boxVerticale);
boxOrizzontale1.add(boxOrizzontale2);
//
barraDeiMenu.add(menuFile);
menuFile.add(NuovoArchivio);
ActionListener BNARCH = new AscoltatoreBottoneNuovoArchivio(this);
NuovoArchivio.addActionListener(BNARCH);
menuFile.add(SalvaM);
ActionListener BSMAG = new ascoltatoreBottoneSalvaMagazzino(this);
SalvaM.addActionListener(BSMAG);
menuFile.add(CaricaM);
ActionListener BCMAG = new ascoltatoreBottoneCaricaMagazzino(this);
CaricaM.addActionListener(BCMAG);
menuFile.add(Esci);
ActionListener EMAG = new ascoltatoreBottoneEsciProgramma(this);
Esci.addActionListener(EMAG);
barraDeiMenu.add(menuArticolo);
menuArticolo.add(AggiungiArticolo);
ActionListener BAAM = new ascoltatoreBottoneAggiungiArticolo(this);
AggiungiArticolo.addActionListener(BAAM);
menuArticolo.add(RimuoviArticolo);
ActionListener BRAM = new ascoltatoreBottoneRimuoviArticolo(this);
RimuoviArticolo.addActionListener(BRAM);
menuArticolo.add(VisualizzaCaratteristiche);
ActionListener BVCM = new ascoltatoreBottoneVisualizzaCaratteristiche(this);
VisualizzaCaratteristiche.addActionListener(BVCM);
barraDeiMenu.add(menuMagazzino);
menuMagazzino.add(DettagliMagazzino);
ActionListener BDM = new AscoltatoreBottoneDettagliMagazzino(this);
DettagliMagazzino.addActionListener(BDM);
menuMagazzino.add(RimuoviTutto);
ActionListener BRTM = new ascoltatoreBottoneRimuoviTutto(this);
RimuoviTutto.addActionListener(BRTM);
setJMenuBar(barraDeiMenu);
//MENU
//
JPanel pannello1 = new JPanel();
pannello1.setBorder(bordo);
pannello1.setLayout(layoutGriglia);
boxVerticale.add(pannello1);
pannello1.add(campoRicerca , new GBC(0,0).setIpad(128,5).setInsets(5,5,5,5));
pannello1.add(bottoneRicerca , new GBC(0,1).setIpad(58,0));
ActionListener ABR = new ascoltatoreBottoneCerca(this);
bottoneRicerca.addActionListener(ABR);
pannello1.add(bottoneAggiungiArticolo, new GBC(0,2).setIpad(1,0).setInsets(5,5,5,5));
ActionListener BAA = new ascoltatoreBottoneAggiungiArticolo(this);
bottoneAggiungiArticolo.addActionListener(BAA);
pannello1.add(bottoneRimuoviArticolo , new GBC(0,3).setIpad(5,0));
ActionListener BRA = new ascoltatoreBottoneRimuoviArticolo(this);
bottoneRimuoviArticolo.addActionListener(BRA);
pannello1.add(bottoneRimuoviTutto , new GBC(1,3).setIpad(27,0));
ActionListener BRT = new ascoltatoreBottoneRimuoviTutto(this);
bottoneRimuoviTutto.addActionListener(BRT);
pannello1.add(bottoneVisualizzaArticolo , new GBC(2,3).setInsets(0,5,0,0));
ActionListener ABVA = new ascoltatoreBottoneVisualizzaCaratteristiche(this);
bottoneVisualizzaArticolo.addActionListener(ABVA);
pannello1.add(bottoneCaricaMagazzino, new GBC(2,0).setIpad(3,0).setInsets(0,5,0,0));
ActionListener ABCAM = new ascoltatoreBottoneCaricaMagazzino(this);
bottoneCaricaMagazzino.addActionListener(ABCAM);
pannello1.add(bottoneSalvaMagazzino, new GBC(2,1).setIpad(9,0).setInsets(0,5,0,0));
ActionListener ABSM = new ascoltatoreBottoneSalvaMagazzino(this);
bottoneSalvaMagazzino.addActionListener(ABSM);
pannello1.add(bottoneEsciProgramma , new GBC(2,2).setIpad(79,0).setInsets(0,5,0,0));
ActionListener ABEP = new ascoltatoreBottoneEsciProgramma(this);
bottoneEsciProgramma.addActionListener(ABEP);
//PANNELLO 1
//
JPanel pannello2 = new JPanel();
pannello2.setBorder(bordo);
pannello2.setLayout(layoutGriglia);
boxVerticale.add(pannello2);
pannello2.add(labelCronologiaEventi , new GBC(0,1).setInsets(5,0,5,0));
pannello2.add(textareaEventiMagazzino , new GBC(0,2).setInsets(0,10,0,10));
textareaEventiMagazzino.setEditable(false);
pannello2.add(bottoneCancellaCronologia , new GBC(0,4).setInsets(5,0,0,0));
ActionListener BCRON = new ascoltatoreBottoneCancellaCronologia(this);
bottoneCancellaCronologia.addActionListener(BCRON);
//PANNELLO 2
//
JPanel pannello3 = new JPanel();
pannello3.setBorder(bordo);
pannello3.setLayout(layoutGriglia);
boxOrizzontale2.add(pannello3);
pannello3.add(barraScorrimentoJtable , new GBC(1,0).setIpad(240, 0).setInsets(0,0,0,0));
ascoltatoreJTable AJT = new ascoltatoreJTable();
modelloJTable.addTableModelListener(AJT);
modelloJTable.addColumn("TIPOLOGIA");
modelloJTable.addColumn("MARCA");
modelloJTable.addColumn("MODELLO");
modelloJTable.addColumn("QUANTITA'");
modelloJTable.addColumn("PREZZO UNITARIO");
modelloJTable.addColumn("CODICE ARTICOLO");
Jtable.setAutoCreateRowSorter(true);
ascoltatoreMouseJTable AMJ = new ascoltatoreMouseJTable();
Jtable.addMouseListener(AMJ);
//PANNELLO 3
this.getContentPane().add(boxOrizzontale1);
}//INIZIALIZZA GUI
public MagazzinoArticoli getMagazzino(){
return Magazzino;
}
public static void main (String [] args){
ip = new InterfacciaPrincipale();
flagModifica = false;
File file = new File("Store Manager_Conf.txt");
if(file.exists()){
try{
BufferedReader br = new BufferedReader(new FileReader(file));
String percorso = br.readLine();
ObjectInputStream in = new ObjectInputStream(new FileInputStream(percorso));
ip.getMagazzino().CaricaMagazzino(in);
//flagModifica = false;
}catch(Exception err){
err.printStackTrace();
}
}//IF
}//MAIN
}//INTERFACCIA PRINCIPALE