Aplicación de Bloc de Notas en Java con Swing

respondido por OpenAI o1 preview en OpenAI o1

Pregunta:

Puedes crearme una aplicacion con java de bloc de notas

Respuesta:

¡Claro! A continuación, te proporcionaré un ejemplo básico de una aplicación de bloc de notas en Java utilizando Swing, que es una biblioteca para crear interfaces gráficas de usuario (GUI). Este ejemplo incluirá funcionalidades básicas como abrir, guardar y editar texto.

Paso 1: Configura tu entorno

Asegúrate de tener instalado Java y un IDE como IntelliJ IDEA, Eclipse o NetBeans.

Paso 2: Código de la aplicación

Aquí tienes un código simple para un bloc de notas:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class BlocDeNotas extends JFrame {
    private JTextArea textArea;

    public BlocDeNotas() {
        setTitle("Bloc de Notas");
        setSize(600, 400);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);

        textArea = new JTextArea();
        add(new JScrollPane(textArea), BorderLayout.CENTER);

        JMenuBar menuBar = new JMenuBar();
        JMenu fileMenu = new JMenu("Archivo");
        JMenuItem openItem = new JMenuItem("Abrir");
        JMenuItem saveItem = new JMenuItem("Guardar");
        JMenuItem exitItem = new JMenuItem("Salir");

        openItem.addActionListener(new OpenAction());
        saveItem.addActionListener(new SaveAction());
        exitItem.addActionListener(e -> System.exit(0));

        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.addSeparator();
        fileMenu.add(exitItem);
        menuBar.add(fileMenu);
        setJMenuBar(menuBar);
    }

    private class OpenAction implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            JFileChooser fileChooser = new JFileChooser();
            int option = fileChooser.showOpenDialog(BlocDeNotas.this);
            if (option == JFileChooser.APPROVE_OPTION) {
                File file = fileChooser.getSelectedFile();
                try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
                    textArea.setText("");
                    String line;
                    while ((line = reader.readLine()) != null) {
                        textArea.append(line + "\n");
                    }
                } catch (IOException ex) {
                    JOptionPane.showMessageDialog(BlocDeNotas.this, "Error al abrir el archivo", "Error", JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }

    private class SaveAction implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            JFileChooser fileChooser = new JFileChooser();
            int option = fileChooser.showSaveDialog(BlocDeNotas.this);
            if (option == JFileChooser.APPROVE_OPTION) {
                File file = fileChooser.getSelectedFile();
                try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
                    writer.write(textArea.getText());
                } catch (IOException ex) {
                    JOptionPane.showMessageDialog(BlocDeNotas.this, "Error al guardar el archivo", "Error", JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            BlocDeNotas blocDeNotas = new BlocDeNotas();
            blocDeNotas.setVisible(true);
        });
    }
}

Paso 3: Compila y ejecuta

  1. Copia el código anterior en un archivo llamado BlocDeNotas.java.

  2. Abre tu terminal o consola de comandos.

  3. Navega hasta el directorio donde guardaste el archivo.

  4. Compila el archivo con el siguiente comando:

    javac BlocDeNotas.java
    
  5. Ejecuta la aplicación con el siguiente comando:

    java BlocDeNotas
    

Funcionalidades

  • Abrir: Permite abrir un archivo de texto y cargar su contenido en el área de texto.
  • Guardar: Permite guardar el contenido del área de texto en un archivo.
  • Salir: Cierra la aplicación.

Este es un ejemplo básico, pero puedes expandirlo añadiendo más funcionalidades como cambiar la fuente, el color de fondo, o incluso implementar un sistema de búsqueda. ¡Espero que te sirva!