Interface qui visonne des images
eric999
-
eric999 -
eric999 -
Bonjour,
Quelques questions !!!
1. Comment je pourrais centrer les images ?
2. Comment puis-je arriver dans le programme et la première image aparaissent déja ?
3. Comment faire une fonction qui supprimerais une image
Voila le code :
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.*;
public class InterfaceFax extends JFrame implements ActionListener{
private JPanel haut = new JPanel();
private JLabel bas = new JLabel(); //
private JButton precedent = new JButton(new ImageIcon("images/Précédent.gif"));
private JButton suivant = new JButton(new ImageIcon("images/Suivant.gif"));
private JButton supprimer = new JButton(new ImageIcon("images/Supprimer.gif"));
private JButton imprimer = new JButton(new ImageIcon("images/Imprimer.gif"));
//Vecteur qui contient tous les images
private Vector<ImageIcon> vectImages = new Vector<ImageIcon>();
//indice pour désigner l'image courante
private int indiceImage = 0;
public InterfaceFax(){
super("Gestion des fax");
//initialise un tableau d'images
initVectImages();
initComposants();
this.setSize(500, 500);
this.setResizable(false);
this.setVisible(true);
}
//Rempli le tableau d'images
private void initVectImages() {
File tabImages[] = new File("images").listFiles();
for(File fichier : tabImages) {
ImageIcon image = new ImageIcon(fichier.getAbsolutePath());
vectImages.add(image);
}
}
public void initComposants(){
Container c = getContentPane();
precedent.addActionListener(this);
precedent.setMargin(new Insets(0,0,0,0));
haut.add(precedent);
suivant.addActionListener(this);
suivant.setMargin(new Insets(0,0,0,0));
haut.add(suivant);
supprimer.addActionListener(this);
supprimer.setMargin(new Insets(0,0,0,0));
haut.add(supprimer);
imprimer.addActionListener(this);
imprimer.setMargin(new Insets(0,0,0,0));
haut.add(imprimer);
haut.setBackground(Color.BLACK);
c.add(haut, BorderLayout.NORTH);
c.add(bas, BorderLayout.CENTER);
}
private void changerImage() {
if(indiceImage < 0)
indiceImage = vectImages.size() - 1;
if(indiceImage >= vectImages.size())
indiceImage = 0;
bas.setIcon(vectImages.get(indiceImage));
}
public void actionPerformed(ActionEvent e){
Object source = e.getSource();
if(source == precedent ){
indiceImage--;
changerImage();
return;
}
if(source == suivant) {
indiceImage++;
changerImage();
return;
}
if(source == supprimer){
}
}
public static void main(String[] args){
InterfaceFax fax = new InterfaceFax();
fax.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Merci
Quelques questions !!!
1. Comment je pourrais centrer les images ?
2. Comment puis-je arriver dans le programme et la première image aparaissent déja ?
3. Comment faire une fonction qui supprimerais une image
Voila le code :
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.*;
public class InterfaceFax extends JFrame implements ActionListener{
private JPanel haut = new JPanel();
private JLabel bas = new JLabel(); //
private JButton precedent = new JButton(new ImageIcon("images/Précédent.gif"));
private JButton suivant = new JButton(new ImageIcon("images/Suivant.gif"));
private JButton supprimer = new JButton(new ImageIcon("images/Supprimer.gif"));
private JButton imprimer = new JButton(new ImageIcon("images/Imprimer.gif"));
//Vecteur qui contient tous les images
private Vector<ImageIcon> vectImages = new Vector<ImageIcon>();
//indice pour désigner l'image courante
private int indiceImage = 0;
public InterfaceFax(){
super("Gestion des fax");
//initialise un tableau d'images
initVectImages();
initComposants();
this.setSize(500, 500);
this.setResizable(false);
this.setVisible(true);
}
//Rempli le tableau d'images
private void initVectImages() {
File tabImages[] = new File("images").listFiles();
for(File fichier : tabImages) {
ImageIcon image = new ImageIcon(fichier.getAbsolutePath());
vectImages.add(image);
}
}
public void initComposants(){
Container c = getContentPane();
precedent.addActionListener(this);
precedent.setMargin(new Insets(0,0,0,0));
haut.add(precedent);
suivant.addActionListener(this);
suivant.setMargin(new Insets(0,0,0,0));
haut.add(suivant);
supprimer.addActionListener(this);
supprimer.setMargin(new Insets(0,0,0,0));
haut.add(supprimer);
imprimer.addActionListener(this);
imprimer.setMargin(new Insets(0,0,0,0));
haut.add(imprimer);
haut.setBackground(Color.BLACK);
c.add(haut, BorderLayout.NORTH);
c.add(bas, BorderLayout.CENTER);
}
private void changerImage() {
if(indiceImage < 0)
indiceImage = vectImages.size() - 1;
if(indiceImage >= vectImages.size())
indiceImage = 0;
bas.setIcon(vectImages.get(indiceImage));
}
public void actionPerformed(ActionEvent e){
Object source = e.getSource();
if(source == precedent ){
indiceImage--;
changerImage();
return;
}
if(source == suivant) {
indiceImage++;
changerImage();
return;
}
if(source == supprimer){
}
}
public static void main(String[] args){
InterfaceFax fax = new InterfaceFax();
fax.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Merci
A voir également:
- Interface qui visonne des images
- Des images - Guide
- Common interface 5v only - Forum TV & Vidéo
- Extraire images pdf - Guide
- Visualisez cette image avec un logiciel d'édition d'images. combien y a-t-il de pixels noirs sur le camion ? ✓ - Forum Python
- Recherche images - Guide