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>
p>
KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
menuPaste = new JMenuItem("Pegar"); p>
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); p>
// Á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(); p >
}
}
);
// 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, p>
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( p>
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) { p>
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();
} p>
}
}
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