📄 plgm.java
字号:
/****************************************************************//* 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 + -