/************************************************************************
* Copyright (C) 19aa Claudio Reggiani alias Nophiq *
* Questo programma è software libero; è lecito ridistribuirlo e/o *
* modificarlo secondo i termini della Licenza Pubblica Generica GNU *
* come pubblicata dalla Free Software Foundation; o la versione 2 *
* della licenza o (a scelta) una versione successiva. *
* *
* Questo programma è distribuito nella speranza che sia utile, ma *
* SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di *
* COMMERCIABILITÀ o di APPLICABILITÀ PER UN PARTICOLARE SCOPO. Si *
* veda la Licenza Pubblica Generica GNU per avere maggiori dettagli. *
* *
* Ognuno dovrebbe avere ricevuto una copia della Licenza Pubblica *
* Generica GNU insieme a questo programma; in caso contrario, la si *
* può ottenere dalla Free Software Foundation, Inc., 675 Mass Ave, *
* Cambridge, MA 02139, Stati Uniti. *
* *
* Per contattarmi attraverso posta elettronica: nophiq@virgilio.it *
************************************************************************/
package albero;
/**
*
* @author nophiq
*/
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
/**
*
* @author nophiq
*/
private ObjectPanel panelTree;
/** Creates a new instance of addNewMember */
public CreateRelation(ObjectPanel panelTree) {
super("Crea nuova Relazione");
this.panelTree = panelTree;
initialize();
}
public void initialize() {
setObjectSetting(c, 20, 10, 1, 1);
this.add(l1, c);
name1.addKeyListener(this);
setObjectSetting(c, 10, 10, 1, 1);
this.add(name1, c);
name2.addKeyListener(this);
setObjectSetting(c, 30, 10, 1, 1);
this.add(name2, c);
setObjectSetting(c, 40, 10, 1, 1);
this.add(l2, c);
name3.addKeyListener(this);
setObjectSetting(c, 50, 10, 1, 1);
this.add(name3, c);
add
= new JButton("Crea relazione");
add.addActionListener(this);
setObjectSetting(c, 20, 50, 1, 1);
this.add(add, c);
this.pack();
this.setVisible(true);
}
private void setObjectSetting
(GridBagConstraints c,
int gridx,
int gridy,
int gridheight,
int gridwidth
) {
c.gridx = gridx; // Posizionamento Orizzontale
c.gridy = gridy; // Posizionamento Verticale
c.gridheight = gridheight;
c.gridwidth = gridwidth;
}
private void addRelation() {
// TODO: guardare se la nuova relazione esiste giÃ
if (!name1.getText().equals("") &&
name1.getText().toLowerCase().charAt(0) >= 'a' &&
name1.getText().toLowerCase().charAt(0) <= 'z' &&
!name2.getText().equals("") &&
name2.getText().toLowerCase().charAt(0) >= 'a' &&
name2.getText().toLowerCase().charAt(0) <= 'z' &&
!name3.getText().equals("") &&
name3.getText().toLowerCase().charAt(0) >= 'a' &&
name3.getText().toLowerCase().charAt(0) <= 'z') {
String name
= name2.
getText();
name = name.replace(' ', '_');
name = name.toLowerCase();
String atom1
= name1.
getText();
atom1 = atom1.replace(' ', '_');
atom1 = atom1.toLowerCase();
String atom2
= name3.
getText();
atom2 = atom2.replace(' ', '_');
atom2 = atom2.toLowerCase();
if (panelTree.isMemberPresent(atom1) && panelTree.isMemberPresent(atom2)) {
this.panelTree.newTheory(name, atom1, atom2);
this.dispose();
}
else {
"I nomi dei membri inseriti non sono presenti nel database\n" +
"oppure il nome della nuova relazione è già esistente", "Attenzione",
}
}
else {
"Nomi e Relazioni non inseriti correttamente\n" +
"1) Il primo carattere deve essere una lettera dell'alfabeto\n" +
"2) Tutti i campi devono essere completati", "Attenzione",
}
}
if (src == add) this.addRelation();
}
int src = e.getKeyCode();
this.addRelation();
}
}
}