Je n'arrive pas à comprendre pourquoi mon code ne fonctionne pas. En l'état, Eclipse ne me montre aucune erreur, mais le code ne sera pas lancé quand j'essayerai de l'exécuter.Problème avec le bloc-notes protégé par mot de passe en Java
L'idée de mon programme est un bloc-notes protégé par mot de passe utilisant JFrame.
Voici le code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
import java.io.*;
public class notepad extends JFrame implements ActionListener {
public static void main(String args[]){}
private TextArea textArea = new TextArea("", 0,0, TextArea.SCROLLBARS_VERTICAL_ONLY);
private MenuBar menuBar = new MenuBar();
private Menu file = new Menu();
private MenuItem openFile = new MenuItem();
private MenuItem saveFile = new MenuItem();
private MenuItem close = new MenuItem();
public notepad() {
this.setSize(700, 500);
this.setTitle("Projet Java");
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.textArea.setFont(new Font("Helvetica", Font.ROMAN_BASELINE, 12));
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(textArea);
this.setMenuBar(this.menuBar);
this.menuBar.add(this.file);
this.file.setLabel("File");
this.openFile.setLabel("Open");
this.openFile.addActionListener(this);
this.file.add(this.openFile);
this.saveFile.setLabel("Save");
this.saveFile.addActionListener(this);
this.file.add(this.saveFile);
}
public void actionPerformed (ActionEvent e) {
if (e.getSource() == this.close)
this.dispose();
else if (e.getSource() == this.openFile) {
JFileChooser open = new JFileChooser();
int option = open.showOpenDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
this.textArea.setText("");
try {
Scanner scan = new Scanner(new FileReader(open.getSelectedFile().getPath()));
while (scan.hasNext())
this.textArea.append(scan.nextLine() + "\n");
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
else if (e.getSource() == this.saveFile) {
JFileChooser save = new JFileChooser();
int option = save.showSaveDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath()));
out.write(this.textArea.getText());
out.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
}
static class password{
public static String password = "password";
public static void main(String args[]) {
JFrame box = new JFrame("Password");
box.setVisible(true);
box.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
box.setSize(400,100);
JPasswordField pass = new JPasswordField(10);
pass.setEchoChar('*');
}
static class AL implements ActionListener{
public void actionPerformed(ActionEvent e){
JPasswordField input = (JPasswordField) e.getSource();
char[] pass = input.getPassword();
String yes = new String(pass);
if (yes.equals(password)){
notepad app = new notepad();
app.setVisible(true);
}else{
System.exit(0);
}
}
}
}
}
Quand est-ce 'pass' sont ajoutés à quoi que ce soit? – MadProgrammer
Vous avez également deux méthodes 'main', donc je n'ai aucune idée de celle que vous essayez d'appeler pour démarrer les choses. Vous mélangez également des composants lourds (AWT) avec des composants légers (Swing), cela ne s'arrêtera pas – MadProgrammer
@MadProgrammer bien vu, je n'ai même pas vu cette première méthode 'main' et ça ne fait pas grand-chose : 'public void principal (String args []) {}' – null