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; } }

NameCheap 2021年新年首次活动 域名 域名邮局 SSL证书等

NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...

趣米云月付460元,香港CN2云服务器VPS月付低至18元

趣米云早期为做技术起家,为3家IDC提供技术服务2年多,目前商家在售的服务有香港vps、香港独立服务器、香港站群服务器等,线路方面都是目前最优质的CN2,直连大陆,延时非常低,适合做站,目前商家正在做七月优惠活动,VPS低至18元,价格算是比较便宜的了。趣米云vps优惠套餐:KVM虚拟架构,香港沙田机房,线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封...

hostodo:2021美国独立日7折优惠促销NVMe硬盘的VPS,低至$13/年,还送DirectAdmin授权

7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...

java文本编辑器为你推荐
阿里校园招聘阿里巴巴集团校园招聘吗?不对外招聘路由器映射路由器的端口映射是干嘛的,怎么使用?工作经验介绍个人工作经历简介要怎么写开房数据库怎么用身份证查开房记录,开房记录如何查询360官网打不开为何360安全卫士自动退出,所有的360官方网站打不开啊?超市商品价格为什么超市的商品价格比便利店便宜clamp官网天子官网,天子OL官网移动通信培训移动通信专业学的是什么 有前途么 有哪些学校是好的?手机话费余额查询中国移动的话费余额怎么查询?关闭安全警报windows安全警报怎么关闭 为什么总是弹出安全警告
3322动态域名注册 广州服务器租用 河北服务器租用 美国和欧洲vps 谷歌域名邮箱 com域名抢注 美国php空间 本网站在美国维护 卡巴斯基破解版 新世界服务器 华为云盘 lamp是什么意思 注册阿里云邮箱 winserver2008下载 tracert ddos攻击工具 qq空间论坛 腾讯空间登录首页 未注册双拼域名 北京小客车申请网站 更多