「java中文本编辑器」java文本编辑器查找功能

博主:adminadmin 2023-01-05 18:00:11 622

今天给各位分享java中文本编辑器的知识,其中也会对java文本编辑器查找功能进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

文本编辑器(手机)Java

自己写的,能实现基本功能:

import java.awt.BorderLayout;

import java.awt.FileDialog;

import java.awt.Font;

import java.awt.datatransfer.Clipboard;

import java.awt.datatransfer.DataFlavor;

import java.awt.datatransfer.StringSelection;

import java.awt.datatransfer.Transferable;

import java.awt.datatransfer.UnsupportedFlavorException;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.border.TitledBorder;

/*因为根据个人的电脑路径可能有所偏差,没有源路径的情况下,设置默认保存路径为D盘根目录下

* 若要选择保存其他地方,可以选择 另存为*/

public class TestDemo extends JFrame {

private static final long serialVersionUID = -5355432125621015300L;

private String url = null;//文件路径

private String str=null;//复制或剪切 的字符串

private StringSelection stringSelection=null;

private Clipboard clipboard=new Clipboard(str);

private Transferable transferable=null;

private DataFlavor flavor=null;

public TestDemo() {

init();

}

private void init() {

setTitle("我的记事本");

setSize(500, 600);

setContentPane(createContentPane());//添加主面板

}

/*创建主面板*/

private JPanel createContentPane() {

JPanel pane = new JPanel(new BorderLayout());

pane.add(BorderLayout.NORTH, createChocePane());//添加菜单栏

pane.add(createAreaPane());//添加文本编辑区域

return pane;

}

/*创建菜单栏,以及实现功能*/

private JPanel createChocePane() {

JPanel pane = new JPanel();

JMenuBar menuBar1 = new JMenuBar();

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

menuBar1.add(menu);

JMenuItem menuIt1 = new JMenuItem("新建");

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

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

JMenuItem menuIt4 = new JMenuItem("另存为");

menu.add(menuIt1);

menu.add(menuIt2);

menu.add(menuIt3);

menu.add(menuIt4);

JMenuBar menuBar2 = new JMenuBar();

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

menuBar2.add(menu2);

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

JMenuItem menuIt6 = new JMenuItem("剪切");

JMenuItem menuIt7 = new JMenuItem("粘帖");

menu2.add(menuIt5);

menu2.add(menuIt6);

menu2.add(menuIt7);

JMenuBar menuBar3 = new JMenuBar();

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

menuBar3.add(menu3);

JMenuItem menuIt8 = new JMenuItem("关于记事本");

menu3.add(menuIt8);

pane.add(menuBar1);

pane.add(menuBar2);

pane.add(menuBar3);

menuIt1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

testArea.setText(null);

}

});

menuIt2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

final FileDialog fd = new FileDialog(new JFrame(), "查找文件",

FileDialog.LOAD);

fd.setVisible(true);

if (fd.getDirectory() != null fd.getFile() != null) {

testArea.setText(null);

url = fd.getDirectory() + fd.getFile();

try {

BufferedReader in = new BufferedReader(new FileReader(

url));

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

testArea.append(in.readLine());

if (in.read() == -1) {

break;

} else

continue;

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

});

menuIt3.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (url==null) {

url="D:\\新建 文本文档.txt";

}

File f = new File(url);

BufferedWriter out = null;

try {

out = new BufferedWriter(new FileWriter(url));

f.createNewFile();

out.append(testArea.getText());

out.flush();

} catch (IOException e1) {

e1.printStackTrace();

} finally {

try {

out.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

});

menuIt4.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

FileDialog fd = new FileDialog(new JFrame(), "保存文本",

FileDialog.SAVE);

fd.setVisible(true);

if (url!=null) {

File f = new File(url);

BufferedWriter out = null;

try {

f.createNewFile();

out = new BufferedWriter(new FileWriter(url));

out.append(testArea.getText());

out.flush();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

});

menuIt5.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

str=testArea.getSelectedText();

stringSelection=new StringSelection(str);

clipboard.setContents(stringSelection, null);

}

});

menuIt6.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

str=testArea.getSelectedText();

stringSelection=new StringSelection(str);

clipboard.setContents(stringSelection, null);

int start=testArea.getSelectionStart();

int end=testArea.getSelectionEnd();

testArea.replaceRange( null,start,end);

}

});

menuIt7.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

transferable=clipboard.getContents(this);

flavor=DataFlavor.stringFlavor;

if (transferable.isDataFlavorSupported(flavor)) {

int start=testArea.getSelectionStart();

int end=testArea.getSelectionEnd();

testArea.replaceRange( null,start,end);

int pos=testArea.getCaretPosition();

try {

str=(String)transferable.getTransferData(flavor);

testArea.insert(str, pos);

} catch (UnsupportedFlavorException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

});

menuIt8.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null,"功能简单,绝对原创 ");

}

});

return pane;

}

JTextArea testArea;

private JScrollPane createAreaPane() {

JScrollPane pane = new JScrollPane();

pane.setBorder(new TitledBorder("编辑区域"));

testArea = new JTextArea();

testArea.setFont(new Font("宋体", Font.BOLD, 13));

testArea.setLineWrap(true);

pane.getViewport().add(testArea);

return pane;

}

public static void main(String[] args) {

TestDemo td = new TestDemo();

td.setVisible(true);

}

}

java必须用文本编辑器编写源文件对吗?

对的

1、编写源文件

使用一个文本编辑器(如Edit或记事本)编写源文件,不可使用非文本编辑器(如我word编辑器)。

将编写好的源文件保存起来,源文件的扩展名必须是.java。

2、编译源文件

使用Java编译器(javac.exe)编译源文件,得到字节码文件。

3、运行程序

使用Java SE 平台中的Java解释器(java.exe)来解释执行字节码文件。

JAVA 文本编辑器

不知道你的编辑器控件是不是用的JTextArea,如果是的话,有getSelectionStart()和getSelectedEnd()来获取起始地址和结束地址,至于字数,getSelectedText()得到字符串,就可以得到字数了吧。

运行这段代码:

public class MyText2 extends JFrame {

private JTextArea editorArea;

private JLabel lb_StatusBar;

public MyText2() {

super();

Container container = getContentPane();

editorArea = new JTextArea();

editorArea.setLineWrap(true);

editorArea.addMouseMotionListener(new MouseMotionAdapter() {

public void mouseDragged(MouseEvent e) {

if(editorArea.getSelectedText() != null){

lb_StatusBar.setText(editorArea.getSelectionStart() + " " + editorArea.getSelectionEnd() + " Length:" + editorArea.getSelectedText().length()); //获取起始位置和结束位置,获取选取的字符串长度

}

}

});

JScrollPane scrollPane = new JScrollPane(editorArea);

container.add(scrollPane);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){

dispose();

}

});

setTitle("MyText");

setSize(600, 400);

setVisible(true);

final JPanel statusBar = new JPanel();

final FlowLayout flowLayout = new FlowLayout();

flowLayout.setAlignment(FlowLayout.LEFT);

statusBar.setLayout(flowLayout);

getContentPane().add(statusBar, BorderLayout.SOUTH);

lb_StatusBar = new JLabel();

lb_StatusBar.setText("");

statusBar.add(lb_StatusBar);

}

public static void main(String args[]) {

MyText2 app = new MyText2();

}

}

如何用java编写一个简单的文本编辑器?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class f1 extends Frame implements ActionListener

{

private MenuBar menubar=new MenuBar();

private Menu filemenu=new Menu("文件");

private Menu editmenu=new Menu("编辑");

private Menu formmenu=new Menu("格式");

private MenuItem[] itemf=new MenuItem[4];

private MenuItem[] iteme=new MenuItem[6];

private MenuItem[] items=new MenuItem[2];

private TextArea tf=new TextArea();

public int a=0,b=0,c=0,style=Font.PLAIN,size=15;

public String s1="red:"+a+" "+"green:"+b+" "+"blue"+c,

s2="宋体";

public String[] sz1={"10","16","24","30","32","36"},

sz2={"宋体","黑体","幼圆","隶书","行楷","Arial","Georgia"},

sz3={"粗体","倾斜","常规","粗斜"};

JDialog dialog=new JDialog(this,"字体",true);

Container cp=dialog.getContentPane();

JLabel[] lb=new JLabel[8];

JLabel lb1=new JLabel(s1,JLabel.LEFT);

JButton b1=new JButton("确定"),

b2=new JButton("取消");

JComboBox jc1=new JComboBox(),

jc2=new JComboBox(),

jc3=new JComboBox();

JScrollBar jb1=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);

JScrollBar jb2=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);

JScrollBar jb3=new JScrollBar(JScrollBar.HORIZONTAL,10,5,0,260);

java中文本编辑器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文本编辑器查找功能、java中文本编辑器的信息别忘了在本站进行查找喔。