rendered paste bodypackage com.plutonium.editoux;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class Editoux extends JFrame implements ActionListener {
File fichier;
/* Menu - Items */
private JMenuItem inouveau;
private JMenuItem iouvrir;
private JMenuItem ienregistrer;
private JMenuItem ienregistrersous;
private JMenuItem iquitter;
private JMenuItem icouper;
private JMenuItem icopier;
private JMenuItem icoller;
private JMenuItem ipropos;
private JTextArea chmptxt;
private JFileChooser selecteurFichier;
private File file = null;
public Editoux() {
/* Je dessine l'interface graphique */
interfaceGraphik();
/* Paramètres de ma fenêtre */
setTitle("Editoux");
setSize(800, 800);
setVisible(true);
/* Icône de ma Fenêtre */
Image icone = Toolkit.getDefaultToolkit().getImage("ico.gif");
this.setIconImage(icone);
}
private void interfaceGraphik() {
JPanel pan1 = new JPanel();
JPanel pan2 = new JPanel();
pan1.setLayout(new BorderLayout());
pan2.setLayout(new BorderLayout());
JMenuBar menubar = new JMenuBar();
JMenu mfichier = new JMenu("Fichier");
JMenu medition = new JMenu("Edition");
JMenu maide = new JMenu("Aide");
JSeparator iseparator1 = new JSeparator();
JSeparator iseparator2 = new JSeparator();
inouveau = new JMenuItem("Nouveau");
inouveau.addActionListener(this);
iouvrir = new JMenuItem("Ouvrir");
iouvrir.addActionListener(this);
ienregistrer = new JMenuItem("Enregistrer");
ienregistrer.addActionListener(this);
ienregistrersous = new JMenuItem("Enregistrer Sous");
ienregistrersous.addActionListener(this);
iquitter = new JMenuItem("Quitter");
iquitter.addActionListener(this);
icouper = new JMenuItem("Couper");
icouper.addActionListener(this);
icopier = new JMenuItem("Copier");
icopier.addActionListener(this);
icoller = new JMenuItem("Coller");
icoller.addActionListener(this);
ipropos = new JMenuItem("A propos");
ipropos.addActionListener(this);
/* ToolBar */
JToolBar toolbar = new JToolBar();
/* ToolBar - Eléments */
ImageIcon imgnouveau = new ImageIcon("imgnouveau.gif");
JButton tnouveau = new JButton(imgnouveau);
tnouveau.setToolTipText("Nouveau Document"); // Info Bulle
tnouveau.setFocusPainted(false); // Rendre
tnouveau.setBorderPainted(false); // Transparent
tnouveau.setContentAreaFilled(false); // JButton
ImageIcon imgouvrir = new ImageIcon("imgouvrir.gif");
JButton touvrir = new JButton(imgouvrir);
touvrir.setToolTipText("Ouvrir");
touvrir.setForeground(Color.red);
touvrir.setFocusPainted(false);
touvrir.setBorderPainted(false);
touvrir.setContentAreaFilled(false);
ImageIcon imgenregistrer = new ImageIcon("imgenregistrer.gif");
JButton tenregistrer = new JButton(imgenregistrer);
tenregistrer.setToolTipText("Enregistrer");
tenregistrer.setForeground(Color.red);
tenregistrer.setFocusPainted(false);
tenregistrer.setBorderPainted(false);
tenregistrer.setContentAreaFilled(false);
ImageIcon imgenregistrersous = new ImageIcon("imgenregistrersous.gif");
JButton tenregistrersous = new JButton(imgenregistrersous);
tenregistrersous.setToolTipText("Enregistrer sous...");
tenregistrersous.setForeground(Color.red);
tenregistrersous.setFocusPainted(false);
tenregistrersous.setBorderPainted(false);
tenregistrersous.setContentAreaFilled(false);
// Menu pour les Fichiers
selecteurFichier = new JFileChooser();
selecteurFichier.setCurrentDirectory(new File("."));
/* TextArea */
chmptxt = new JTextArea();
JScrollPane scrollpan = new JScrollPane(chmptxt);
mfichier.add(inouveau);
mfichier.add(iouvrir);
mfichier.add(iseparator1);
mfichier.add(ienregistrer);
mfichier.add(ienregistrersous);
mfichier.add(iseparator2);
mfichier.add(iquitter);
iquitter.addActionListener(this); // Ajout action
medition.add(icouper);
medition.add(icopier);
medition.add(icoller);
maide.add(ipropos);
toolbar.add(tnouveau);
toolbar.add(touvrir);
toolbar.add(tenregistrer);
toolbar.add(tenregistrersous);
menubar.add(mfichier);
menubar.add(medition);
menubar.add(maide);
pan2.add(toolbar, BorderLayout.NORTH);
pan2.add(scrollpan, BorderLayout.CENTER);
pan1.add(menubar, BorderLayout.NORTH);
pan1.add(pan2, BorderLayout.CENTER);
setContentPane(pan1);
}
/**
* @param fichier :
* le fichier à ouvrir
*/
private void ouvrir(File fichier) {
try {
chmptxt.setText("");
}
catch (Exception e) {
System.err.println("Erreur d'ouverture de fichier.");
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == iouvrir) {
int choix = selecteurFichier.showOpenDialog(null);
if (choix == JFileChooser.APPROVE_OPTION) {
file = selecteurFichier.getSelectedFile();
boolean readable = file.canRead();
if (readable) {
ouvrir(file);
}
else {
JOptionPane.showMessageDialog(null, "Ne peut trouver le fichier",
"Fichier inexistant", JOptionPane.ERROR_MESSAGE);
return;
}
}
}
else
if (event.getSource() == iquitter) {
System.exit(0);
}
// else if (event.getSource() == treset ) {
// champtxt.setText("");
// }
}
public static void main(String[] args) {
Editoux sf = new Editoux();
sf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sf.setLocationRelativeTo(null);
}
}