pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/4 minutes.jpg")) ; pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/7 vies.jpg")) ; pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/7h58 ce samedi la.jpg")) ; fen.add(scrollF ); fen.setVisible(true);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport javax.swing.* ; import java.awt.* ; public class TestMenu { public static void main (String args[]) { JFrame fen = new JFrame ("IMAGES"); fen.setSize(600,800); JPanel pan = new JPanel(); pan.setLayout(new GridLayout(3,1)); pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/4 minutes.jpg")) ; pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/7 vies.jpg")) ; pan.add(new Panneau("C:/Users/Patrick/workspace/Biblio/src/affichage/7h58 ce samedi la.jpg")) ; JScrollPane scrollF = new JScrollPane(); scrollF.setPreferredSize(new Dimension(580,780)); fen.add(scrollF.add(pan)); fen.setVisible(true); } } class Panneau extends JPanel { private Image photo = null; public Panneau(String adresse) { photo = getToolkit().getImage(adresse); photo = photo.getScaledInstance(300, 400, 1); } public void paintComponent(Graphics g) { super.paintComponent(g) ; if(photo != null) {g.drawImage (photo, 0, 0, this);} } }
public class film { private String titre; private int annee; private String genre; private String lien; private ImageIcon affiche; public film (String titre,int annee,String genre,String lien,ImageIcon affiche) { this.titre = titre; this.annee = annee; this.genre = genre; this.lien = lien; this.affiche = affiche; } public String gettitre(){return titre;} public void settitre(String titre){this.titre = titre;} public int getannee(){return annee;} public void setannee(int annee){this.annee = annee;} public String getgenre(){return genre;} public void setgenre(String genre){this.genre = titre;} public String getlien(){return lien;} public void setlien(String lien){this.lien = titre;} public ImageIcon getaffiche(){return affiche;} public void setaffiche(ImageIcon affiche){this.affiche = affiche;} }
//Fenetre personnalisée public class filmotheque extends JFrame { private tableauPerso modele = new tableauPerso(); private JTable monTableau; public filmotheque() { super(); //constructeur de JFrame setTitle("Filmothèque"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); monTableau = new JTable(modele); //monTableau est un tableau personnalisé de type tableauPerso monTableau.setDefaultRenderer(ImageIcon.class, new affiche()); //modification du rendu de la colonne affiche en appliquant la classe affiche() monTableau.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); setPreferredSize(new Dimension(1000, 800)); //Taille initiale de la fenetre de l'application getContentPane().add(new JScrollPane(monTableau), BorderLayout.CENTER); //rajour d'un Scroll sur la partie centrale du tableau System.out.print(monTableau.getColumnName(1)); pack(); } //programme principal public static void main(String[] args) { new filmotheque().setVisible(true); } }
public class tableauPerso extends AbstractTableModel { private final List<film> films = new ArrayList<film>(); private final String[] entetes = {"TITRE", "ANNEE", "GENRE", "LIEN", "AFFICHE"}; public tableauPerso() { super(); final String path = "Vidéothèque/Films/"; final String path2 = "C:/Users/Patrick/workspace/Biblio/src/affichage/"; films.add(new film ("A la croisée des mondes 1 - La boussole d'or", 2007,"Fantastique",path + "A la croisée des mondes 1 - La boussole d'or.avi", new ImageIcon(path2 + "4 minutes.jpg"))); films.add(new film ("American gangster",2007,"Drame",path + "American gangster.avi", new ImageIcon(path2 + "7 vies.jpg"))); films.add(new film ("American Party",2001,"Comédie",path + "American Party.avi", new ImageIcon(path2 + "7h58 ce samedi la.jpg"))); films.add(new film ("Star wars 1 - la menace fantôme",1999,"Science fiction",path + "Star wars 1 - la menace fantôme.avi", new ImageIcon(path2 + "10,000 BC.jpg"))); films.add(new film ("Bienvenue à bord",2011,"Comédie",path + "Bienvenue à bord.avi", new ImageIcon(path2 + "11e heure.jpg"))); } public int getRowCount() //retourne le nombre de film { return films.size(); } public int getColumnCount() //retourne le nombre de colonne { return entetes.length; } public String getColumnName(int columnIndex) //retourne les titres des colonnes { return entetes[columnIndex]; } public Object getValueAt(int rowIndex, int columnIndex) //remplis le tableau { switch(columnIndex) { case 0: return films.get(rowIndex).gettitre(); case 1: return films.get(rowIndex).getannee(); case 2: return films.get(rowIndex).getgenre(); case 3: return films.get(rowIndex).getlien(); case 4: return films.get(rowIndex).getaffiche(); default: return null; //Ne devrait jamais arriver } } @Override public Class getColumnClass(int columnIndex) { switch(columnIndex) { case 4: return ImageIcon.class; //Personnalisation de l'affichage des affiches (rendu) default: return Object.class; } } }
public class affiche extends DefaultTableCellRenderer //Personnalisation de l'affichage des affiches (rendu) { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); ImageIcon affiche = (ImageIcon) value; //récupération de la valeur de l'affichage table.setRowHeight(400); //hauteur de toutes les lignes de la table a 400 pixels (hauteur de l'affiche) TableColumn col = table.getColumnModel().getColumn(4);//selectionne la 4eme colonne col.setPreferredWidth(300); //largeur de la colonne des affiches a 300 pixels setIcon(affiche); //affiche à l'écran l'affiche de cinéma table.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) {} @Override public void mouseEntered(MouseEvent e) { System.out.print("dés que la souris va sur la table"); } @Override public void mouseExited(MouseEvent e) {} @Override public void mousePressed(MouseEvent e) {} @Override public void mouseReleased(MouseEvent e) {} }); return this; } }