⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plgm.java

📁 批量改名程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/****************************************************************//*                      plgm	                            *//*                                                              *//****************************************************************/import javax.swing.border.*;import javax.swing.ListModel;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.*;import javax.swing.tree.*;import javax.swing.filechooser.*;import java.io.*;import java.util.*;import java.sql.*; import java.lang.Exception;/** * Summary description for plgm * */public class PLGM extends JFrame{	private JTabbedPane jTabbedPane1;	private JPanel contentPane;	//-----	private JLabel jLabel1;	private JCheckBox jcballsel;	//private JCheckBox jcbresel; 	private JTextField jtpath;	private JTree tree;	private JPanel jPanel1;	//-----	private JPanel jpanellist;	//-----	private JLabel  jlname;//	private JCheckBox jcbisdirectory;	private JTextField jtname;	private JButton jbchose;	private JPanel jPanel5;	//-----	private JCheckBox jcbrename;	private JCheckBox jcbreext;	private JCheckBox jcbid;	private JTextField jtrename;	private JTextField jtreext;	private JTextField jtnumber;	private JButton jbchange;	private JButton jbback;	private JPanel jPanel6;	//	JDialog      private JDialog dialog;//Status Bar   private JTextField statusbar;	//JCheckBox  //  Vector checkboxes =new Vector();    private JButton jbdel;	//-----	FileSystemView  fileSystemView=FileSystemView.getFileSystemView();    //菜单的定义    JMenuBar menuBar = new JMenuBar();    JMenu menuFile1 = new JMenu("文件");    JMenu menuFile2 = new JMenu("帮助");    JMenuItem menuItemExit = new JMenuItem("退出");    JMenuItem menuaboutus = new JMenuItem("关于我们");    JMenuItem menuHowUse = new JMenuItem("如何使用");	private ActionListener aListener;	//	// TODO: Add any attribute code to meet your needs here	//	public PLGM()	{		super();		initializeComponent();		//		// TODO: Add any constructor code after InitializeComponent call		jcbid.setEnabled(false);   	jtnumber.setEnabled(false);		//		this.setVisible(true);	}	private void initializeComponent()	{				//tree的初始化FileNode root=new FileNode(fileSystemView.getRoots()[0]);//调用FileNode类得到系统桌面文件夹getRoots()[0]。数组getRoots()[0]可改变。DefaultTreeModel treeModel=new DefaultTreeModel(root);//定义JTree 模型tree = new JTree(treeModel);tree.setEditable(true);//设置编辑状态   tree.setCellRenderer(new MyTreeCellRenderer());//调用setCellRenderer内部类tree.setSelectionRow(0);//初始时不要展开JTreetree.setComponentOrientation(ComponentOrientation.UNKNOWN);// 	设置JTree的监听事件tree.addTreeExpansionListener(new TreeExpansionListener(){	public void treeCollapsed(TreeExpansionEvent e) {}//必须写public void treeExpanded(TreeExpansionEvent e) {TreePath path = e.getPath();FileNode node = (FileNode) path.getLastPathComponent();jtpath.setText(node.getFile().toString());//File tardir=new File(node.getFile().toString());// SelectFiles(tardir);//调用SelectFilesjpanellist.removeAll();//清除jpanellist的所有内容addcheckbox addcb =new addcheckbox();addcb.addcheckbox(tardir);//如果节点没有展开if( ! node.isExplored()) {DefaultTreeModel model=(DefaultTreeModel)tree.getModel();node.explore();model.nodeStructureChanged(node);}}});        setJMenuBar(menuBar);          menuFile1.add(menuItemExit);// 加入子菜单                menuFile2.add(menuHowUse);        menuFile2.add(menuaboutus);                menuBar.add(menuFile1);        menuBar.add(menuFile2); // JDialog	 	 dialog=new JDialog();	 dialog.getContentPane().setLayout(new FlowLayout());	 dialog.setSize(300,300);	 dialog.setModal(true);	 dialog.setTitle("关于我们!");	// dialog.getContentPane().add();	// dialog.setBackground();//	dialog.update("1.jpg");		//增加菜单的单击事件		 		  		menuItemExit.addActionListener(new ActionListener()  {    public void actionPerformed(ActionEvent e) {System.exit(0);}  });       menuaboutus.addActionListener(new ActionListener()  {    public void actionPerformed(ActionEvent e) {    //	dialog.show(true); 	JOptionPane.showMessageDialog(null,"                    吉祥妖工作室"+"\n"+"创始人:18妖"+"\n"+"联系: QQ :29572351"+"\n"+"Email:zdy-ah@163.com"+"\n"+"【欢迎所有程序制作爱好者加盟和联系】"+"\n"+"【欢迎程式爱好者一起制作免费软件】"+"\n"+"自由的程式天空 "+"\n"+"才能飞出高傲的雄鹰"+"\n"+"【所有不懂程式的人看这里】"+"\n"+"【18妖的格言:】"+"\n"+"没有偷懒的想法就没有自动化的程式 "+"\n"+"没有超前的想法就没有有创意的程式 "+"\n"+"没有安全的想法就没有高稳定的程式"+"\n"+"程式是人类可以偷懒,安逸的等待结果的工具"+"\n"+"制作程式的目的是为了方便工作和生活"+"\n"+"当今世界的商业,高科技和自动化越来越重要"+"\n"+"工作室将尽自己所能为大家制作 价廉物美、性能稳定的好程式,欢迎定做各种程式");    	}  });    menuHowUse.addActionListener(new ActionListener()  {    public void actionPerformed(ActionEvent e) {    	    JOptionPane.showMessageDialog(null,"本程序实现了文件的批量改名!"+"\n"+"并带有还原功能!"+"\n"+"欢迎使用并指出其中不足!"+"\n"+"设计者:13妖"+"\n"+"联系方式 QQ:39464686"+"\n"+"Email:chen-yin-jun@163.com");    	}  });		jTabbedPane1 = new JTabbedPane();		contentPane = (JPanel)this.getContentPane();		//-----		jLabel1 = new JLabel();		jcballsel = new JCheckBox();	//	jcbresel=new JCheckBox();		jtpath = new JTextField();		jPanel1 = new JPanel();			jpanellist = new JPanel();		//-----		jlname=new JLabel();	//	jcbisdirectory = new JCheckBox();		jtname = new JTextField();		jbchose = new JButton();		jbdel=new JButton();		jPanel5 = new JPanel();		//-----		jcbrename = new JCheckBox();		jcbreext = new JCheckBox();		jcbid = new JCheckBox();		jtrename = new JTextField();	    jtreext = new JTextField();		jtnumber = new JTextField();		jbchange = new JButton();		jbback = new JButton();		jPanel6 = new JPanel();		//-----	 JCheckBox cb =new JCheckBox();	 	 //statusbar	  statusbar=new JTextField();	  statusbar.setText("");	  statusbar.setEditable(false);	//  add(statusbar,BorderLayout.SOUTH);	 		aListener = new AListener();		//		// jTabbedPane1		//		jTabbedPane1.addTab("批量改名", jPanel1);		//		// contentPane		//		contentPane.setLayout(null);		addComponent(contentPane, jTabbedPane1, 0,0,720,450);		//		// jLabel1		//		jLabel1.setText("直达路径");		//		// jcballsel		//		jcballsel.setText("全选");		jcballsel.addActionListener(aListener);				//		addComponent(contentPane, statusbar, 0,450,720,20);		//jcbresel.setText("反选");		//jcbresel.addActionListener(aListener);			//		jbdel.setText("删除");		jbdel.addActionListener(aListener);		// jtpath		//		jtpath.setText("");		jtpath.addActionListener(aListener);		jtpath.addKeyListener(new myKeyAdapter());		//		// tree		//		//		// jPanel1		//		jPanel1.setLayout(null);		addComponent(jPanel1, jLabel1, 224,9,60,18);								addComponent(jPanel1, jcballsel, 224,36,49,24);		//addComponent(jPanel1, jcbresel, 280,36,49,24);			addComponent(jPanel1,jbdel,350,36,59,20);		addComponent(jPanel1, jtpath, 300,8,400,22);		addComponent(jPanel1, new JScrollPane(tree), 3,3,212,413);	//		addComponent(jPanel1, new JScrollPane(jpanellist), 224,67,277,350);//加入滚动条		addComponent(jPanel1, jPanel5, 507,59,200,130);		addComponent(jPanel1, jPanel6, 509,200,200,220);		//		// jpanellist		//		jpanellist.setBorder(BorderFactory.createLineBorder(Color.black));		jpanellist.setLayout(new BoxLayout(jpanellist, BoxLayout.Y_AXIS)); 	 		// jlname		//		jlname.setText("要搜索的文件");		//		// jcbext		//	//	jcbext.setText("扩展名");		//		// jcbisdirectory		//	//	jcbisdirectory.setText("是否需要子文件夹");		//		// jtname		//		jtname.setText("");		jtname.addActionListener(aListener);		//			// jbchose		//		jbchose.setText("搜索");		jbchose.addActionListener(aListener);		//		// jPanel5		//		jPanel5.setBorder(new TitledBorder("搜索"));		jPanel5.setLayout(null);		addComponent(jPanel5, jlname, 8,16,100,25);	//	addComponent(jPanel5, jcbisdirectory, 5,70,133,25);		addComponent(jPanel5, jtname, 90,18,100,22);			addComponent(jPanel5, jbchose, 80,100,59,20);		//		// jcbrename		//		jcbrename.setText("文件名");		jcbrename.addActionListener(aListener);			//		// jcbreext		//		jcbreext.setText("扩展名");		//		// jcbid		//		jcbid.setText("编   号");		//		// jtrename		//		jtrename.setText("");		jtrename.addActionListener(aListener);		//		// jtreext		//	    jtreext.setText("");		jtreext.addActionListener(aListener);		//		// jtnumber		//		jtnumber.setText("");		jtnumber.addActionListener(aListener);		//		// jbchange		//		jbchange.setText("改名");		jbchange.addActionListener(aListener);		//		// jbback		//		jbback.setText("还原");		jbback.addActionListener(aListener);		//		// jPanel6		//			jPanel6.setBorder(new TitledBorder("改名"));		jPanel6.setLayout(null);		addComponent(jPanel6, jcbrename, 5,30,83,25);		addComponent(jPanel6, jcbreext, 5,60,83,25);		addComponent(jPanel6, jcbid, 5,95,83,25);		addComponent(jPanel6, jtrename, 90,30,100,22);        addComponent(jPanel6, jtreext, 90,60,100,22);		addComponent(jPanel6, jtnumber, 90,95,100,21);		addComponent(jPanel6, jbchange, 20,165,59,20);		addComponent(jPanel6, jbback, 120,165,59,20);		//		// plgm		//		WListener wListener = new WListener();		this.addWindowListener(wListener);		this.setTitle("批量改名系统  设计者:13妖 联系方式 QQ:39464686 Email:chen-yin-jun@163.com");		this.setSize(720,520);		this.setLocation(0,20);		this.setResizable(false);	}	/** Add Component Without a Layout Manager (Absolute Positioning) */	private void addComponent(Container container,Component c,int x,int y,int width,int height)	{		c.setBounds(x,y,width,height);		container.add(c);	}	//	// TODO: Add any appropriate code in the following Event Methods	//	private void jbchose_actionPerformed(ActionEvent e)	{//	FileNode node = (FileNode)tree.getLastSelectedPathComponent();  //  File tardir=new File(node.getFile().toString());    File tardir=new File(jtpath.getText().toString());	if(!tardir.exists())      {         JOptionPane.showMessageDialog(null,"指定的目录不存在!");        return;	  	      }                   jpanellist.removeAll();                   jpanellist.repaint();                   chosefile(tardir);                   statusbar.setText("");	}		//给文件改名private String renamefile(File tardir,int id)   {	String rename;   	String reext;   	String temp="...";   	File ftemp;   	String str1;   	String str2;     temp=tardir.getName();     str1=temp.substring(0,temp.indexOf("."));//得到"."前的文件名     str2=temp.substring(temp.indexOf("."));//得到扩展名     rename=jtrename.getText().toString();   reext=jtreext.getText().toString();   if(jcbrename.isSelected())   {            temp=tardir.getParent()+"\\"+rename+str2;} if(jcbid.isSelected())   {   	//temp=temp+String.valueOf(id);   	temp=tardir.getParent()+"\\"+rename+String.valueOf(id)+str2;   	}  if(jcbreext.isSelected()){	//temp=temp+reext;    temp=tardir.getParent()+"\\"+str1+reext;	}try{  ftemp=new File(temp);   tardir.renameTo(ftemp);}catch(Exception exp){System.out.println("改名不成功");}   return temp;    }      //end给文件改名//改名按钮 private void jbchange_actionPerformed(ActionEvent e){       Vector block=new Vector();    int dizhen=0;//递增参数初始化等于0	if(jtnumber.isEnabled()&&(jtnumber.getText().toString().length()>0))//如果编号文本框可用并且不为空	    {			dizhen=Integer.parseInt(jtnumber.getText());//将编号文本框的值赋给变量dizhen		}for(int i=0;i<jpanellist.getComponentCount();++i)	     {              String temp="";try{ JCheckBox tempjcb= (JCheckBox)jpanellist.getComponent(i);//将jpanellist中组件的类型转换成JCheckBoxif (tempjcb.isSelected())//如果被选中{  	File  tardir=new File(tempjcb.getText().trim());   //得到文件   if(!tardir.exists()){       	JOptionPane.showMessageDialog(null,"指定的文件不存在!");    }    else    {    	    try{              temp= renamefile(tardir,dizhen);//调用renamefile函数将变量dizhen传入函数renamefile    dizhen++;//变量dizhen进行递增      block.add(tardir.getPath()+"..."+temp); }catch(Exception exp){JOptionPane.showMessageDialog(null,"可能名称有重复。无法改名");}    if (temp!="...")    { 	tempjcb.setText(temp);  //将jpanellist 中JCheckBox的名称改为改名后的文件名    }    }      /*       	    	      */    }} catch(Exception exp ){JOptionPane.showMessageDialog(null,"找不到需要的组件!");}}     write(block);//写入文本//read();	}	private void jbback_actionPerformed(ActionEvent e)	{     back();	}	private void jtpath_actionPerformed(ActionEvent e)	{		// Add any appropriate code here	}	private void jtname_actionPerformed(ActionEvent e)	{		// Add any appropriate code here	}	private void jcbrename_actionPerformed(ActionEvent e)	{		if(jcbrename.isSelected())   {   	 jcbid.setEnabled(true);   	 jtnumber.setEnabled(true);   	}   	else   	{jcbid.setEnabled(false);   	jtnumber.setEnabled(false);   		   		}	}	private void jtrename_actionPerformed(ActionEvent e)	{   	}	private void jtreext_actionPerformed(ActionEvent e)	{		// Add any appropriate code here

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -