📄 etian.java
字号:
/* 七班 田国强 */
////////////////////////////////////////////////////////////////////////////
// TXT文件处理工具箱 //
////////////////////////////////////////////////////////////////////////////
// etian小组编制 //
////////////////////////////////////////////////////////////////////////////
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.List;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
//生成主窗口
public class etian extends JFrame{
JButton h2tb; //HTML to TXT按钮
JButton txtb; //TXT文件分割按钮
JButton t2hb; //TXT to HTML按钮
JButton exit; //退出按钮
JLabel bql; //版权标签
Container c;
public etian(String s){//构造器
super(s);
c=getContentPane();
h2tb=new JButton("HTML2TXT");
txtb=new JButton("TXT文件分割");
t2hb=new JButton("TXT2HTML");
exit=new JButton("EXIT");
bql =new JLabel(new ImageIcon("image\\bq.jpg"));
c.setLayout(null); //自定义布局
//设置各组件的位置大小
h2tb.setBounds(15,25,105,25);
txtb.setBounds(145,25,120,25);
t2hb.setBounds(285,25,105,25);
exit.setBounds(295,75,75,25);
bql.setBounds(25,55,250,50); //250*50
//添加组件
c.add(h2tb);
c.add(txtb);
c.add(t2hb);
c.add(exit);
c.add(bql);
//HTML to TXT按钮事件处理代码
h2tb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
htmltotxt ht=new htmltotxt("HTML to TXT");
}
});
//TXT文件分割按钮事件处理代码
txtb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new txt("TXT文件分割");
}
});
//TXT to HTML按钮事件处理代码
t2hb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
new txttohtml("TXT to HTML");
}
});
//退出按钮事件处理代码
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int s=JOptionPane.showConfirmDialog(c,"确定结束吗?","结束程序",JOptionPane.YES_NO_OPTION);
if(s==JOptionPane.YES_OPTION)
System.exit(0);
}
});
//关闭按钮事件处理
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int s=JOptionPane.showConfirmDialog(c,"确定结束吗?","结束程序",JOptionPane.YES_NO_OPTION);
if(s==JOptionPane.YES_OPTION)
System.exit(0);
}
});
setBounds(300,250,415,150); //确定窗口位置大小
setVisible(true);//设置窗口可见
c.setBackground(new Color(128,200,240)); //设置窗口背景色
setIconImage(Toolkit.getDefaultToolkit().createImage("image\\z.png")); //设置窗口图标
setResizable(false); //固定窗口大小
}
public static void main(String s[]){
new etian("TXT文件处理工具箱");
}
}
//生成HTML to TXT 窗口
class htmltotxt extends JFrame{
Container c;
JButton openb; //打开按钮
JButton zh; //转换按钮
JButton allzh; //全部转换按钮
JButton sc; //删除按钮
JButton allsc; //全部删除按钮
JButton exit; //退出按钮
JLabel bq; //版权图片
JLabel jt;
List lb; //列表
File file=null;
FileDialog fd;
int jty=0,jta=0;
public htmltotxt(String ss){ //构造器
super(ss);
c=getContentPane();
openb=new JButton("打开");
zh =new JButton("转换");
allzh=new JButton("全部转换");
sc =new JButton("删除");
allsc=new JButton("全部删除");
exit =new JButton("退出");
bq =new JLabel(new ImageIcon("image\\h2t.jpg"));//版权图片
jt =new JLabel(new ImageIcon("image\\jt.jpg"));
lb =new List(23,false);
c.setLayout(null); //自定义布局
openb.setBounds(280,75,95,25);
zh.setBounds(280,210,95,25);
allzh.setBounds(280,250,95,25);
exit.setBounds(280,400,95,25);
bq.setBounds(0,0,400,70); //图片大小400*70
jt.setBounds(3,74,16,10);
sc.setBounds(280,110,95,25);
allsc.setBounds(280,145,95,25);
lb.setBounds(20,70,250,370);
//添加组件
c.add(openb);
c.add(zh);
c.add(allzh);
c.add(sc);
c.add(allsc);
c.add(exit);
c.add(bq);
c.add(lb);
c.add(jt);
//打开按钮事件处理代码
openb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser fs=new JFileChooser(); //选择文件对话框
fs.setSelectedFile(file);
int rv=fs.showOpenDialog(htmltotxt.this);
file=fs.getSelectedFile(); //选择文件
String zz=file.getPath(); //获取文件路径
lb.add(zz); //将文件路径添加到列表中
openb.setText("添加"); //将"打开"按钮文字改为"添加"
jta++;
jty=74+18*jta;
jt.setBounds(3,jty-18,16,10);
}
});
//转换按钮事件处理代码
zh.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String zz=lb.getSelectedItem();
if(zz==null)
JOptionPane.showMessageDialog(null,"未选取文件!");
else{
try{
File input=new File(zz);
File output=new File(zz+".txt");
//***
FileReader in=new FileReader(input);
FileWriter out=new FileWriter(output);
int c;
boolean kz=true;
while((c=in.read())!=-1){
if(c=='<'||c=='&'||c=='{')
kz=false;
if(c=='>'||c==';'||c=='}')
kz=true;
if(kz){
if(c=='>'||c==';'||c=='}')
continue;
out.write(c);}}
in.close();
out.close();
JOptionPane.showMessageDialog(null,"文件转换成功");
}catch(IOException eee){
JOptionPane.showMessageDialog(null,"文件转换失败");
}
}
}
});
//全部转换按钮事件处理代码
allzh.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int x=lb.getItemCount();
int a=0;
for(a=0;a<x;a++){
lb.select(a);
String zz=lb.getSelectedItem();
if(zz==null)
JOptionPane.showMessageDialog(null,"未选取文件!");
else{
try{
File input=new File(zz);
File output=new File(zz+".txt");
FileReader in=new FileReader(input);
FileWriter out=new FileWriter(output);
int c;
boolean kz=true;
while((c=in.read())!=-1){
if(c=='<'||c=='&'||c=='{')
kz=false;
if(c=='>'||c==';'||c=='}')
kz=true;
if(kz){
if(c=='>'||c==';'||c=='}')
continue;
out.write(c);}}
in.close(); out.close();
}catch(IOException eee){
JOptionPane.showMessageDialog(null,"文件转换失败");
}
}
}JOptionPane.showMessageDialog(null,"文件转换完毕!");
}
});
//删除按钮事件处理
sc.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int aa=-1;
aa=lb.getSelectedIndex();
if(aa==-1) //判断列表中是否有被选取的项
JOptionPane.showMessageDialog(null,"未选取文件!");
else{
lb.remove(aa);
jta--;
jty=74+18*jta;
jt.setBounds(3,jty-18,16,10); }
}
});
//全部删除按钮事件处理
allsc.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
lb.removeAll();
jta=0;
jt.setBounds(3,74,16,10);
}
});
//退出按钮事件处理代码
exit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
setVisible(false);
}
});
//关闭按钮事件处理
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
}
});
setBounds(310,100,400,480); //确定窗口位置大小
setVisible(true); //设置窗口可见
c.setBackground(new Color(128,200,240)); //设置窗口背景色
setResizable(false); //固定窗口大小
setIconImage(Toolkit.getDefaultToolkit().createImage("image\\h2t.png")); //设置窗口图标
}
}
//生成 TXT文件分割 窗口
class txt extends JFrame {
Container c;
File file=null;
JButton openb =new JButton("打开"); //打开按钮
JButton fengeb =new JButton("分割"); //分割按钮
JButton exit =new JButton("退出"); //退出按钮
JLabel ts =new JLabel("等待打开文件",0); //提示标签
JLabel wjml =new JLabel("分割后文件名:");
JTextField wjmt =new JTextField("etian");
JLabel bh =new JLabel("+编号");
JLabel meigel =new JLabel("每隔");
JLabel fengel =new JLabel("字分割");
JTextField opent=new JTextField("");//打开文本框
JTextField llt =new JTextField("");//浏览文本框
JTextField zst =new JTextField("2000");//字数文本框
JLabel txtwz =new JLabel("TXT文件位置");
JLabel fgwjwz =new JLabel("TXT分割文件保存位置(自动生成)");
JLabel bq =new JLabel(new ImageIcon("image\\txt.jpg"));
String wjm ="etian";
public txt(String ss){//构造器
super(ss);
c=getContentPane();
c.setLayout(null); //自定义布局
//定义组件位置大小
openb.setBounds(200,30,75,25);
fengeb.setBounds(50,285,75,25);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -