PDA

View Full Version : [JAVA] JMenu


sartux
22-03-2008, 12:06
Ho realizzato diverse form per gestire delle tabelle di un database, vorrei richiamare queste form tramite il classico Jmenu, ma non riesco ad associare alle voci la chiamata alla relativa form.

Come faccio ad aprire una form (anche in popup) presente nello stesso package?

afsdfdlecosdfsfdcco
22-03-2008, 14:29
Ho realizzato diverse form per gestire delle tabelle di un database, vorrei richiamare queste form tramite il classico Jmenu, ma non riesco ad associare alle voci la chiamata alla relativa form.

Come faccio ad aprire una form (anche in popup) presente nello stesso package?

Immagino che i tuoi JMenu abbiano dei figli JMenuItem... In questo caso basta registrare un ActionListener:


import java.awt.event.*;
import javax.swing.*;

...
...


JMenuItem newWindow = new JMenuItem("Apri nuova finestra..");
newWindow.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
MyForm form = new MyForm();
form.setVisible(true);
// MyForm è una tua classe che estende JDialog o JFrame
}
});

sartux
22-03-2008, 15:48
Il problema nasce dal fatto che il Form risiede in un'altra classe ed associando al'evento del click del mouse

ProgettiForm formProgetti = new ProgettiForm();
formProgetti.setVisible(true);

non va.

vladix
22-03-2008, 16:38
ProgettiForm deve estendere JDialog

EDIT: che se nn ricordo male , deve avee un construttore che prende in input 2 parametri

public ProgettiForm(java.awt.Frame parent, boolean modal) {
super(parent, modal);
/* more code here */
}

sartux
22-03-2008, 18:05
ProgettiForm da inserire nel JMenu del Main (FastDevView)





package fastdev;

import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class ProgettiForm extends JDialog {

public ProgettiForm(java.awt.Frame parent, boolean modal) {



initComponents();
TableSelectionListener listener = new TableSelectionListener();



masterTable.getSelectionModel().addListSelectionListener(listener);
entityManager.getTransaction().begin();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

entityManager = javax.persistence.Persistence.createEntityManagerFactory("xwsPU").createEntityManager();
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(fastdev.FastDevApp.class).getContext().getResourceMap(ProgettiForm.class);
query = entityManager.createQuery(resourceMap.getString("query.query")); // NOI18N
list = org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());
masterScrollPane = new javax.swing.JScrollPane();
masterTable = new javax.swing.JTable();
nomeProgettoLabel = new javax.swing.JLabel();
clienteLabel = new javax.swing.JLabel();
descrizioneLabel = new javax.swing.JLabel();
oreLabel = new javax.swing.JLabel();
dataLabel = new javax.swing.JLabel();
nomeProgettoField = new javax.swing.JTextField();
clienteField = new javax.swing.JTextField();
descrizioneField = new javax.swing.JTextField();
oreField = new javax.swing.JTextField();
dataField = new javax.swing.JTextField();
saveButton = new javax.swing.JButton();
refreshButton = new javax.swing.JButton();
newButton = new javax.swing.JButton();
deleteButton = new javax.swing.JButton();

FormListener formListener = new FormListener();

setName("Form"); // NOI18N

masterScrollPane.setName("masterScrollPane"); // NOI18N

masterTable.setName("masterTable"); // NOI18N

org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, list, masterTable);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nomeProgetto}"));
columnBinding.setColumnName("Nome Progetto");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cliente}"));
columnBinding.setColumnName("Cliente");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${data}"));
columnBinding.setColumnName("Data");
columnBinding.setColumnClass(java.util.Date.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${ore}"));
columnBinding.setColumnName("Ore");
columnBinding.setColumnClass(Integer.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${descrizione}"));
columnBinding.setColumnName("Descrizione");
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
masterScrollPane.setViewportView(masterTable);

nomeProgettoLabel.setText(resourceMap.getString("nomeProgettoLabel.text")); // NOI18N
nomeProgettoLabel.setName("nomeProgettoLabel"); // NOI18N

clienteLabel.setText(resourceMap.getString("clienteLabel.text")); // NOI18N
clienteLabel.setName("clienteLabel"); // NOI18N

descrizioneLabel.setText(resourceMap.getString("descrizioneLabel.text")); // NOI18N
descrizioneLabel.setName("descrizioneLabel"); // NOI18N

oreLabel.setText(resourceMap.getString("oreLabel.text")); // NOI18N
oreLabel.setName("oreLabel"); // NOI18N

dataLabel.setText(resourceMap.getString("dataLabel.text")); // NOI18N
dataLabel.setName("dataLabel"); // NOI18N

nomeProgettoField.setName("nomeProgettoField"); // NOI18N

org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.nomeProgetto}"), nomeProgettoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), nomeProgettoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

clienteField.setName("clienteField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.cliente}"), clienteField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), clienteField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

descrizioneField.setName("descrizioneField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.descrizione}"), descrizioneField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), descrizioneField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

oreField.setName("oreField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.ore}"), oreField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), oreField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

dataField.setName("dataField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.data}"), dataField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), dataField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

saveButton.setText(resourceMap.getString("saveButton.text")); // NOI18N
saveButton.setName("saveButton"); // NOI18N
saveButton.addActionListener(formListener);

refreshButton.setText(resourceMap.getString("refreshButton.text")); // NOI18N
refreshButton.setName("refreshButton"); // NOI18N
refreshButton.addActionListener(formListener);

newButton.setText(resourceMap.getString("newButton.text")); // NOI18N
newButton.setName("newButton"); // NOI18N
newButton.addActionListener(formListener);

deleteButton.setText(resourceMap.getString("deleteButton.text")); // NOI18N
deleteButton.setEnabled(false);
deleteButton.setName("deleteButton"); // NOI18N
deleteButton.addActionListener(formListener);

org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(newButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(deleteButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(refreshButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(saveButton))
.add(masterScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 443, Short.MAX_VALUE)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(nomeProgettoLabel)
.add(clienteLabel))
.add(28, 28, 28)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(clienteField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 178, Short.MAX_VALUE)
.add(nomeProgettoField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 178, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(18, 18, 18)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(dataLabel)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(dataField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 63, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(layout.createSequentialGroup()
.add(oreLabel)
.add(18, 18, 18)
.add(oreField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(15, 15, 15))
.add(layout.createSequentialGroup()
.add(descrizioneLabel)
.add(18, 18, 18)
.add(descrizioneField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 347, Short.MAX_VALUE)))
.addContainerGap())
);

layout.linkSize(new java.awt.Component[] {deleteButton, newButton, refreshButton, saveButton}, org.jdesktop.layout.GroupLayout.HORIZONTAL);

layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(masterScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE)
.add(18, 18, 18)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(nomeProgettoLabel)
.add(nomeProgettoField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(dataLabel)
.add(dataField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(clienteLabel)
.add(clienteField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(oreLabel)
.add(oreField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(18, 18, 18)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(descrizioneLabel)
.add(descrizioneField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 81, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(saveButton)
.add(refreshButton)
.add(deleteButton)
.add(newButton))
.addContainerGap())
);

bindingGroup.bind();
}

// Code for dispatching events from components to event handlers.

private class FormListener implements java.awt.event.ActionListener {
FormListener() {}
public void actionPerformed(java.awt.event.ActionEvent evt) {
if (evt.getSource() == saveButton) {
ProgettiForm.this.saveButtonActionPerformed(evt);
}
else if (evt.getSource() == refreshButton) {
ProgettiForm.this.refreshButtonActionPerformed(evt);
}
else if (evt.getSource() == newButton) {
ProgettiForm.this.newButtonActionPerformed(evt);
}
else if (evt.getSource() == deleteButton) {
ProgettiForm.this.deleteButtonActionPerformed(evt);
}
}
}// </editor-fold>

private class TableSelectionListener implements ListSelectionListener {

public void valueChanged(ListSelectionEvent e) {
if (e.getSource() == masterTable.getSelectionModel()) {
boolean enabled = (masterTable.getSelectedRow() != -1);
deleteButton.setEnabled(enabled);
}
}

}

private void refreshButtonActionPerformed(java.awt.event.ActionEvent evt) {
entityManager.getTransaction().rollback();
entityManager.getTransaction().begin();
list.clear();
list.addAll(query.getResultList());
}

private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {
int[] selected = masterTable.getSelectedRows();
List<fastdev.Progetti> toRemove = new ArrayList<fastdev.Progetti>(selected.length);
for (int idx=0; idx<selected.length; idx++) {
fastdev.Progetti p = list.get(selected[idx]);
toRemove.add(p);
entityManager.remove(p);
}
list.removeAll(toRemove);
}

private void newButtonActionPerformed(java.awt.event.ActionEvent evt) {
fastdev.Progetti p = new fastdev.Progetti();
entityManager.persist(p);
list.add(p);
int row = list.size()-1;
masterTable.setRowSelectionInterval(row, row);
masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
}

private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
}


// Variables declaration - do not modify
private javax.swing.JTextField clienteField;
private javax.swing.JLabel clienteLabel;
private javax.swing.JTextField dataField;
private javax.swing.JLabel dataLabel;
private javax.swing.JButton deleteButton;
private javax.swing.JTextField descrizioneField;
private javax.swing.JLabel descrizioneLabel;
private javax.persistence.EntityManager entityManager;
private java.util.List<fastdev.Progetti> list;
private javax.swing.JScrollPane masterScrollPane;
private javax.swing.JTable masterTable;
private javax.swing.JButton newButton;
private javax.swing.JTextField nomeProgettoField;
private javax.swing.JLabel nomeProgettoLabel;
private javax.swing.JTextField oreField;
private javax.swing.JLabel oreLabel;
private javax.persistence.Query query;
private javax.swing.JButton refreshButton;
private javax.swing.JButton saveButton;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setContentPane(new ProgettiForm());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
});
}

}





Il Main

/*
* FastDevView.java
*/

package fastdev;

import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import org.jdesktop.application.Task;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import org.jdesktop.beansbinding.AbstractBindingListener;
import org.jdesktop.beansbinding.Binding;
import org.jdesktop.beansbinding.PropertyStateEvent;

/**
* The application's main frame.
*/
public class FastDevView extends FrameView {

public FastDevView(SingleFrameApplication app) {
super(app);

initComponents();

// status bar initialization - message timeout, idle icon and busy animation, etc
ResourceMap resourceMap = getResourceMap();
int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
messageTimer = new Timer(messageTimeout, new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusMessageLabel.setText("");
}
});
messageTimer.setRepeats(false);
int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
for (int i = 0; i < busyIcons.length; i++) {
busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
}
busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
public void actionPerformed(ActionEvent e) {
busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
}
});
idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);

// connecting action tasks to status bar via TaskMonitor
TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
String propertyName = evt.getPropertyName();
if ("started".equals(propertyName)) {
if (!busyIconTimer.isRunning()) {
statusAnimationLabel.setIcon(busyIcons[0]);
busyIconIndex = 0;
busyIconTimer.start();
}
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
} else if ("done".equals(propertyName)) {
busyIconTimer.stop();
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
progressBar.setValue(0);
} else if ("message".equals(propertyName)) {
String text = (String)(evt.getNewValue());
statusMessageLabel.setText((text == null) ? "" : text);
messageTimer.restart();
} else if ("progress".equals(propertyName)) {
int value = (Integer)(evt.getNewValue());
progressBar.setVisible(true);
progressBar.setIndeterminate(false);
progressBar.setValue(value);
}
}
});

// tracking table selection
masterTable.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
firePropertyChange("recordSelected", !isRecordSelected(), isRecordSelected());
}
});

// tracking changes to save
bindingGroup.addBindingListener(new AbstractBindingListener() {
@Override
public void targetChanged(Binding binding, PropertyStateEvent event) {
// save action observes saveNeeded property
setSaveNeeded(true);
}
});

// have a transaction started
entityManager.getTransaction().begin();
}


public boolean isSaveNeeded() {
return saveNeeded;
}

private void setSaveNeeded(boolean saveNeeded) {
if (saveNeeded != this.saveNeeded) {
this.saveNeeded = saveNeeded;
firePropertyChange("saveNeeded", !saveNeeded, saveNeeded);
}
}

public boolean isRecordSelected() {
return masterTable.getSelectedRow() != -1;
}


@Action
public void newRecord() {
fastdev.Clienti c = new fastdev.Clienti();
entityManager.persist(c);
list.add(c);
int row = list.size()-1;
masterTable.setRowSelectionInterval(row, row);
masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
setSaveNeeded(true);
}

@Action(enabledProperty = "recordSelected")
public void deleteRecord() {
int[] selected = masterTable.getSelectedRows();
List<fastdev.Clienti> toRemove = new ArrayList<fastdev.Clienti>(selected.length);
for (int idx=0; idx<selected.length; idx++) {
fastdev.Clienti c = list.get(selected[idx]);
toRemove.add(c);
entityManager.remove(c);
}
list.removeAll(toRemove);
setSaveNeeded(true);
}


@Action(enabledProperty = "saveNeeded")
public Task save() {
return new SaveTask(getApplication());
}

private class SaveTask extends Task {
SaveTask(org.jdesktop.application.Application app) {
super(app);
}
@Override protected Void doInBackground() {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
return null;
}
@Override protected void finished() {
setSaveNeeded(false);
}
}

/**
* An example action method showing how to create asynchronous tasks
* (running on background) and how to show their progress. Note the
* artificial 'Thread.sleep' calls making the task long enough to see the
* progress visualization - remove the sleeps for real application.
*/
@Action
public Task refresh() {
return new RefreshTask(getApplication());
}

private class RefreshTask extends Task {
RefreshTask(org.jdesktop.application.Application app) {
super(app);
}
@Override protected Void doInBackground() {
try {
setProgress(0, 0, 4);
setMessage("Rolling back the current changes...");
setProgress(1, 0, 4);
entityManager.getTransaction().rollback();
Thread.sleep(1000L); // remove for real app
setProgress(2, 0, 4);

setMessage("Starting a new transaction...");
entityManager.getTransaction().begin();
Thread.sleep(500L); // remove for real app
setProgress(3, 0, 4);

setMessage("Fetching new data...");
java.util.Collection data = query.getResultList();
Thread.sleep(1300L); // remove for real app
setProgress(4, 0, 4);

Thread.sleep(150L); // remove for real app
list.clear();
list.addAll(data);
} catch(InterruptedException ignore) { }
return null;
}
@Override protected void finished() {
setMessage("Done.");
setSaveNeeded(false);
}
}

@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame = FastDevApp.getApplication().getMainFrame();
aboutBox = new FastDevAboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
FastDevApp.getApplication().show(aboutBox);
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

mainPanel = new javax.swing.JPanel();
masterScrollPane = new javax.swing.JScrollPane();
masterTable = new javax.swing.JTable();
cognomeLabel = new javax.swing.JLabel();
nomeLabel = new javax.swing.JLabel();
emailLabel = new javax.swing.JLabel();
telefonoLabel = new javax.swing.JLabel();
viaLabel = new javax.swing.JLabel();
cittaLabel = new javax.swing.JLabel();
capLabel = new javax.swing.JLabel();
pivaLabel = new javax.swing.JLabel();
cognomeField = new javax.swing.JTextField();
nomeField = new javax.swing.JTextField();
emailField = new javax.swing.JTextField();
telefonoField = new javax.swing.JTextField();
viaField = new javax.swing.JTextField();
cittaField = new javax.swing.JTextField();
capField = new javax.swing.JTextField();
pivaField = new javax.swing.JTextField();
saveButton = new javax.swing.JButton();
refreshButton = new javax.swing.JButton();
newButton = new javax.swing.JButton();
deleteButton = new javax.swing.JButton();
menuBar = new javax.swing.JMenuBar();
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
javax.swing.JMenuItem newRecordMenuItem = new javax.swing.JMenuItem();
jMenuItem1 = new javax.swing.JMenuItem();
javax.swing.JMenuItem deleteRecordMenuItem = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
javax.swing.JMenuItem saveMenuItem = new javax.swing.JMenuItem();
javax.swing.JMenuItem refreshMenuItem = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
javax.swing.JMenu helpMenu = new javax.swing.JMenu();
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
statusPanel = new javax.swing.JPanel();
javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
statusMessageLabel = new javax.swing.JLabel();
statusAnimationLabel = new javax.swing.JLabel();
progressBar = new javax.swing.JProgressBar();
entityManager = javax.persistence.Persistence.createEntityManagerFactory("xwsPU").createEntityManager();
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(fastdev.FastDevApp.class).getContext().getResourceMap(FastDevView.class);
query = entityManager.createQuery(resourceMap.getString("query.query")); // NOI18N
list = org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());
jPopupMenu1 = new javax.swing.JPopupMenu();
jPopupMenu2 = new javax.swing.JPopupMenu();
jPanel1 = new javax.swing.JPanel();

mainPanel.setName("mainPanel"); // NOI18N

masterScrollPane.setName("masterScrollPane"); // NOI18N

masterTable.setName("masterTable"); // NOI18N

org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, list, masterTable);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cognome}"));
columnBinding.setColumnName("Cognome");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nome}"));
columnBinding.setColumnName("Nome");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${email}"));
columnBinding.setColumnName("Email");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${telefono}"));
columnBinding.setColumnName("Telefono");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${via}"));
columnBinding.setColumnName("Via");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${citta}"));
columnBinding.setColumnName("Citta");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cap}"));
columnBinding.setColumnName("Cap");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${piva}"));
columnBinding.setColumnName("Piva");
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
masterScrollPane.setViewportView(masterTable);

cognomeLabel.setText(resourceMap.getString("cognomeLabel.text")); // NOI18N
cognomeLabel.setName("cognomeLabel"); // NOI18N

nomeLabel.setText(resourceMap.getString("nomeLabel.text")); // NOI18N
nomeLabel.setName("nomeLabel"); // NOI18N

emailLabel.setText(resourceMap.getString("emailLabel.text")); // NOI18N
emailLabel.setName("emailLabel"); // NOI18N

telefonoLabel.setText(resourceMap.getString("telefonoLabel.text")); // NOI18N
telefonoLabel.setName("telefonoLabel"); // NOI18N

viaLabel.setText(resourceMap.getString("viaLabel.text")); // NOI18N
viaLabel.setName("viaLabel"); // NOI18N

cittaLabel.setText(resourceMap.getString("cittaLabel.text")); // NOI18N
cittaLabel.setName("cittaLabel"); // NOI18N

capLabel.setText(resourceMap.getString("capLabel.text")); // NOI18N
capLabel.setName("capLabel"); // NOI18N

pivaLabel.setText(resourceMap.getString("pivaLabel.text")); // NOI18N
pivaLabel.setName("pivaLabel"); // NOI18N

cognomeField.setName("cognomeField"); // NOI18N

org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.cognome}"), cognomeField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), cognomeField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

nomeField.setName("nomeField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.nome}"), nomeField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), nomeField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

emailField.setName("emailField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.email}"), emailField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), emailField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

telefonoField.setName("telefonoField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.telefono}"), telefonoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), telefonoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

viaField.setName("viaField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.via}"), viaField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), viaField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

cittaField.setName("cittaField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.citta}"), cittaField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), cittaField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

capField.setName("capField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.cap}"), capField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), capField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

pivaField.setName("pivaField"); // NOI18N

binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.piva}"), pivaField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), pivaField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);

javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(fastdev.FastDevApp.class).getContext().getActionMap(FastDevView.class, this);
saveButton.setAction(actionMap.get("save")); // NOI18N
saveButton.setName("saveButton"); // NOI18N

refreshButton.setAction(actionMap.get("refresh")); // NOI18N
refreshButton.setName("refreshButton"); // NOI18N

newButton.setAction(actionMap.get("newRecord")); // NOI18N
newButton.setName("newButton"); // NOI18N

deleteButton.setAction(actionMap.get("deleteRecord")); // NOI18N
deleteButton.setName("deleteButton"); // NOI18N

org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.add(66, 66, 66)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.add(cognomeLabel)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(cognomeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 141, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(mainPanelLayout.createSequentialGroup()
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(emailLabel)
.add(viaLabel)
.add(capLabel))
.add(36, 36, 36)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(capField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 52, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(viaField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE)
.add(emailField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE))))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(telefonoLabel)
.add(cittaLabel)
.add(nomeLabel)
.add(pivaLabel))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(pivaField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 167, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(nomeField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 169, Short.MAX_VALUE)
.add(cittaField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 103, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(telefonoField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 169, Short.MAX_VALUE))))
.add(mainPanelLayout.createSequentialGroup()
.add(newButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(deleteButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(refreshButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(saveButton)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 211, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
.add(73, 73, 73))
.add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
.add(masterScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 582, Short.MAX_VALUE)
.addContainerGap())))
);

mainPanelLayout.linkSize(new java.awt.Component[] {deleteButton, newButton, refreshButton, saveButton}, org.jdesktop.layout.GroupLayout.HORIZONTAL);

mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, mainPanelLayout.createSequentialGroup()
.add(35, 35, 35)
.add(masterScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(cognomeLabel)
.add(cognomeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(nomeLabel)
.add(nomeField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(emailLabel)
.add(emailField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(telefonoLabel)
.add(telefonoField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(viaLabel)
.add(viaField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(cittaLabel)
.add(cittaField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(pivaLabel)
.add(pivaField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(mainPanelLayout.createSequentialGroup()
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(capField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(capLabel))))
.add(32, 32, 32)
.add(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(saveButton)
.add(refreshButton)
.add(deleteButton)
.add(newButton))
.add(17, 17, 17))
);

menuBar.setName("menuBar"); // NOI18N

fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
fileMenu.setName("fileMenu"); // NOI18N

newRecordMenuItem.setAction(actionMap.get("newRecord")); // NOI18N
newRecordMenuItem.setName("newRecordMenuItem"); // NOI18N
fileMenu.add(newRecordMenuItem);

jMenuItem1.setText(resourceMap.getString("jMenuItem1.text")); // NOI18N
jMenuItem1.setName("jMenuItem1"); // NOI18N
jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenuItem1MouseClicked(evt);
}
});
fileMenu.add(jMenuItem1);

deleteRecordMenuItem.setAction(actionMap.get("deleteRecord")); // NOI18N
deleteRecordMenuItem.setName("deleteRecordMenuItem"); // NOI18N
fileMenu.add(deleteRecordMenuItem);

jSeparator1.setName("jSeparator1"); // NOI18N
fileMenu.add(jSeparator1);

saveMenuItem.setAction(actionMap.get("save")); // NOI18N
saveMenuItem.setName("saveMenuItem"); // NOI18N
fileMenu.add(saveMenuItem);

refreshMenuItem.setAction(actionMap.get("refresh")); // NOI18N
refreshMenuItem.setName("refreshMenuItem"); // NOI18N
fileMenu.add(refreshMenuItem);

jSeparator2.setName("jSeparator2"); // NOI18N
fileMenu.add(jSeparator2);

exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
exitMenuItem.setName("exitMenuItem"); // NOI18N
fileMenu.add(exitMenuItem);

menuBar.add(fileMenu);

helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
helpMenu.setName("helpMenu"); // NOI18N

aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
aboutMenuItem.setName("aboutMenuItem"); // NOI18N
helpMenu.add(aboutMenuItem);

menuBar.add(helpMenu);

statusPanel.setName("statusPanel"); // NOI18N
statusPanel.setLayout(new java.awt.BorderLayout());

statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusPanel.add(statusPanelSeparator, java.awt.BorderLayout.CENTER);

statusMessageLabel.setName("statusMessageLabel"); // NOI18N
statusPanel.add(statusMessageLabel, java.awt.BorderLayout.PAGE_START);

statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
statusPanel.add(statusAnimationLabel, java.awt.BorderLayout.PAGE_END);

progressBar.setName("progressBar"); // NOI18N
statusPanel.add(progressBar, java.awt.BorderLayout.LINE_END);

jPopupMenu1.setName("jPopupMenu1"); // NOI18N

jPopupMenu2.setName("jPopupMenu2"); // NOI18N

jPanel1.setName("jPanel1"); // NOI18N

org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 100, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 100, Short.MAX_VALUE)
);

setComponent(mainPanel);
setMenuBar(menuBar);
setStatusBar(statusPanel);

bindingGroup.bind();
}// </editor-fold>

private void jMenuItem1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:


ProgettiForm formProgetti = new ProgettiForm();
formProgetti.setVisible(true);


}

// Variables declaration - do not modify
private javax.swing.JTextField capField;
private javax.swing.JLabel capLabel;
private javax.swing.JTextField cittaField;
private javax.swing.JLabel cittaLabel;
private javax.swing.JTextField cognomeField;
private javax.swing.JLabel cognomeLabel;
private javax.swing.JButton deleteButton;
private javax.swing.JTextField emailField;
private javax.swing.JLabel emailLabel;
private javax.persistence.EntityManager entityManager;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPopupMenu jPopupMenu1;
private javax.swing.JPopupMenu jPopupMenu2;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private java.util.List<fastdev.Clienti> list;
private javax.swing.JPanel mainPanel;
private javax.swing.JScrollPane masterScrollPane;
private javax.swing.JTable masterTable;
private javax.swing.JMenuBar menuBar;
private javax.swing.JButton newButton;
private javax.swing.JTextField nomeField;
private javax.swing.JLabel nomeLabel;
private javax.swing.JTextField pivaField;
private javax.swing.JLabel pivaLabel;
private javax.swing.JProgressBar progressBar;
private javax.persistence.Query query;
private javax.swing.JButton refreshButton;
private javax.swing.JButton saveButton;
private javax.swing.JLabel statusAnimationLabel;
private javax.swing.JLabel statusMessageLabel;
private javax.swing.JPanel statusPanel;
private javax.swing.JTextField telefonoField;
private javax.swing.JLabel telefonoLabel;
private javax.swing.JTextField viaField;
private javax.swing.JLabel viaLabel;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration

private final Timer messageTimer;
private final Timer busyIconTimer;
private final Icon idleIcon;
private final Icon[] busyIcons = new Icon[15];
private int busyIconIndex = 0;

private JDialog aboutBox;

private boolean saveNeeded;
}