Java记事本
来源:互联网 发布:张郃的死 知乎 编辑:程序博客网 时间:2024/06/05 11:37
利用Java的图形界面开发,以及输入输出流的使用,在此编写了一个Java记事本,仿照
Windows记事本的功能所编写。有意出售这个Java记事本的代码。下面我来具体介绍一下我这个记事本所实现的功能。
由于初学Java,有的部分处理的不是很好,但是,记事本的核心功能已经完成。有关文件操作的使用,文件的打开,新建,保存,另存为,退出等功能的实现。还有,有关文本的核心操作,如,撤销,剪切,复制,删除的操作。还有文本的高级功能的使用,如查找,查找下一个,替换,转到,全选,时间和日期。有关换行还有字体设置方面也已经完全实现。唯一一个没有实现的功能即为打印功能,此功能有待完善。如有兴趣请发邮件到:1346677696@qq.com。请表明来意,价格面议。
以下是我记事本的一部分代码:
/***这个代码块的主要功能是生成一个新的窗体,“转到”及记事本的某一行。*说白了就是Windows记事本中的“转到”功能**/import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;import javax.swing.text.BadLocationException;class GoTo { static JDialog goToJDialog = null; private static JLabel goTo_JLb = new JLabel("行号(L):"); static JTextField goTo_JTF = new JTextField("1");//单行文本框 static JButton goTo_JB1 = new JButton("转到");//两个按钮 static JButton goTo_JB2 = new JButton("取消"); public GoTo(JFrame jf){ goToJDialog = new JDialog(jf, "转到指定行", true); goToJDialog.setLayout(null); //添加标签 goTo_JLb.setFont(new Font("宋体", Font.PLAIN, 15)); goTo_JLb.setBounds(10, 20, 100, 30); goToJDialog.add(goTo_JLb); //添加单行文本框 goTo_JTF.setBounds(10, 55, 240, 30); goToJDialog.add(goTo_JTF); //添加按钮 goTo_JB1.setFont(new Font("宋体", Font.PLAIN, 13)); goTo_JB2.setFont(new Font("宋体", Font.PLAIN, 13)); goTo_JB1.setBounds(25, 100, 100, 30); goTo_JB2.setBounds(145,100, 100, 30); goTo_JB1.setEnabled(isCanGoTo()); goTo_JB1.addActionListener(new JB1()); goTo_JB2.addActionListener(new JB2()); goToJDialog.add(goTo_JB1); goToJDialog.add(goTo_JB2); goTo_JTF.getDocument().addDocumentListener(new DocumentListener() { @Override public void removeUpdate(DocumentEvent arg0) { //文本删除时响应 goTo_JB1.setEnabled(isCanGoTo()); } @Override public void insertUpdate(DocumentEvent arg0) { // 文本插入时响应 goTo_JB1.setEnabled(isCanGoTo()); } @Override public void changedUpdate(DocumentEvent arg0) { // 文本属性改变时响应 } }); goToJDialog.setBounds(120, 120, 270, 180);//窗体大小 goToJDialog.setResizable(false);//禁止用户改变窗体大小 goToJDialog.setVisible(true); } /** * 查看单行文本框中是否有字符 * * @return true为可用 */ public boolean isCanGoTo(){ boolean b = true; if (goTo_JTF.getText().equals("")) b=false; return b; } class JB1 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 try {//把String类型转换成int类型 int LineCount = Integer.parseInt((String)goTo_JTF.getText()); if ((LineCount <= 0)||(LineCount>Jsb.jta.getLineCount())){ JOptionPane.showMessageDialog( null, "行数超过了总行数", "记事本", JOptionPane.WARNING_MESSAGE); }else{ int position = Jsb.jta.getLineStartOffset(LineCount-1); Jsb.jta.setCaretPosition(position); goToJDialog.setVisible(false); } } catch (NumberFormatException e1) { e1.printStackTrace(); } catch (BadLocationException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } } } class JB2 implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 goToJDialog.setVisible(false); } }}
0 0
- java记事本
- java记事本
- Java记事本
- java记事本
- Java记事本
- java记事本
- Java--记事本
- Java记事本
- java记事本
- Java记事本
- Java记事本
- Java记事本
- java记事本
- java记事本
- Java记事本和界面
- java写的记事本
- 《Java记事本》 Ver 0.12
- JAVA记事本源代码(雏形)
- 在二叉树中找到累加和为指定值的最长路径长度
- 135. Candy[hard]
- 出现RPC服务器不可用的解决方法
- 14章上机练习2
- nginx日志详解和日志切割
- Java记事本
- Canvas和paint的使用
- 动态加载view的LayoutParams参数设置
- 如何让 H5 体验接近 APP:(一)触摸反馈
- 4: Create A Virtualenv( Challenge: Working with the Command Line)
- window系统安装repo时遇到的问题
- C++开发者都应该使用的10个C++11特性
- 趣题
- git rebase & merge 将其他分支的修改合并到当前分支