Red de conocimiento informático - Descarga de software - Utilice JAVA para escribir un bloc de notas~ Simplemente implemente las siguientes funciones: Insertar~Eliminar~Buscar~Guardar~Guardar como~ (agregue más comentarios~Me temo que el cartel no lo entenderá)

Utilice JAVA para escribir un bloc de notas~ Simplemente implemente las siguientes funciones: Insertar~Eliminar~Buscar~Guardar~Guardar como~ (agregue más comentarios~Me temo que el cartel no lo entenderá)

Ejercicios de interfaz de paquete;

importar java.awt.BorderLayout;

importar java.awt.Container;

importar java.awt .Font;

importar java.awt.event.ActionEvent;

importar java.awt.event.ActionListener;

importar java.awt.event.InputEvent ;

importar java.awt.event.KeyAdapter;

importar java.awt.event.KeyEvent;

importar java.awt.event.MouseAdapter;

importar java.awt.event.MouseEvent;

importar java.awt.event.WindowAdapter;

importar java.awt.event.WindowEvent;

importar java.io.BufferedReader;

importar java.io.BufferedWriter;

importar java.io.File;

importar java.io .FileReader;

importar java.io.FileWriter;

importar java.io.IOException;

importar javax.swing.BorderFactory;

importar javax.swing.JFileChooser;

importar javax.swing.JFrame;

importar javax.swing.JLabel;

importar javax.swing.JMenu ;

importar javax.swing.JMenuBar;

importar javax.swing.JMenuItem;

importar javax.swing.JOptionPane;

importar javax.swing.JPopupMenu;

importar javax.swing.JScrollPane;

importar javax.swing.JTextArea;

importar javax.swing.KeyStroke;

importar javax.swing.ScrollPaneConstants;

importar javax.swing.SwingConstants;

el Bloc de notas de clase pública extiende JFrame {

menú JMenuItem privadoAbrir ;

menú privado JMenuItem Guardar;

menú privado JMenuItem Guardar como;

menú privado JMenuItem Cerrar;

menú privado JMenu editar;

p

menú JMenuItem privadoCortar;

menú JMenuItem privadoCopiar;

menú JMenuItem privadoPegar;

menú JMenuItem privadoAcerca de;

JTextArea privada área de texto;

p> p>

JLabel stateBar privado;

JFileChooser privado fileChooser;

JPopupMenu popUpMenu privado;

Bloc de notas público() {

super("Nuevo archivo de texto");

setUpUIComponent();

setUpEventListener();

setVisible(true);

}

private void setUpUIComponent() {

setSize(640, 480);

// Barra de menú

JMenuBar menuBar = new JMenuBar();

// Establece el menú "Archivo"

JMenu fileMenu = new JMenu("Archivo");

menuOpen = new JMenuItem (" Abrir");

// Configuración de teclas de acceso directo

menuOpen.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_O ,

InputEvent.CTRL_MASK));

menuSave = new JMenuItem("Guardar");

menuSave.setAccelerator(

Pulsación de tecla .getKeyStroke (

KeyEvent.VK_S,

InputEvent.CTRL_MASK));

menuSaveAs = new JMenuItem("Guardar como");

menuClose = new JMenuItem("Cerrar");

menuClose.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_Q,

InputEvent.CTRL_MASK));

fileMenu.

add(menuOpen);

fileMenu.addSeparator(); // Línea separadora

fileMenu.add(menuSave);

fileMenu.add(menuSaveAs);

fileMenu.addSeparator(); // Línea separadora

fileMenu.add(menuClose);

// Establece el menú "Editar"

JMenu editMenu = new JMenu("Editar");

menuCut = new JMenuItem("Cortar");

menuCut.setAccelerator(

Pulsación de tecla .getKeyStroke(KeyEvent.VK_X,

InputEvent.CTRL_MASK));

menuCopy = new JMenuItem("Copiar");

menuCopy.setAccelerator(

p>

KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

menuPaste = new JMenuItem("Pegar");

menuPaste.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_V,

InputEvent.CTRL_MASK));

editMenu.add(menuCut) ;

editMenu.add(menuCopy);

editMenu.add(menuPaste);

// Establece el menú "Acerca de"

JMenu aboutMenu = nuevo JMenu ("Acerca de");

menuAbout = nuevo JMenuItem("Acerca de JNotePad");

aboutMenu.add(menuAbout);

menuBar.add(fileMenu );

menuBar.add(editMenu);

menuBar.add(aboutMenu);

setJMenuBar(menuBar);

// Área de edición de texto

textArea = new JTextArea();

textArea.setFont(new Font("宋体", Font.PLAIN, 16)); <

/p>

textArea.setLineWrap(true);

panel JScrollPane = nuevo JScrollPane(textArea,

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER) ;

Contenedor contentPane = getContentPane();

contentPane.add(panel, BorderLayout.CENTER

// Barra de estado

stateBar = new JLabel("Sin modificar");

stateBar.setHorizontalAlignment(SwingConstants.LEFT);

stateBar.setBorder(

BorderFactory.createEtchedBorder( ) );

contentPane.add(stateBar, BorderLayout.SOUTH);

popUpMenu = editMenu.getPopupMenu();

fileChooser = new JFileChooser(); /p>

}

private void setUpEventListener() {

// Presione el botón de cerrar ventana procesamiento de eventos

addWindowListener(

nuevo WindowAdapter() {

public void windowClosing(WindowEvent e) {

closeFile();

}

}

);

// Menú - Abrir

menuOpen.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

openFile();

}

}

);

// Menú - Guardar

menuSave.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEven

t e) {

saveFile();

}

}

);

// Menú- Guardar como

menuSaveAs.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

saveFileAs() ;

}

}

);

// Menú - Cerrar archivo

menuClose.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

closeFile();

}

}

);

// Menú - Cortar

menuCut.addActionListener(

new ActionListener() {< / p>

public void actionPerformed(ActionEvent e) {

cut();

}

}

); /p>

// Menú - Copiar

menuCopy.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

copiar();

}

}

);

// Menú - Pegar

p>

menuPaste.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

pegar();

}

}

);

// Menú - Acerca de

menuAbout.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

// Mostrar cuadro de diálogo

JOptionPane.showOptionDialog( null,

"Nombre del programa:\n JNotePad \n" +

"Diseño del programa:\n \n" +

"Introducción:\n a A editor de texto simple\n" +

" Puede usarse como objeto de implementación para la aceptación de Java\n" +

" Los internautas pueden descargarlo para investigar e intercambiar\n\ n" +

" /",

"Acerca de JNotePad",

JOptionPane.DEFAULT_OPTION,

JOptionPane.INFORMATION_MESSAGE,

null , null, null);

}

}

// Edición de eventos del teclado del área.

textArea.addKeyListener(

new KeyAdapter() {

public void keyTyped(KeyEvent e) {

processTextArea();

}

}

);

//Editar evento del mouse del área

textArea.addMouseListener(

nuevo MouseAdapter() {

public void mouseReleased(MouseEvent e) {

if(e.getButton() == MouseEvent.BUTTON3)

popUpMenu.show( editMenu, e.getX(), e.getY());

}

public void mouseClicked(MouseEvent e) {

if(e.getButton() == Mou

seEvent.BUTTON1)

popUpMenu.setVisible(false);

}

}

); }

private void openFile() {

if(isCurrentFileSaved()) { // Si el archivo está guardado

open() // Abrir

}

else {

// Mostrar cuadro de diálogo

int option = JOptionPane.showConfirmDialog(

null , "El archivo ha sido modificado, ¿quieres guardarlo?",

"¿Guardar el archivo?", JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE, null);

switch (opción) {

// Confirmar guardado del archivo

case JOptionPane.YES_OPTION:

saveFile() // Guardar archivo

break;

// Dejar de guardar el archivo

case JOptionPane.NO_OPTION:

open();

break;

}

}

}

booleano privado isCurrentFileSaved() {

si (stateBar.getText().equals( "No modificado")) {

return false;

}

else {

return true;

}

}

private void open() {

// fileChooser es una instancia de JFileChooser

// Mostrar cuadro de diálogo de selección de archivo

int option = fileChooser.showDialog(null, null);

// El usuario presionó la tecla de confirmación

if(option == JFileChooser. APPROVE_OPTION) {

prueba {

/

/ Abrir el archivo seleccionado

BufferedReader buf =

new BufferedReader(

new FileReader(

fileChooser.getSelectedFile()));

//Establecer el título del archivo

setTitle(fileChooser.getSelectedFile().toString());

// Borrar el archivo anterior

textArea.setText("");

// Establecer barra de estado

stateBar.setText("Unmodified");

// Obtener el carácter de nueva línea dependiente del sistema

String lineSeparator = System.getProperty("line.separator");

// Lee el archivo y añádelo al área de edición de texto

Texto de cadena;

while((text = buf.readLine()) != null) {

textArea.append(texto);

textArea .append(lineSeparator);

}

buf.close();

}

catch(IOException e) {

p>

JOptionPane.showMessageDialog(null, e.toString(),

"Error al abrir el archivo", JOptionPane.ERROR_MESSAGE);

}

}

}

private void saveFile() {

// Obtiene el nombre del archivo de la barra de título

Archivo archivo = nuevo Archivo( getTitle());

//Si el archivo especificado no existe

if(!file.exists()) {

// Ejecutar Guardar como

saveFileAs();

}

más {

prueba {

// Abre el archivo especificado

BufferedWriter buf =

new BufferedWriter(

new FileWriter(file));

// Escribe el texto en el área de edición de texto en el archivo

buf.write(textArea. getText( ));

buf.close();

// Establece la barra de estado en sin modificar

stateBar.setText("Sin modificar");

}

catch(IOException e) {

JOptionPane.showMessageDialog(null, e.toString(),

"Escribir en el archivo Error", JOptionPane.ERROR_MESSAGE);

}

}

}

private void saveFileAs() {

//Mostrar cuadro de diálogo del archivo

int option = fileChooser.showSaveDialog(null);

//Si confirmas para seleccionar el archivo

if( option == JFileChooser.APPROVE_OPTION) {

// Obtener el archivo seleccionado

File file = fileChooser.getSelectedFile();

// Establecer el archivo en la barra de título Nombre

setTitle(file.toString());

prueba {

// Crea un archivo

archivo. createNewFile();

// Guarda el archivo

saveFile();

}

catch(IOException e) {

JOptionPane.showMessageDialog(null, e.toString(),

"No se puede crear un archivo nuevo", JOptionPane.ERROR_MESSAGE);

}

}

p>

}

private void closeFile() {

// Si el archivo se ha guardado

if(isCurrentFileSaved()) {

// Libera los recursos de la ventana y luego cierra el programa

dispose();

}

else {

int option = JOptionPane.showConfirmDialog(

null, "El archivo ha sido modificado, ¿quieres guardarlo?",

"Guardar el archivo?", JOptionPane. YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE, null);

switch(option) {

case JOptionPane.YES_OPTION:

saveFile() ;

break;

case JOptionPane.NO_OPTION:

dispose();

}

}

}

corte vacío privado() {

textArea.cut();

stateBar.setText ("Modificado");

popUpMenu.setVisible(false);

}

copia nula privada() {

textArea. copiar();

p>

popUpMenu.setVisible(false);

}

pegar vacío privado() {

textArea.paste();

stateBar.setText("Modificado");

popUpMenu.setVisible(false);

}

private void ProcessTextArea() {

p>

stateBar.setText("Modificado");

}

public static void main(String[] args ) {

nueva nota Ben();

}

}

¡Espero que te ayude! ! El cartel original