如何用java的GUI编写一个记事本

如何用java的GUI编写一个记事本,第1张

很久之前写过的,凑合着看吧,

package 个人练习;

import javaawtFileDialog;

import javaawtMenu;

import javaawtMenuBar;

import javaawtMenuItem;

import javaawtTextArea;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaawteventWindowAdapter;

import javaawteventWindowEvent;

import javaawteventWindowListener;

import javaioBufferedInputStream;

import javaioBufferedOutputStream;

import javaioBufferedReader;

import javaioFile;

import javaioFileInputStream;

import javaioFileOutputStream;

import javaioInputStreamReader;

import javaioOutputStreamWriter;

import javaioPrintWriter;

import javaioWriter;

import javasqlSavepoint;

import javaxswingJFrame;

/

  创建一个类似记事本的程序

  该程序拥有自己的书写窗口

  可以自定义保存地址

  @author Administrator

 

 /

/

  创建记事本类

  实现ActionListener接口

  重写它的actionPerformed方法

  

 /

public class JiShiBen implements ActionListener {

        //拥有自己的窗口

JFrame frame=new JFrame("记事本程序");

//菜单栏

MenuBar menubar=new MenuBar();

//创建下拉菜单

Menu wenjian=new Menu("文件");

//创建保存按钮

MenuItem dakai=new MenuItem("打开文件");

MenuItem baochun=new MenuItem("保存");

MenuItem xinjian=new MenuItem("新建");

//创建可以显示文本的多行区域

TextArea wenben=new TextArea();

//显示一个对话窗口,用户选择一个文件,如果模式是SAVE,则寻找一个地方去写入一个文件

FileDialog fd;

File file=null;

/

  创建jishiben的构造函数

 /

public  JiShiBen(){

framesetMenuBar(menubar);//将菜单栏关联到窗口

menubaradd(wenjian);//将下拉菜单添加到菜单栏

wenjianadd(xinjian);

wenjianadd(dakai);//将保存按钮添加到下拉菜单

wenjianadd(baochun);

dakaiaddActionListener(this);//由baochuan按钮接受处理 *** 作事件

baochunaddActionListener(this);

xinjianaddActionListener(this);

frameadd(wenben);//将文本区域添加到窗口

//设置窗口的属性

framesetSize(600,480);

framesetLocation(200, 200);

framesetVisible(true);

/

  

  用于接收窗口事件的侦听器接口。

  旨在处理窗口事件的类要么实现此接口(及其包含的所有方法),

  要么扩展抽象类 WindowAdapter(仅重写所需的方法)。

  然后使用窗口的 addWindowListener 方法将从该类所创建

  的侦听器对象向该 Window 注册。

  当通过打开、关闭、激活或停用、

  图标化或取消图标化而改变了窗口状态时,

  将调用该侦听器对象中的相关方法,

  并将 WindowEvent 传递给该方法。 

  windowClosing(WindowEvent e) 

        用户试图从窗口的系统菜单中关闭窗口时调用。

   

 /

frameaddWindowListener(new WindowAdapter() {

 public void windowClosing(WindowEvent e) {

 Systemexit(0);//终止当前运行的java虚拟机

 }

});

}

/

  实现ActionListener接口中的方法

  (non-Javadoc)

  @see javaawteventActionListener#actionPerformed(javaawteventActionEvent)

 /

@Override

public void actionPerformed(ActionEvent e) {

if(egetSource()==baochun){

//public Object getSource()最初发生 Event 的对象。 返回,最初发生 Event 的对象。

fd=new FileDialog(frame,"保存文本文件",FileDialogSAVE);

/

  FileDialog(Dialog parent, String title, int mode) 

          创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。

          

    static int LOAD 

          此常量值指示文件对话框窗口的作用是查找要读取的文件。 

    static int SAVE 

          此常量值指示文件对话框窗口的作用是查找要写入的文件。 

 /

fdsetVisible(true);

//文件的存放位置是通过fd获取的位置,文件名是通过fd获取的文件名

file=new File(fdgetDirectory(), fdgetFile()+"txt");

save(file);

}

if(egetSource()==dakai){

fd=new FileDialog(frame,"打开文件",FileDialogLOAD);

fdsetVisible(true);

/

  String getFile() 

          获取此文件对话框的选定文件。 

   String getDirectory() 

          获取此文件对话框的目录。        

 /

file=new File(fdgetDirectory()+fdgetFile());

Systemoutprintln(fdgetFile());

Systemoutprintln(fdgetDirectory());

open(file);

}

if(egetSource()==xinjian){

wenbensetText("");

}

}

/

  创建save方法

 /

public void save(File file){

try{

PrintWriter pw=new PrintWriter(file);

pwwrite(wenbengetText());//wenbengetText()返回文本区域的文本

pwclose();

}catch(Exception e){

}

}

//创建open方法

public void open(File file){

try{

FileInputStream fis=new FileInputStream(file);

InputStreamReader isr=new InputStreamReader(fis);

BufferedReader br=new BufferedReader(isr);

    String line=null;

while((line=brreadLine())!=null){

wenbenappend(line+"\n");

}

brclose();

}catch(Exception e){

}

}

public static void main(String[] args) {

new JiShiBen();

}

}

package tuxingjiemian;

import javaxswing;

import javaxswingevent;

import javaawt;

import javaawtevent;

import javaioFile;

import javaioPrintStream;

public class jishiben extends JFrame {

JPanel jp=new JPanel();

JFrame find_replace=new JFrame();

JMenu file=new JMenu("文件");

JMenu edit=new JMenu("编辑");

JMenu help=new JMenu("帮助");

JMenuBar menubar=new JMenuBar();

JTextArea aa=new JTextArea();

class Open implements ActionListener {

public void actionPerformed(ActionEvent e) {

JFileChooser jf= new JFileChooser();

jfshowOpenDialog(jishibenthis);

try {

PrintStream p=new PrintStream(jfgetSelectedFile()getPath());

} catch (Exception e2) {

}

}

}

class Save implements ActionListener {

public void actionPerformed(ActionEvent e) {

JFileChooser jf= new JFileChooser();

jfshowSaveDialog(jishibenthis);

try {

PrintStream p=new PrintStream(jfgetSelectedFile()getPath());

} catch (Exception e2) {

}

}

}

public jishiben(){

thissetTitle("记事本");

thissetSize(500, 500);

thissetLayout(new BorderLayout());

JMenuItem open=new JMenuItem("打开");

openaddActionListener(new Open());

JMenuItem save=new JMenuItem("保存");

saveaddActionListener(new Save());

JMenuItem exit=new JMenuItem("退出");

exitaddActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

Systemexit(0);

}

});

fileadd(open);

fileadd(save);

fileaddSeparator();

fileadd(exit);

menubaradd(file);

thisadd(new JScrollPane(aa),BorderLayoutCENTER);

JMenuItem copy=new JMenuItem("复制");

JMenuItem past=new JMenuItem("粘贴");

JMenuItem delete=new JMenuItem("删除");

JMenuItem find=new JMenuItem("查找");

JMenuItem replace=new JMenuItem("替换");

copyaddActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

jishibenthisaacopy();

}

});

pastaddActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

jishibenthisaapaste();

}

});

deleteaddActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

jishibenthisaareplaceSelection(null);

}

});

editadd(copy);

editadd(past);

editadd(delete);

editadd(find);

editadd(replace);

menubaradd(edit);

helpadd(new JMenuItem("帮助"));

menubaradd(help);

thisadd(menubar,BorderLayoutNORTH);

thissetVisible(true);

thissetDefaultCloseOperation(thisEXIT_ON_CLOSE);

}

public static void main(String[] args) {

new jishiben();

}

};

import javaawtBorderLayout;

import javaawtColor;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaawteventWindowAdapter;

import javaawteventWindowEvent;

import javaioFile;

import javaioFileReader;

import javaioFileWriter;

import javaxswingImageIcon;

import javaxswingJButton;

import javaxswingJColorChooser;

import javaxswingJDialog;

import javaxswingJFileChooser;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJMenu;

import javaxswingJMenuBar;

import javaxswingJMenuItem;

import javaxswingJOptionPane;

import javaxswingJScrollPane;

import javaxswingJTextPane;

import javaxswingJToolBar;

public class TextEditorFrame extends JFrame {

File file = null;

Color color = Colorred;

TextEditorFrame() {

initTextPane();

initAboutDialog();

initToolBar();

initMenu();

}

void initTextPane() {

getContentPane()add(new JScrollPane(text));

}

JTextPane text = new JTextPane(); // 这是用来做文本框的

JFileChooser filechooser = new JFileChooser(); // 文件选择框

JColorChooser colorchooser = new JColorChooser();//

JDialog about = new JDialog(this); // 关于对话框

JMenuBar menubar = new JMenuBar();// 菜单

JMenu[] menus = new JMenu[] { new JMenu("文件"), new JMenu("编辑"),

new JMenu("帮助") };

JMenuItem menuitems[][] = new JMenuItem[][] {

{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"), new JMenuItem("退出") },

{new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"), new JMenuItem("颜色") }, { new JMenuItem("关于") } };

void initMenu() {

for (int i = 0; i < menuslength; i++) {

menubaradd(menus[i]);

for (int j = 0; j < menuitems[i]length; j++) {

menus[i]add(menuitems[i][j]);

menuitems[i][j]addActionListener(action);

}

}

thissetJMenuBar(menubar);

}

ActionListener action = new ActionListener() { // when here have not wrong:

public void actionPerformed(ActionEvent e) {

JMenuItem mi = (JMenuItem) egetSource();

String id = migetText();

if (idequals("新建")) {

textsetText("");

file = null;

} else if (idequals("打开")) {

if (file != null)

filechoosersetSelectedFile(file);

int returnVal = filechooser

showOpenDialog(TextEditorFramethis);

if (returnVal == JFileChooserAPPROVE_OPTION) {

file = filechoosergetSelectedFile();

openFile();

}

} else if (idequals("保存")) {

if (file != null)

filechoosersetSelectedFile(file);

int returnVal = filechooser

showSaveDialog(TextEditorFramethis);

if (returnVal == JFileChooserAPPROVE_OPTION) {

file = filechoosergetSelectedFile();

saveFile();

}

} else if (idequals("退出")) {

TextEditorFrame f = new TextEditorFrame();

int s = JOptionPaneshowConfirmDialog(f, "你真的要结束吗", "结束程序",

JOptionPaneYES_NO_CANCEL_OPTION);

if (s == JOptionPaneYES_OPTION)

Systemexit(0);

} else if (idequals("剪切")) {

textcut();

} else if (idequals("复制")) {

textcopy();

} else if (idequals("粘贴")) {

textpaste();

} else if (idequals("color")) {

color = JColorChoosershowDialog(TextEditorFramethis, "",

color);

textsetForeground(color);

} else if (idequals("关于")) {

aboutsetSize(200, 150);

aboutshow();

}

}

};

void saveFile() {

try {

FileWriter fw = new FileWriter(file);

fwwrite(textgetText());

fwclose();

} catch (Exception e) {

eprintStackTrace();

}

}

void openFile() {

try {

FileReader fr = new FileReader(file);

int len = (int) filelength();

char[] buffer = new char[len];

frread(buffer, 0, len);

frclose();

textsetText(new String(buffer));

} catch (Exception e) {

eprintStackTrace();

}

}

void initAboutDialog() {

aboutgetContentPane()add(new JLabel("作者-覃树新:记事本Q10版本"));

aboutsetModal(true);

aboutsetSize(200, 100);

}

JToolBar toolbar = new JToolBar();// 我来加上工具条

JButton[] buttons = new JButton[] {

new JButton("", new ImageIcon("qinjpg")),

new JButton("", new ImageIcon("shujpg")),

new JButton("", new ImageIcon("xinjpg")) };

void initToolBar() {

for (int i = 0; i < buttonslength; i++)

toolbaradd(buttons[i]);

buttons[0]setToolTipText("复制");

buttons[0]addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textcopy();

}

});

buttons[1]setToolTipText("剪切");

buttons[1]addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textcut();

}

});

buttons[2]setToolTipText("粘贴");

buttons[2]addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textpaste();

}

});

thisgetContentPane()add(toolbar, BorderLayoutNORTH);

}

public static void main(String args[]) {

TextEditorFrame f = new TextEditorFrame();

faddWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e)

{

TextEditorFrame f = new TextEditorFrame();

int s = JOptionPaneshowConfirmDialog(f, "你真的要结束吗", "结束程序",

JOptionPaneYES_NO_OPTION);

if (s == JOptionPaneYES_OPTION)

Systemexit(0);

}

});

fsetTitle("简单的记事本");

fsetSize(800, 600);

fsetVisible(true);

}

}

以前看到的一个程序

以上就是关于如何用java的GUI编写一个记事本全部的内容,包括:如何用java的GUI编写一个记事本、java编写一个记事本小程序,接着下面的代码写,求大神解救!实现新建,保存,打开功能就行!、怎样用java编写一个记事本 ,具体步骤!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9591925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存