All pastes #38536 Raw Edit

Unnamed

public text v1 · immutable
#38536 ·published 2006-01-25 17:16 UTC
rendered paste body
package 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.BufferedReader;
import java.io.File;
import java.io.FileReader;

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 {
			boolean readable = fichier.canRead();
			boolean exist = fichier.exists();
			String filename = fichier.getName();
			String path = fichier.getAbsolutePath();

			if (fichier.exists()) {
				/* Tampon de lecture */
				BufferedReader bfreader = new BufferedReader(new FileReader(path));
				/* Lecture d'une ligne */
				String s = bfreader.readLine();
				while (s != null) {
					/* Affichage de la ligne lue */
					chmptxt.append(s + "\n");
					/* Lire une nouvelle ligne */
					s = bfreader.readLine();
				}
				/* Fermeture du tampon */
				bfreader.close();
			}
			else {
				JOptionPane.showMessageDialog(this, "Le fichier n'existe pas !!",
						"Fichier inexistant", JOptionPane.ERROR_MESSAGE);
				return;
			}
		}
		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);
	}

}