java编写记事本代码

实现的效果如图所示:
在这里插入图片描述
下面是通过基本的java语句实现的GUI界面

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.*;

public class Notebook extends JFrame {
   JTextArea area;
 JDialog tuidialog;
 JLabel label1;
 JButton jb1,jb2;
 Font font;
public Notebook() {
JMenuBar jm=new JMenuBar();
  this.setJMenuBar(jm);
  JMenu menu1=new JMenu("文件");
  JMenu menu2=new JMenu("编辑");
  JMenu menu3=new JMenu("格式");
  JMenu menu4=new JMenu("查看");
  JMenu menu5=new JMenu("帮助");
  
JMenuItem item1=new JMenuItem("新建");
  item1.addActionListener(new xingjian());
  JMenuItem item2=new JMenuItem("打开");
  item2.addActionListener(new open());
  JMenuItem item3=new JMenuItem("保存");
  item3.addActionListener(new save());
  JMenuItem item4=new JMenuItem("另存为");
  item4.addActionListener(new save());
  tuidialog=new JDialog();
  label1=new JLabel("     是否保存当前内容!  ");
  jb1=new JButton("是");
  jb1.addActionListener(new dia());
  jb2=new JButton("否");
  jb2.addActionListener(new dia());
  tuidialog.setLayout(new BorderLayout());
  tuidialog.add(label1,BorderLayout.CENTER);
  JPanel jp1=new JPanel();
  jp1.add(jb1);
  jp1.add(jb2);
  tuidialog.add(jp1,BorderLayout.SOUTH);
  tuidialog.setSize(100, 150);
  tuidialog.setLocation(this.getX()+460, this.getY()+460);

item4.addActionListener(new save());
  JMenuItem item5=new JMenuItem("退出");
  item5.addActionListener(new tuichu());
  JMenuItem item6=new JMenuItem("复制");
  JMenuItem item7=new JMenuItem("粘贴");
  JMenuItem item8=new JMenuItem("删除");
  JMenuItem item9=new JMenuItem("字体");
  item9.addActionListener(new setfont());
  JMenuItem item10=new JMenuItem("关于记事本");
  
menu1.add(item1);
  menu1.add(item2);
  menu1.add(item3);
  menu1.add(item4);
  menu1.add(item5);
  menu2.add(item6);
  menu2.add(item7);
  menu2.add(item8);
  menu3.add(item9);
  menu5.add(item10);

jm.add(menu1);
  jm.add(menu2);
  jm.add(menu3);
  jm.add(menu4);
  jm.add(menu5);
 area=new JTextArea();
  area.setLineWrap(true);//自动换行
  area.setBackground(Color.WHITE);
  //设置一个带滚动条的面板
  JScrollPane scrollpane=new JScrollPane(area);
    //设置水平滚动条并一直显示
  scrollpane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  //设置垂直滚动条,在需要时显示
  scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  
  //获取屏幕分屏率
  Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
  this.setSize(dim.width/3,dim.height/3);
  this.setLocation(400,400);
  this.setLayout(new BorderLayout());
  this.setTitle("记事本");
  this.add(scrollpane,BorderLayout.CENTER);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
  
 }
 public static void main(String[] args) {
 new Notebook();
 
}
 
 }


  • 9
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Java Swing记事本程序的代码,你可以参考它来编写你自己的程序: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class SimpleNotepad extends JFrame implements ActionListener { private JTextArea textArea; private JScrollPane scrollPane; private JMenuBar menuBar; private JMenu fileMenu, editMenu; private JMenuItem newFileItem, openFileItem, saveFileItem, saveAsFileItem, exitFileItem; private JMenuItem undoItem, redoItem, cutItem, copyItem, pasteItem, selectAllItem; private File currentFile; public SimpleNotepad() { super("Simple Notepad"); textArea = new JTextArea(20, 60); textArea.setFont(new Font("Consolas", Font.PLAIN, 14)); scrollPane = new JScrollPane(textArea); menuBar = new JMenuBar(); fileMenu = new JMenu("File"); newFileItem = new JMenuItem("New"); openFileItem = new JMenuItem("Open"); saveFileItem = new JMenuItem("Save"); saveAsFileItem = new JMenuItem("Save As"); exitFileItem = new JMenuItem("Exit"); editMenu = new JMenu("Edit"); undoItem = new JMenuItem("Undo"); redoItem = new JMenuItem("Redo"); cutItem = new JMenuItem("Cut"); copyItem = new JMenuItem("Copy"); pasteItem = new JMenuItem("Paste"); selectAllItem = new JMenuItem("Select All"); newFileItem.addActionListener(this); openFileItem.addActionListener(this); saveFileItem.addActionListener(this); saveAsFileItem.addActionListener(this); exitFileItem.addActionListener(this); undoItem.addActionListener(this); redoItem.addActionListener(this); cutItem.addActionListener(this); copyItem.addActionListener(this); pasteItem.addActionListener(this); selectAllItem.addActionListener(this); fileMenu.add(newFileItem); fileMenu.add(openFileItem); fileMenu.add(saveFileItem); fileMenu.add(saveAsFileItem); fileMenu.addSeparator(); fileMenu.add(exitFileItem); editMenu.add(undoItem); editMenu.add(redoItem); editMenu.addSeparator(); editMenu.add(cutItem); editMenu.add(copyItem); editMenu.add(pasteItem); editMenu.addSeparator(); editMenu.add(selectAllItem); menuBar.add(fileMenu); menuBar.add(editMenu); setJMenuBar(menuBar); add(scrollPane); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new SimpleNotepad(); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == newFileItem) { newFile(); } else if (e.getSource() == openFileItem) { openFile(); } else if (e.getSource() == saveFileItem) { saveFile(); } else if (e.getSource() == saveAsFileItem) { saveAsFile(); } else if (e.getSource() == exitFileItem) { exit(); } else if (e.getSource() == undoItem) { textArea.undo(); } else if (e.getSource() == redoItem) { textArea.redo(); } else if (e.getSource() == cutItem) { textArea.cut(); } else if (e.getSource() == copyItem) { textArea.copy(); } else if (e.getSource() == pasteItem) { textArea.paste(); } else if (e.getSource() == selectAllItem) { textArea.selectAll(); } } private void newFile() { textArea.setText(""); currentFile = null; } private void openFile() { JFileChooser fileChooser = new JFileChooser("."); int result = fileChooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { FileReader reader = new FileReader(file); textArea.read(reader, null); reader.close(); currentFile = file; } catch (IOException e) { e.printStackTrace(); } } } private void saveFile() { if (currentFile != null) { try { FileWriter writer = new FileWriter(currentFile); textArea.write(writer); writer.close(); } catch (IOException e) { e.printStackTrace(); } } else { saveAsFile(); } } private void saveAsFile() { JFileChooser fileChooser = new JFileChooser("."); int result = fileChooser.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { FileWriter writer = new FileWriter(file); textArea.write(writer); writer.close(); currentFile = file; } catch (IOException e) { e.printStackTrace(); } } } private void exit() { System.exit(0); } } ``` 这个程序的功能包括新建、打开、保存、另存为、撤销、重做、剪切、复制、粘贴、选择全部等功能。注意,这只是一个简单的示例程序,你可以根据实际需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值