步骤 1 : BackupListener 步骤 2 : BackupPanel 步骤 3 : 备份执行效果 
				
					
						增值内容,请先登录
					
				
				 
		
					
		
		
					
					完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
					 
			增值内容,点击购买 
					使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
					 
					
				package gui.listener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import gui.panel.BackupPanel;
import gui.panel.ConfigPanel;
import gui.panel.MainPanel;
import service.ConfigService;
import util.MysqlUtil;
public class BackupListener implements ActionListener {
	@Override
	public void actionPerformed(ActionEvent e) {
		BackupPanel p  =BackupPanel.instance;
		String mysqlPath= new ConfigService().get(ConfigService.mysqlPath);
		if(0==mysqlPath.length()){
			JOptionPane.showMessageDialog(p, "备份前请事先配置mysql的路径");
			MainPanel.instance.workingPanel.show(ConfigPanel.instance);
			ConfigPanel.instance.tfMysqlPath.grabFocus();
			return;
		}
		JFileChooser fc = new JFileChooser();
		fc.setSelectedFile(new File("hutubill.sql"));
		fc.setFileFilter(new FileFilter() {
			
			@Override
			public String getDescription() {
				return ".sql";
			}
			
			@Override
			public boolean accept(File f) {
				return f.getName().toLowerCase().endsWith(".sql");
			}
		});
		 int returnVal =  fc.showSaveDialog(p);
         File file = fc.getSelectedFile();
         System.out.println(file);
         if (returnVal == JFileChooser.APPROVE_OPTION) {
             //如果保存的文件名没有以.sql结尾,自动加上.sql
        	 System.out.println(file);
        	 if(!file.getName().toLowerCase().endsWith(".sql"))
        		 file = new File(file.getParent(),file.getName()+".sql");
        	 System.out.println(file);
        	 
    		try {
				MysqlUtil.backup(mysqlPath, file.getAbsolutePath());
				JOptionPane.showMessageDialog(p, "备份成功,备份文件位于:\r\n"+file.getAbsolutePath());
			} catch (Exception e1) {
				e1.printStackTrace();
				JOptionPane.showMessageDialog(p, "备份失败\r\n,错误:\r\n"+e1.getMessage());	
			}
        	 
         }		
	}
}
 
								
										
									
								
							
				
					
						增值内容,请先登录
					
				
				 
		
					
		
		
					
					完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
					 
			增值内容,点击购买 
					使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
					 
					
				package gui.panel;
import javax.swing.JButton;
import gui.listener.BackupListener;
import util.ColorUtil;
import util.GUIUtil;
public class BackupPanel extends WorkingPanel {
	static {
		GUIUtil.useLNF();
	}
	public static BackupPanel instance = new BackupPanel();
	JButton bBackup = new JButton("备份");
	public BackupPanel() {
		GUIUtil.setColor(ColorUtil.blueColor, bBackup);
		this.add(bBackup);
		addListener();
	}
	public static void main(String[] args) {
		GUIUtil.showPanel(BackupPanel.instance);
	}
	@Override
	public void updateData() {
	}
	@Override
	public void addListener() {
		BackupListener listener = new BackupListener();
		bBackup.addActionListener(listener);
	}
}
 
								
										
									
								
							
				
					
						增值内容,请先登录
					
				
				 
		
					
		
		
					
					完整的J2SE桌面项目,从无到有完整的开发流程,涵盖全部52个知识点,154个开发步骤, 一共36个讲解视频,累计时长3小时10分59秒,大小1.94G,充实J2SE项目经验,为简历加上一个有吸引力的砝码
					 
			增值内容,点击购买 
					使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
					 
					
				
				HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
			 
			 
			
			
			
			
			
		
		
		
		 	问答区域     
		 	
				
		  
	 
	  		
	  
	  	2021-09-07
	  		
	  				
	  					 
	  
					
						点击备份按钮后出现图示错误 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
3 个答案 
	 
Yuritt 跳转到问题位置 答案时间:2022-02-14 这个问题的原因是你要打开file chooser但是Liquid皮肤里没有涵盖filechooser. 禁用掉Liquid皮肤只需要注释掉GUIUtil里的useLNF的方法体就可以。 
		
							
		
			
			
		
		
		
			
		
		
	
		
		chen322 跳转到问题位置 答案时间:2022-02-07 解决了吗?我也是这个问题 
		
							
		
		
		
		
	
		
		how2j 跳转到问题位置 答案时间:2021-09-15 e? 我感觉这个是皮肤出了问题,是用的ios操作系统吗? 
		
							
		
		
		
		
	
	
	
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2019-11-22
	  		
	  				
	  					 
	  
					
						站长  请问下mysql路径怎么设置   没有找到 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
1 个答案 
	 
how2j 跳转到问题位置 答案时间:2019-11-22 嗯?就是mysql 的安装路径呀。
会到对应的路径下面去找 bin/mysql.exe 文件。
相应的代码在这里:
https://how2j.cn/k/hutubill/hutubill-config/749.html#step2845 
		
							
		
		
		
		
	
	
	
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2019-06-22
	  		
	  				
	  					 
	  
					
						我想备份到D盘,但为啥只能显示C盘 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  
	  		
	  
	  	2019-05-09
	  		
	  				
	  					 
	  
					
						建议不过滤目录 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  
	  		
	  
	  	2019-05-06
	  		
	  				
	  					 
	  
					
						站长,如何将项目应用程序打包(.bat) 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 4 条以前的提问,请 点击查看 
			
			提问之前请登陆
			
		 
		提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢	
	 
 | 
	|||||||||||||||||