172 lines
5.2 KiB
Java
172 lines
5.2 KiB
Java
package app;
|
|
|
|
import java.awt.BorderLayout;
|
|
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.border.EmptyBorder;
|
|
|
|
import cXML.node;
|
|
|
|
import java.awt.FlowLayout;
|
|
import java.util.ArrayList;
|
|
import java.util.Enumeration;
|
|
|
|
import net.miginfocom.swing.MigLayout;
|
|
import javax.swing.JLabel;
|
|
import java.awt.Font;
|
|
import javax.swing.JScrollPane;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JCheckBox;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.ActionEvent;
|
|
|
|
public class attributs extends JFrame {
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
private JPanel contentPane;
|
|
|
|
|
|
|
|
/**
|
|
* Create the frame.
|
|
*/
|
|
public attributs(node nod) {
|
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
|
setBounds(100, 100, 727, 669);
|
|
contentPane = new JPanel();
|
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
setContentPane(contentPane);
|
|
contentPane.setLayout(new BorderLayout(0, 0));
|
|
|
|
ArrayList<JLabel> Leslabels = new ArrayList<JLabel>();
|
|
ArrayList<JTextField> Lesvaleurs = new ArrayList<JTextField>();
|
|
ArrayList<JCheckBox> Lesevaluer = new ArrayList<JCheckBox>();
|
|
ArrayList<JTextField> Lespoints = new ArrayList<JTextField>();
|
|
|
|
JPanel panelGauche = new JPanel();
|
|
contentPane.add(panelGauche, BorderLayout.WEST);
|
|
|
|
JPanel panelHaut = new JPanel();
|
|
contentPane.add(panelHaut, BorderLayout.NORTH);
|
|
|
|
JLabel lblNomNode = new JLabel(nod.getNomElt());
|
|
lblNomNode.setFont(new Font("Tahoma", Font.BOLD, 14));
|
|
panelHaut.add(lblNomNode);
|
|
|
|
JPanel panelBas = new JPanel();
|
|
contentPane.add(panelBas, BorderLayout.SOUTH);
|
|
panelBas.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
|
|
|
|
JButton btnNewButton = new JButton("Valider");
|
|
panelBas.add(btnNewButton);
|
|
|
|
JPanel panelDroite = new JPanel();
|
|
contentPane.add(panelDroite, BorderLayout.EAST);
|
|
|
|
JScrollPane scrollPaneCentre = new JScrollPane();
|
|
contentPane.add(scrollPaneCentre, BorderLayout.CENTER);
|
|
|
|
JPanel panelCentre = new JPanel();
|
|
scrollPaneCentre.setViewportView(panelCentre);
|
|
panelCentre.setLayout(new MigLayout("", "[100px:n,grow][150px:n,grow 150][::80px][80px:n,grow]", "[::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px][::20px]"));
|
|
|
|
JLabel lblNewLabel = new JLabel("Nom attribut");
|
|
lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 11));
|
|
panelCentre.add(lblNewLabel, "cell 0 0");
|
|
|
|
JLabel lblNewLabel_1 = new JLabel("Valeurs");
|
|
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 11));
|
|
panelCentre.add(lblNewLabel_1, "flowx,cell 1 0");
|
|
|
|
JLabel lblNewLabel_2 = new JLabel("Evaluer");
|
|
lblNewLabel_2.setFont(new Font("Tahoma", Font.BOLD, 11));
|
|
panelCentre.add(lblNewLabel_2, "cell 2 0");
|
|
|
|
JLabel lblNewLabel_3 = new JLabel("Point(s)");
|
|
lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 11));
|
|
panelCentre.add(lblNewLabel_3, "cell 3 0");
|
|
|
|
|
|
|
|
|
|
Enumeration<String> key = nod.getAttributs().keys();
|
|
while(key.hasMoreElements()) {
|
|
String k = key.nextElement();
|
|
String value = nod.getAttributs().get(k);
|
|
String point = "0";
|
|
JCheckBox checkEval = new JCheckBox();
|
|
boolean evaluer = false;
|
|
if(value.contains("‽")||value.contains("‼")) {
|
|
evaluer=true;
|
|
if(value.contains("‽")) {
|
|
point = value.substring(value.lastIndexOf("‽")+1,value.length());
|
|
value = value.substring(0,value.lastIndexOf("‽"));
|
|
}
|
|
if(value.contains("‼")) {
|
|
point = value.substring(value.lastIndexOf("‼")+1,value.length());
|
|
value = value.substring(0,value.lastIndexOf("‼"));
|
|
}
|
|
}
|
|
JTextField txtFielPoints = new JTextField(point);
|
|
txtFielPoints.setColumns(2);
|
|
checkEval.setSelected(evaluer);
|
|
|
|
Leslabels.add(new JLabel(k));
|
|
Lesvaleurs.add(new JTextField(value));
|
|
Lespoints.add(txtFielPoints);
|
|
Lesevaluer.add(checkEval);
|
|
}
|
|
|
|
|
|
|
|
|
|
for(int i = 0 ; i<Leslabels.size();i++) {
|
|
Leslabels.get(i).setFont(new Font("Tahoma", Font.BOLD, 11));
|
|
Lesvaleurs.get(i).setColumns(10);
|
|
panelCentre.add(Leslabels.get(i), "cell 0 "+i+1);
|
|
panelCentre.add(Lesvaleurs.get(i), "cell 1 "+i+1 + ",grow");
|
|
panelCentre.add(Lesevaluer.get(i), "cell 2 "+i+1);
|
|
panelCentre.add(Lespoints.get(i), "cell 3 " + i+1 +",alignx left,growy");
|
|
}
|
|
|
|
|
|
btnNewButton.addActionListener(new ActionListener() {
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
for(int i = 0 ; i<Leslabels.size();i++) {
|
|
|
|
String value = Lesvaleurs.get(i).getText();
|
|
if(value.contains("‽")) value = value.substring(0,value.lastIndexOf("‽"));
|
|
value = value.substring(0,value.lastIndexOf("‼"));
|
|
|
|
if(Lesevaluer.get(i).isSelected()) value = value + "‽";
|
|
String point = "0";
|
|
int pointNumeric = 0;
|
|
try {
|
|
pointNumeric = Integer.valueOf(Lespoints.get(i).getText());
|
|
point = String.valueOf(pointNumeric);
|
|
} catch (Exception e2) {
|
|
|
|
}
|
|
value = value + point;
|
|
|
|
nod.getAttributs().put(Leslabels.get(i).getText(), value);
|
|
|
|
|
|
dispose();
|
|
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
|
|
this.setVisible(true);
|
|
}
|
|
}
|