java文本编辑器用java编写一个体现菜单功能的文本编辑器。

java文本编辑器  时间:2021-09-15  阅读:()

JAVA什么可以编辑文本和图片

Java Swing里面有富文本编辑器 JTextPane,不过用法比JTextArea复杂多了, 能够插入图片,设置字体属性之类了。

至于要插入Flash的话,单独的一个组件是可以做到的,建议去网上搜索一下JDIC,是Sun针对Windows开发的一个组件包,其中包括一个Web Browser,是一个组件,设置他的html内容就能显示出来,是使用IE内核的。

将flash嵌入网页的代码使用,具体的语法自己查下吧。

文本编辑器(手机)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编写一个体现菜单功能的文本编辑器。

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class MyTextEditor extends JFrame implements ActionListener,ItemListener,MouseListener { private File file; private JTextArea textarea; private JRadioButtonMenuItem rbmi_red,rbmi_blue,rbmi_green; private JMenuItem menuitem_copy,menuitem_cut,menuitem_paste,menuitem_seek; private JMenuItem menuitem_song,menuitem_fang,menuitem_kai;//字体变量 private JMenuItem menuitem_normal,menuitem_bold,menuitem_italic;//字形变量 private JMenuItem menuitem_20,menuitem_30,menuitem_40;//字号变量 private JMenuItem menuitem_exit,menuitem_infor; private JPopupMenu popupmenu; private JMenuItem menuitem_red,menuitem_green,menuitem_blue; private JDialog dialog,dialog1; private JButton button_seek; private JTextField textfield_seek; private JLabel label_seek,label_infor; String seek; public MyTextEditor() { super("文本编辑器"); this.setSize(400,300); this.setLocation(360,300); this.setDefaultCloseOperation(HIDE_ON_CLOSE); Container ss=this.getContentPane(); this.textarea = new JTextArea(); JScrollPane dd=new JScrollPane(textarea); ss.add(dd); textarea.addMouseListener(this); this.addMenu(); this.setVisible(true); this.Dialog(); this.Dialog1(); this.file = null; } public MyTextEditor(String filename) { this(); if (filename!=null) { this.file = new File(filename); this.setTitle(filename); this.textarea.setText(this.readFromFile()); } } public MyTextEditor(File file) { this(); if (file!=null) { this.file = file; this.setTitle(this.file.getName()); this.textarea.setText(this.readFromFile()); } } public void Dialog() //建立对话框的方法 { dialog=new JDialog(this,"查找",true); dialog.setLayout(new FlowLayout()); dialog.setSize(200,90); label_seek=new JLabel("查找内容"); dialog.add(label_seek); textfield_seek=new JTextField(10); dialog.add(textfield_seek); button_seek=new JButton("查找"); dialog.add(button_seek); button_seek.addActionListener(this); } public void Dialog1() { dialog1=new JDialog(this,"专利",true); dialog1.setLayout(new FlowLayout()); dialog1.setSize(200,100); label_infor=new JLabel("刘同虎制作"); dialog1.add(label_infor); } public void addMenu() { JMenuBar menubar = new JMenuBar(); this.setJMenuBar(menubar); JMenu menu_file = new JMenu("文件"); //文件菜单 menubar.add(menu_file); JMenuItem menuitem_open = new JMenuItem("打开"); menu_file.add(menuitem_open); menuitem_open.addActionListener(this); JMenuItem menuitem_save = new JMenuItem("保存"); menu_file.add(menuitem_save); menuitem_save.addActionListener(this); JMenuItem menuitem_saveas = new JMenuItem("另存为"); menu_file.add(menuitem_saveas); menuitem_saveas.addActionListener(this); menuitem_exit=new JMenuItem("退出" ); menu_file.add(menuitem_exit); menuitem_exit.addActionListener(this); menuitem_infor=new JMenuItem("信息"); menu_file.add(menuitem_infor); menuitem_infor.addActionListener(this); JMenu menu_editor=new JMenu("编辑");//编辑菜单 menubar.add(menu_editor); menuitem_seek=new JMenuItem("查找"); menu_editor.add(menuitem_seek); menuitem_seek.addActionListener(this); menuitem_copy=new JMenuItem("复制"); menuitem_copy.addActionListener(this); menu_editor.add(menuitem_copy); menuitem_cut=new JMenuItem("剪切"); menu_editor.add(menuitem_cut); menuitem_cut.addActionListener(this); menuitem_paste=new JMenuItem("粘贴"); menu_editor.add(menuitem_paste); menuitem_paste.addActionListener(this); JMenuItem menu_color=new JMenu("颜色");//颜色菜单 menu_editor.add(menu_color); ButtonGroup buttongroup=new ButtonGroup(); rbmi_red=new JRadioButtonMenuItem("红",true); buttongroup.add(rbmi_red); menu_color.add(rbmi_red); rbmi_red.addItemListener(this); rbmi_blue=new JRadioButtonMenuItem("蓝",true); buttongroup.add(rbmi_blue); menu_color.add(rbmi_blue); rbmi_blue.addItemListener(this); rbmi_green=new JRadioButtonMenuItem("绿",true); buttongroup.add(rbmi_green); menu_color.add(rbmi_green); rbmi_green.addItemListener(this); JMenu menu_font=new JMenu("设置字体");//设置字体菜单 menubar.add(menu_font); menuitem_song=new JMenuItem("宋体"); menu_font.add(menuitem_song); menuitem_song.addActionListener(this); menuitem_fang=new JMenuItem("仿宋"); menu_font.add(menuitem_fang); menuitem_fang.addActionListener(this); menuitem_kai=new JMenuItem("楷体"); menu_font.add(menuitem_kai); menuitem_kai.addActionListener(this); JMenu menu_style=new JMenu("设置字形");//设置字形菜单 menubar.add(menu_style); menuitem_bold=new JMenuItem("粗体"); menu_style.add(menuitem_bold); menuitem_bold.addActionListener(this); menuitem_italic=new JMenuItem("斜体"); menu_style.add(menuitem_italic); menuitem_italic.addActionListener(this); JMenu menu_size=new JMenu("设置字号"); //设置字号菜单 menubar.add(menu_size); menuitem_20=new JMenuItem("20"); menu_size.add(menuitem_20); menuitem_20.addActionListener(this); menuitem_30=new JMenuItem("30"); menu_size.add(menuitem_30); menuitem_30.addActionListener(this); menuitem_40=new JMenuItem("40"); menu_size.add(menuitem_40); menuitem_40.addActionListener(this); popupmenu=new JPopupMenu(); //快捷菜单 JMenuItem menuitem_red=new JMenuItem("红色"); popupmenu.add(menuitem_red); menuitem_red.addActionListener(this); JMenuItem menuitem_green=new JMenuItem("绿色"); popupmenu.add(menuitem_green); menuitem_green.addActionListener(this); menuitem_blue=new JMenuItem("蓝色"); popupmenu.add(menuitem_blue); menuitem_blue.addActionListener(this); textarea.add(popupmenu); //向文本区内添加快捷菜单 } public void writeToFile(String lines) //写文件 { try { FileWriter fout = new FileWriter(this.file); fout.write(lines+" "); fout.close(); } catch (IOException ioex) { return; } } public String readFromFile() //读文件 { try { FileReader fin = new FileReader(this.file); BufferedReader bin = new BufferedReader(fin); String aline="", lines=""; do { aline = bin.readLine(); if (aline!=null) lines += aline + " "; } while (aline!=null); bin.close(); fin.close(); return lines; } catch (IOException ioex) { return null; } }

创梦云 香港沙田、长沙联通2核1G仅需29元一个月 挂机宝7元一个月

商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...

香港站群多ip服务器多少钱?零途云香港站群云服务器怎么样?

香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...

10gbiz($2.36/月),香港/洛杉矶CN2 GIA线路VPS,香港/日本独立服务器

10gbiz发布了9月优惠方案,针对VPS、独立服务器、站群服务器、高防服务器等均提供了一系列优惠方面,其中香港/洛杉矶CN2 GIA线路VPS主机4折优惠继续,优惠后最低每月仅2.36美元起;日本/香港独立服务器提供特价款首月1.5折27.43美元起;站群/G口服务器首月半价,高防服务器永久8.5折等。这是一家成立于2020年的主机商,提供包括独立服务器租用和VPS主机等产品,数据中心包括美国洛...

java文本编辑器为你推荐
短网址解析schema链接是啥链接,长网址转换成短网址?什么是cookie有时遇到网页提示禁止第三方cookie是什么意思?网络限速软件有什么比较好的网络限速的软件购物网站设计购物网站如何设计漂亮且实用的购物车官方网店官方旗舰店和旗舰店是什么意思,有什么区别?它们卖的都是正品行货吗?韩文在线翻译韩语在线翻译警告本网站内容我的网页一打开,就出安全警告,内容是:当前网页正试图打开您的受信任列表中站点。 该怎么去掉啊????网游木马QQ游戏木马有多少种云弟有关描写石榴的诗监控软件安装监控摄像头通常用什么软件 怎么样安装软件 详细点 拜托!
中国万网域名注册 域名查询工具 过期备案域名查询 fdcservers 美国十次啦服务器 国外免费全能空间 免费美国空间 丽萨 监控服务器 广州虚拟主机 申请免费空间 主机返佣 ssl加速 hostease 湖南铁通 优惠服务器 tko koss耳机 lighttpdwindows 竞彩论坛空间 更多