Un editor de texto simple que puede compilar y ejecutar java

importar java.awt.BorderLayout;

la clase pública WordProcessSystem extiende JFrame{

selector privado de JFileChooser;

privado JTextArea textArea;

archivo de archivo privado;

cadena de cadena privada = "";

fuente de fuente privada;

WordProcessSystem público(){

super();

setTitle("Sistema de procesamiento de textos");

setBounds(100, 100,600, 500);

getContentPane() .setLayout(new BorderLayout());

getContentPane().setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JMenuBar menuBar = nuevo JMenuBar();

menú JMenu = nuevo JMenu("Archivo");

JMenuItem menuItem = nuevo JMenuItem("Nuevo");

menuItem.addActionListener (new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Código auxiliar de método generado automáticamente

String str1 = JOptionPane.showInputDialog("Ingrese el nombre del nuevo archivo: ");

intente {

file = new File("E:\\", str1 + " .txt");

if(file.exists()){

JOptionPane.showMessageDialog(null, "¡El nombre del archivo ya existe! ");

}

else{

file.createNewFile();

}

} captura (Excepción e1) {

// TODO: manejar excepción

}

}

});

selector = nuevo JFileChooser();

selecter.setCurrentDirectory(nuevo archivo("."));

JMenuItem menuItem1 = nuevo JMenuItem("Abrir");

menuItem1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEv

ent e){

int resultado = selecter.showOpenDialog(null);

if(result == JFileChooser.APPROVE_OPTION){

String str = selector. getSelectedFile().toString();

prueba {

archivo = nuevo archivo(str);

readFromFile(archivo);

textArea.setText(string);

} catch (Exception e1) {

// TODO: manejar excepción

}

}

}

});

JMenuItem menuItem2 = new JMenuItem("Salir");

menuItem2.addActionListener(new ActionListener (){

public void actionPerformed(ActionEvent e){

System.exit(0);

}

});

JMenuItem menuItem3 = new JMenuItem("Guardar");

menuItem3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Cadena cadena = textArea.getText();

prueba {

writeToFile(archivo, cadena

} captura (Excepción e1); ) {

// TODO: manejar excepción

}

}

});

menuItem3. addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent e){

if(e.getKeyChar() == KeyEvent.VK_C){

// if(e.getKeyChar() == KeyEvent.VK_S){

String string = textArea.getText();

prueba {

writeToFile( archivo, cadena);

} catch (Excepción e1) {

// TODO: manejar excepción

}

// }

}

}

});

JMenuItem menuItem4 = new JMenuItem("Guardar como");

menúArtículo

4.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Código auxiliar de método generado automáticamente

String s1 = JOptionPane.showInputDialog("Ingrese la ruta y el nombre del archivo para guardar el archivo:");

file = new File(s1);

System.out .println(file.getPath());

prueba {

writeToFile(archivo, cadena);

System.out.println(" aaaa") ;

} catch (Excepción e1) {

// TODO: manejar excepción

}

}

});

menu.add(menuItem);

menu.add(menuItem1);

menu.add(menuItem2);

menu.add(menuItem3);

menu.add(menuItem4);

JMenu menu2 = new JMenu("formato");

final JMenu menu3 = new JMenu("Font");

String []fontString = {"宋体","楷体","official script"};

final JMenuItem []menu3_1 = nuevo JMenuItem[fontString.length];

for(int i = 0;i < fontString.length;i++){

String changeString = "";

menu3_1[i] = new JMenuItem(fontString[i]);

menu3_1[i].setActionCommand(changeString + i);

menu3_1[i]. addActionListener(new ActionListener (){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Método generado automáticamente

switch ( e.getActionCommand().charAt(0)) {

case '0':

font = new Font("宋体",Font.PLAIN,20) ;

textArea.setFont(font);

break;

case '1':

font = new Font("楷体",Font. PLAIN,18);

textArea.setFon

t(font);

break;

case '2':

font = new Font("script oficial",Font.BOLD,18);

textArea.setFont(fuente);

romper;

predeterminado:

romper;

}< / p>

}});

menu3.add(menu3_1[i]);

}

JMenu menu4 = new JMenu("Fuente tamaño" );

String []fontBig = {"10","15","20","25","30","35","40"};

final JMenuItem []menu4_1 = nuevo JMenuItem[fontBig.length];

for(int i = 0;i < fontBig.length;i++){

String changeString = "" ;

menu4_1[i] = nuevo JMenuItem(fontBig[i]);

menu4_1[i].setActionCommand(changeString + i);

menu4_1[ i].addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

// TODO Método generado automáticamente

p>

switch (e.getActionCommand().charAt(0)) {

case '0':

font = new Font(menu3.getText (),Font .PLAIN,10);

textArea.setFont(font);

break;

caso '1':

font = new Font(menu3.getText(),Font.PLAIN,15);

textArea.setFont(font);

break;

caso '2' :

fuente = nueva Fuente(menu3.getText(),Font.PLAIN,20);

textArea.setFont(fuente);

pausa;

caso '3':

fuente = nueva Fuente(menu3.getText(),Font.PLAIN,25);

textArea.setFont (fuente);

descanso;

caso '4':

fuente = nueva Fuente(menu3.getText(),Font.PLAIN,30);

textArea.se

tFont(fuente);

break;

case '5':

fuente = nueva Fuente(menu3.getText(),Font.PLAIN,35) ;

textArea.setFont(font);

break;

case '6':

font = new Font(menu3. getText(),Font.PLAIN,40);

textArea.setFont(font);

break;

predeterminado:

descanso;

}

}});

menu4.add(menu4_1[i]);

}

menu2.add(menu3);

menu2.add(menu4);

menuBar.add(menu);

menuBar.add(menu2 );

setJMenuBar(menuBar);

textArea = new JTextArea();

textArea.setVisible(true);

/ / textArea.setFont(new Font("宋体",Font.BOLD,20));

add(textArea);

JScrollPane scrollPane = new JScrollPane(textArea); p>

scrollPane.setSize(600, 410);

scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

add(scrollPane);

}

public void readFromFile(Archivo f) lanza IOException{

FileReader fReader = new FileReader(archivo) ;

BufferedReader bReader = new BufferedReader(fReader);

char []data = new char[10000];

int length = 0;

while((length = fReader.read(data)) > 0){

string += new String(data,0,length);

}

// cadena = nueva Cadena("");

// while(true){

// Cadena s1 = bReader.readLine();

// if(s1 == null){

// descanso;

// }

// cadena += (s1 + "\n");

bReader.close();

fReader.close();

}

public void writeToFile(Archivo de archivo,cadena de cadena) lanza IOException{

if(!file.exists() ){

file.createNewFile();

}

FileWriter fWriter = nuevo FileWriter(archivo);

fWriter.write( string);

fWriter.close();

}

public static void main(String[] args) {

WordProcessSystem wordProcessSystem = nuevo WordProcessSystem();

wordProcessSystem.setVisible(true);

}

}