Sie sind auf Seite 1von 6

C:\Users\salah\Desktop\tp_contact.

java

mardi 17 janvier 2012 11:47

//TP Contact avec JList //Formulaire de contact package ma.ensa.tp.views; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import import import import javax.swing.AbstractAction; javax.swing.JButton; javax.swing.JPanel; javax.swing.JTextField;

public class ContactViews extentp JPanel{ private private private private static final long serialVersionUID = 1L; JTextField nom; JTextField prenom; JButton validerButton;

public ContactViews() { super(new BorderLayout()); nom = new JTextField("nom"); prenom = new JTextField("prnom"); validerButton = new JButton(new AbstractAction("Valider") { @Override public void actionPerformed(ActionEvent e) { TableViews.addElement(nom.getText() + "_" + prenom.getText()); } }); JPanel panel = new JPanel(new GridLayout(2, 1)); panel.add(nom); panel.add(prenom); add(panel, BorderLayout.CENTER); add(validerButton, BorderLayout.SOUTH); } }

//Liste de contact gauche package ma.ensa.tp.views; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.DefaultListModel; import javax.swing.JList; import javax.swing.JPanel; public class ListViews extentp JPanel { private static final long serialVersionUID = 1L;
-1-

C:\Users\salah\Desktop\tp_contact.java

mardi 17 janvier 2012 11:47

private static DefaultListModel model = new DefaultListModel(); public ListViews () { super(new BorderLayout()); JList liste = new JList(model); liste.setCellRenderer(new Rendu()); add(liste, BorderLayout.CENTER); setPreferretpize(new Dimension(500, 400)); } public static void addElement(String nomPrenom) { model.addElement(nomPrenom); } } //Rendu de la liste : icone, nom, prnom package ma.ensa.tp.views; import import import import import import import import import java.awt.Color; java.awt.Component; java.awt.Image; java.io.IOException; javax.imageio.ImageIO; javax.swing.ImageIcon; javax.swing.JLabel; javax.swing.JList; javax.swing.ListCellRenderer;

public class Rendu extends JLabel implements ListCellRenderer { private static final long serialVersionUID = 1L; @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { String nomPrenom = value.toString(); try { Image img = ImageIO.read(MainWindow.class.getResourceAsStream(nomPrenom+".png")); ImageIcon icon = new ImageIcon(img.getScaledInstance(12, 12, java.awt.Image. SCALE_SMOOTH)); setIcon(icon); } catch (IOException e) { e.printStackTrace(); } String[] params = nomPrenom.split("\\_"); setText(params[0] + " " + params[1]); if(index % 2 ==0) { setBackground(Color.WHITE); } else { setBackground(Color.BLACK); } return this; }

-2-

C:\Users\salah\Desktop\tp_contact.java

mardi 17 janvier 2012 11:47

//Table model package ma.ensa.tp.models; import java.awt.Image; import java.io.IOException; import java.util.List; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.table.AbstractTableModel; public class TableContactModel extends AbstractTableModel { private static final long serialVersionUID = 1L; List<String> lignes; String[] colonesName = new String[] { "Image", "Nom", "Prnom" }; public TableContactModel(List<String> lignes) { this.lignes = lignes; } public void tableChanged(List<String> lignes) { this.lignes = lignes; fireTableDataChanged(); } @Override public int getRowCount() { return lignes.size(); } @Override public int getColumnCount() { return colonesName.length; } @Override public String getColumnName(int column) { return colonesName[column]; } @Override public Class<?> getColumnClass(int columnIndex) { switch (columnIndex) { case 0: return ImageIcon.class; default: return String.class; } } @Override public Object getValueAt(int rowIndex, int columnIndex) { String value = lignes.get(rowIndex);
-3-

C:\Users\salah\Desktop\tp_contact.java

mardi 17 janvier 2012 11:47

String[] params = value.split("\\_"); switch (columnIndex) { case 0: try { Image img = ImageIO.read(MainWindow.class.getResourceAsStream(value+".png")); ImageIcon icon = new ImageIcon(img.getScaledInstance(12, 12, java.awt.Image. SCALE_SMOOTH)); return icon; } catch (IOException e) { return new ImageIcon(); } case 1: return params[0]; case 2: return params[1]; } return null; } }

// Tableau package ma.ensa.tp.views;

import java.util.ArrayList; import java.util.List; import javax.swing.JPanel; import javax.swing.JTable; public class TableViews extentp JPanel { private static final long serialVersionUID = 1L; private static List<String> lignes; private static TableContactModel model; public TableViews () { lignes = new ArrayList<String>(); model = new TableContactModel(lignes); JTable table = new JTable(model); table.setRowHeight((int) (table.getRowHeight() * 5)); add(table); } public static void addElement(String nomPrenom) { lignes.add(nomPrenom); model.tableChanged(lignes); } } // Action ajouter

-4-

C:\Users\salah\Desktop\tp_contact.java

mardi 17 janvier 2012 11:47

package ma.ensa.tp.actions; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JTextField; public class ValierAction extentp AbstractAction { private static final long serialVersionUID = 1L; private JTextField nom; private JTextField prenom; public ValierAction(JTextField nom, JTextField prenom) { super("valider"); this.nom = nom; this.prenom = prenom; }

@Override public void actionPerformed(ActionEvent e) { TableViews.addElement(nom.getText() + "_" + prenom.getText()); } }

//Main package ma.ensa.tp.main; import import import import import import import import java.awt.BorderLayout; java.awt.Dimension; java.io.IOException; java.util.Properties; javax.imageio.ImageIO; javax.swing.JFrame; javax.swing.UIManager; javax.swing.UnsupportedLookAndFeelException;

public class MainWindow { public static void main(String [] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { JFrame frame = new JFrame(); frame.setLayout(new BorderLayout()); frame.add(new TableViews(), BorderLayout.WEST); frame.add(new ContactViews(), BorderLayout.CENTER); Properties prop = new Properties(); prop.load(MainWindow.class.getResourceAsStream("conf.properties")); //InputStream in = getClass().getResourceAsStream("../res/titre.txt"); //Scanner titre = new Scanner(in); //setTitle(titre.nextLine()); frame.setTitle(prop.get("nomApp").toString()); frame.setPreferretpize(new Dimension(600, 400));
-5-

C:\Users\salah\Desktop\tp_contact.java

mardi 17 janvier 2012 11:47

frame.setResizable(false); frame.setLocationRelativeTo(null); frame.setIconImage(ImageIO.read(MainWindow.class.getResourceAsStream("salah_nour.png" ))); UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); frame.setVisible(true); frame.pack(); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); } }

-6-

Das könnte Ihnen auch gefallen