colpompidou | J'ai aussi essayé de faire un petit éditeur de texte en Java :
Code :
- import java.awt.event.*;
- import javax.swing.*;
- import java.awt.*;
- import java.io.*;
- public class Notepad extends JFrame implements ActionListener,ItemListener{
- JToolBar barre= new JToolBar();
- JButton ouvrir = new JButton("Ouvrir" );
- JButton enregistrer = new JButton("Enregistrer" );
- JButton enregistrersous = new JButton("Enregistrer sous ..." );
- JButton copier = new JButton("Copier" );
- JButton couper = new JButton("Couper" );
- JButton coller = new JButton("Coller" );
- JButton fermer = new JButton("Fermer" );
- JButton quitter = new JButton("Quitter" );
- JComboBox police = new JComboBox();
- JComboBox style = new JComboBox();
- JComboBox taille = new JComboBox();
- JTextArea edition = new JTextArea(8,40);
- JEditorPane edition2 = new JEditorPane();
- JScrollPane scroll = new JScrollPane(edition);
- File fichier_courant = null;
- String police_courante = "Dialog";
- int style_courant = 0;
- int taille_courante = 12;
-
- public Notepad() {
- super("Editeur de texte simple" );
- setSize(640,480);
-
- ouvrir.addActionListener(this);
- ouvrir.setActionCommand("Ouvrir" );
- enregistrer.addActionListener(this);
- enregistrer.setActionCommand("Enregistrer" );
- enregistrersous.addActionListener(this);
- enregistrersous.setActionCommand("Enregistrer sous" );
- fermer.addActionListener(this);
- fermer.setActionCommand("Fermer" );
- quitter.addActionListener(this);
- quitter.setActionCommand("Quitter" );
- copier.addActionListener(this);
- copier.setActionCommand("Copier" );
- couper.addActionListener(this);
- couper.setActionCommand("Couper" );
- coller.addActionListener(this);
- coller.setActionCommand("Coller" );
- police.addItemListener(this);
- police.addItem("Dialog" );
- police.addItem("Courier" );
- police.addItem("Arial" );
- police.addItem("Times New Roman" );
- style.addItemListener(this);
- style.addItem("Normal" );
- style.addItem("Gras" );
- style.addItem("Italique" );
- style.addItem("Gras & Italique" );
- taille.addItemListener(this);
- taille.addItem("12" );
- taille.addItem("14" );
- taille.addItem("16" );
- edition.setFont(new Font(police_courante,style_courant,taille_courante));
-
- barre.add(ouvrir);
- barre.add(enregistrer);
- barre.add(enregistrersous);
- barre.add(copier);
- barre.add(couper);
- barre.add(coller);
- barre.add(fermer);
- barre.add(police);
- barre.add(style);
- barre.add(taille);
- barre.add(quitter);
- JPanel pane = new JPanel();
- BorderLayout bord = new BorderLayout();
- pane.setLayout(bord);
- pane.add("North",barre);
- pane.add("Center", scroll);
-
- setContentPane(pane);
- }
- public void actionPerformed(ActionEvent e) {
- if(e.getActionCommand()=="Ouvrir" ) {
- JFileChooser chooser = new JFileChooser();
- chooser.setDialogTitle("Ouvrir un fichier ..." );
- chooser.showOpenDialog(this);
- if(chooser.getSelectedFile()==null){
- return;
- }
- fichier_courant=chooser.getSelectedFile();
- try {
- FileInputStream fichier = new FileInputStream(chooser.getSelectedFile());
- int size=fichier.available();
- byte[] bytes = new byte[size];
- fichier.read(bytes);
- edition.setText(new String(bytes));
- fichier.close();
- } catch (IOException erreur) {
- JOptionPane.showMessageDialog(null,"Erreur --- "+erreur.toString(),"Erreur",JOptionPane.ERROR_MESSAGE);
- }
- }
- else if(e.getActionCommand()=="Enregistrer" ) {
- if(fichier_courant==null) saveas();
- else save();
- }
- else if(e.getActionCommand()=="Enregistrer sous" ) {
- saveas();
- }
- else if(e.getActionCommand()=="Fermer" ) {
- fichier_courant=null;
- edition.setText("" );
- }
- else if(e.getActionCommand()=="Copier" ) {
- edition.copy();
- edition.setCaretPosition(0);
- }
- else if(e.getActionCommand()=="Couper" ) {
- edition.cut();
- edition.setCaretPosition(0);
- }
- else if(e.getActionCommand()=="Coller" ) {
- edition.paste();
- }
- else if(e.getActionCommand()=="Quitter" ) {
- System.exit(0);
- }
- }
-
- public void itemStateChanged(ItemEvent e) {
- if(e.getSource()==police){
- police_courante=e.getItem().toString();
- }
- else if(e.getSource()==style) {
- style_courant=style.getSelectedIndex();
- }
- else if(e.getSource()==taille){
- Integer taille_courante2=new Integer(e.getItem().toString());
- taille_courante=taille_courante2.intValue();
- }
- edition.setFont(new Font(police_courante,style_courant,taille_courante));
- }
- public void saveas(){
- JFileChooser chooser = new JFileChooser();
- chooser.setDialogTitle("Enregistrer le fichier sous ..." );
- chooser.showSaveDialog(this);
- if(chooser.getSelectedFile()==null) {
- return;
- }
- fichier_courant=chooser.getSelectedFile();
- save();
- }
- public void save(){
- try {
- FileOutputStream fichier = new FileOutputStream(fichier_courant);
- fichier.write(edition.getText().getBytes());
- fichier.close();
- } catch (IOException erreur) {
- JOptionPane.showMessageDialog(null,"Erreur --- "+erreur.toString(),"Erreur",JOptionPane.ERROR_MESSAGE);
- }
- }
-
- public static void main(String[] args){
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null,"Erreur --- "+e.toString(),"Erreur",JOptionPane.ERROR_MESSAGE);
- }
- JFrame frame = new Notepad();
- ExitWindow exit=new ExitWindow();
- frame.addWindowListener(exit);
- frame.show();
- }
- }
- class ExitWindow extends WindowAdapter {
- public void windowClosing(WindowEvent e){
- System.exit(0);
- }
- }
|
|