Java SE有几个代码_有没有贵人?求一些能覆盖到javase全部java基础知识点的小项目的源代码?...-程序员宅基地

技术标签: Java SE有几个代码  

展开全部

给你个做好了的Java的源程序的记事本32313133353236313431303231363533e4b893e5b19e31333339663935,自己看看就行了的,不怎么难的···

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener{

private JFrame frame=new JFrame("新记事本");

private JTextArea jta=new JTextArea();

private String result="";

private boolean flag=true;

private File f;

private JButton jb=new JButton("开始");

private JTextField jtf=new JTextField(15);

private JTextField jt=new JTextField(15);

private JButton jbt=new JButton("替换为");

private JButton jba=new JButton("全部替换");

private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");

private String value;

private int start=0;

private JFrame jf=new JFrame("查找");

private JFrame jfc=new JFrame("替换");

@Override

public void actionPerformed(ActionEvent e) {

String comm=e.getActionCommand();

if("新建".equals(comm)){

if(!(frame.getTitle().equals("新记事本"))){

if(!flag){

write();

newNew();

}else{

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

}

}

}else if(!(jta.getText().isEmpty())){

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

newNew();

}

}else{

newNew();

}

}else if("打开".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

jfc.setDialogType(JFileChooser.OPEN_DIALOG);

int returnVal = jfc.showOpenDialog(null);

if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

frame.setTitle(f.getName());

result=read();

flag=false;

value=result;

jta.setText(result);

}

}else if("保存".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

if(flag){

int returnVal = jfc.showDialog(null,"保存为");

if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

flag=false;

write();

}

}else{

write();

}

}else if("另存".equals(comm)){

JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");

int returnVal = jfc.showDialog(null,"另存");

if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性

f=jfc.getSelectedFile();

write();

}

}else if("退出".equals(comm)){

System.exit(0);

}else if("撤销".equals(comm)){

jta.setText(value);

}else if("剪切".equals(comm)){

value=jta.getText();

jta.cut();

}else if("复制".equals(comm)){

jta.copy();

}else if("粘贴".equals(comm)){

value=jta.getText();

jta.paste();

}else if("删除".equals(comm)){

value=jta.getText();

jta.replaceSelection(null);

}else if("全选".equals(comm)){

jta.selectAll();

}else if("查找".equals(comm)){

value=jta.getText();

jf.add(jtf,BorderLayout.CENTER);

jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);

jf.pack();

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if("替换".equals(comm)){

value=jta.getText();

GridLayout gl=new GridLayout(3,3);

JLabel jl1=new JLabel("查找内容:");

JLabel jl2=new JLabel("替换为:");

jfc.setLayout(gl);

jfc.add(jl1);

jfc.add(jtf);

jfc.add(jb);

jfc.add(jl2);

jfc.add(jt);

jfc.add(jbt);

JLabel jl3=new JLabel();

JLabel jl4=new JLabel();

jfc.add(jl3);

jfc.add(jl4);

jfc.add(jba);

jfc.setLocation(300,300);

jfc.pack();

jfc.setVisible(true);

jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}else if("版本".equals(comm)){

JDialog jd=new JDialog(frame,"关于对话框");

jd.setSize(200,200);

JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");

jd.add(l,BorderLayout.CENTER);

jd.setLocation(100,200);

jd.setSize(300,300);

jd.setVisible(true);

//jd.pack();

jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

}else if("开始".equals(comm)||"下一个".equals(comm)){

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jb.setText("下一个");

//value=value.substring(s+temp.length());//不能截取字串

}else {

JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);

jf.dispose();

}

}else if("替换为".equals(comm)){

String temp=jtf.getText();

int s=value.indexOf(temp,start);

if(value.indexOf(temp,start)!=-1){

jta.setSelectionStart(s);

jta.setSelectionEnd(s+temp.length());

jta.setSelectedTextColor(Color.GREEN);

start=s+1;

jta.replaceSelection(jt.getText());

}else {

JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);

jf.dispose();

}

}else if("全部替换".equals(comm)){

String temp=jta.getText();

temp=temp.replaceAll(jtf.getText(), jt.getText());

jta.setText(temp);

}

}

public String read(){

String temp="";

try {

FileInputStream fis = new FileInputStream(f.getAbsolutePath());

byte[] b=new byte[1024];

while(true){

int num=fis.read(b);

if(num==-1)break;

temp=temp+new String(b,0,num);

}

fis.close();

} catch (Exception e1) {

e1.printStackTrace();

}

return temp;

}

public void write(){

try {

FileOutputStream fos=new FileOutputStream(f);

fos.write(jta.getText().getBytes());

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public void newNew(){

frame.dispose();

new MyNotepad();

flag=true;

}

public MyNotepad(){

JMenuBar jmb=new JMenuBar();

String[] menuLab={"文件","编辑","帮助"};

String[][] menuItemLab={ {"新建","打开","保存","另存","退出"},

{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},

{"版本"}};

for(int i=0;i

JMenu menu=new JMenu(menuLab[i]);

jmb.add(menu);

for(int j=0;j

JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);

menu.add(jmi);

jmi.addActionListener(this);

}

}

frame.setJMenuBar(jmb);

jta.setLineWrap(true);//自动换行

JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板

frame.add(jsp);

jb.addActionListener(this);

jbt.addActionListener(this);

jba.addActionListener(this);

frame.setLocation(200,50);

frame.setSize(620,660);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new MyNotepad();

}

}

追问

谢谢!

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39889597/article/details/114555107

智能推荐

Delphi防止多实例运行的两种方法《转》-程序员宅基地

文章浏览阅读83次。在学习Delphi时,遇到需要程序单实例运行的时候,经过查阅,暂时发现以下两种比较简单的方法,可以防止程序多实例运行,各有优劣,据需选择。方法一,添加以下unit即可,优点是可激活已存在的程序窗口,即使已最小化(包括最小化到托盘),缺点是可能存在与其他程序的互斥(可自行修改STR_UNIQUE的值以尽量减少该可能性)。代码如下://工程引用此单元就能防止同时出现多个实例u..._delphi 多实例

曼彻斯特编码与解码(含驱动源码)-程序员宅基地

文章浏览阅读875次,点赞27次,收藏23次。曼彻斯特编码方式, 这种编码方式利用信号的边沿来表示二进制数据“0”和“1”,比如信号的上身沿表示“1”,下降沿表示“0”,而这种跳变一般发生在位帧的中间。

2020 DevOps工程技术实践类教程-程序员宅基地

文章浏览阅读162次。你好,我是泽阳,在DevOps领域实践了多年,借助公司项目机会从端到端的对项目进行实施改造。在经过实践后,项目通过了信通院发布的《DevOps持续交付标准三级》评估。在此过程中不断的实施..._泽阳 devops

网安学习记录1 ms17010漏洞-程序员宅基地

文章浏览阅读56次。使用nmap对win7进行端口扫描。

python实现软件自动点击_鼠标自动点击、键盘自动输入?几行Python代码搞定-程序员宅基地

文章浏览阅读7.3k次,点赞2次,收藏30次。第一步:安装并导入相关模块只需要安装PyUserInput,如下:pip install PyUserInput如果你是Win10系统,肯定会报错,具体怎么解决,我放在文章结尾讲,先把主要思路讲完。安装完成导入:from pymouse import PyMousefrom pykeyboard import PyKeyboard这里不要奇怪,为什么明明安装的是PyUserInput,却要从pym..._怎么自动控制软件并输入内容

factor graph,potential function,Template models_factor graph potentials-程序员宅基地

文章浏览阅读1.7k次。factor是对于variables的某种combination的fitness。在BN中factor就是conditional probability distribution(CPD);但factor并不总对应着某种概率(当然也不一定取0~1),比如说在MRF中。和数据库table的操作类似,factor上的基本操作有factor product ,factor marginalization_factor graph potentials

随便推点

Ubuntu 12.04.4 LTS 部署cap-程序员宅基地

文章浏览阅读715次。一.系统环境jim@mode:~$ cat /etc/issueUbuntu 12.04.4 LTS \n \ljim@mode:~$ uname -raLinux mode 3.11.0-15-generic#25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux二..._after this operation, 2,048 b of additional disk space will be used.

我见过最全的剖析QEMU原理的文章[Z]_no qemu-程序员宅基地

文章浏览阅读1.2w次。转自:http://people.cs.nctu.edu.tw/~chenwj/dokuwiki/doku.php?id=qemu How To Become A Hacker 写给新手程序员的一封信目录建置 QEMUUser ModeSPARCPowerP_no qemu

Dart —— 基础数据类型 Number String Boolean List Map Set Rune Symbol_dart number-程序员宅基地

文章浏览阅读714次。内建类型文章目录Dart 语言支持以下内建类型:NumberStringBooleanListSetMapRuneSymbolDart 语言支持以下内建类型:NumberStringBooleanList (也被称为 Array)MapSetRune (用于在字符串中表示 Unicode 字符)Symbol这些类型都可以被初始化为字面量。 例如, 'this is a s..._dart number

PAT甲级刷题记录——1089 Insert or Merge (25分)_pat甲级1089最后一个测试点-程序员宅基地

文章浏览阅读193次。According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, ..._pat甲级1089最后一个测试点

Lombok中的@Accessors(chain = true)_lombok @accessors(chain = true)-程序员宅基地

文章浏览阅读329次,点赞12次,收藏5次。@Accessors是 Lombok 库中的一个注解属性,它应用于类级别,用于修改生成 getter 和 setter 方法的行为。当 chain = true 时,setter 方法会返回 this,使得可以进行链式调用(fluent API)。在上述代码中,setName 方法返回 person 对象的引用,允许我们在同一行代码中继续调用 setAge 方法。如果没有 chain = true,则每个 setter 方法调用都会返回 void,并且链式调用将不可能实现。_lombok @accessors(chain = true)

wireshark 找不到网卡的解决办法_wireshark 2012 无本地链接-程序员宅基地

文章浏览阅读7.5k次。1. 以管理员身份打开CMD命令行输入命令:net start npf2. 启动wireshark_wireshark 2012 无本地链接

推荐文章

热门文章

相关标签