package cn.com.wh;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter;
public class ExportFileFrame extends JFrame
{
public ExportFileFrame()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.setSize(600, 400);
this.setTitle("导出SQL文件");
this.getContentPane().add(pnlParent);
pnlParent.setBorder(BorderFactory.createEmptyBorder(12, 12, 0, 12));
this.setVisible(true);
pnlParent.setLayout(new BorderLayout());
pnlParent.add(pnlCenter, BorderLayout.CENTER);
pnlParent.add(pnlSouth, BorderLayout.SOUTH);
pnlCenter.setLayout(new GridBagLayout());
pnlCenter.setBorder(BorderFactory.createEtchedBorder());
pnlCenter.add(lblDriverName,
new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(cmbDriverName,
new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblUrl,
new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtUrl,
new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblUserName,
new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtUserName,
new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblPassword,
new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtPassword,
new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
lblDriverName.setPreferredSize(new Dimension(100, 25));
lblUrl.setPreferredSize(new Dimension(100, 25));
lblUserName.setPreferredSize(new Dimension(100, 25));
lblPassword.setPreferredSize(new Dimension(100, 25));
cmbDriverName.addItem("oracle.jdbc.driver.OracleDriver");
txtUrl.setText("jdbc:oracle:thin:@127.0.0.1:1521:fxbs");
txtUserName.setText("fxbs");
txtPassword.setText("fxbs");
cmbDriverName.setPreferredSize(new Dimension(200, 25));
txtUrl.setPreferredSize(new Dimension(200, 25));
txtUserName.setPreferredSize(new Dimension(200, 25));
txtPassword.setPreferredSize(new Dimension(200, 25));
pnlSouth.setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 12));
pnlSouth.add(btnExport);
//lblDriverName.setMaximumSize(new Dimension(100, 23));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnExport.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
invokeFileChooser();
}
});
}
private void invokeFileChooser()
{
JFileChooser chooser = new JFileChooser(new File("c:\\text.txt"));
FileNameExtensionFilter filter = new FileNameExtensionFilter("sql", "sql");
chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileFilter(filter);
int returnVal = chooser.showSaveDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
String fileName = chooser.getCurrentDirectory() + File.separator +
chooser.getSelectedFile().getName() + "." + chooser.getFileFilter().getDescription();
try
{
BufferedWriter writer = new BufferedWriter(new FileWriter(new File(fileName)));
PrintWriter out = new PrintWriter(writer);
out.println(String.valueOf(Math.random() * 1000));
out.println(String.valueOf(Math.random() * 1000));
out.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
private JPanel pnlParent = new JPanel();
private JPanel pnlSouth = new JPanel();
private JPanel pnlCenter = new JPanel();
private JLabel lblDriverName = new JLabel("DriverName:");
private JLabel lblUrl = new JLabel("URL:");
private JLabel lblUserName = new JLabel("用户名:");
private JLabel lblPassword = new JLabel("密码:");
private JComboBox cmbDriverName = new JComboBox();
private JTextField txtUrl = new JTextField();
private JTextField txtUserName = new JTextField();
private JTextField txtPassword = new JTextField();
private JButton btnExport = new JButton("导出文件");
public static void main(String[] args)
{
new ExportFileFrame();
}
}
bat文件调用:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35
set path=%JAVA_HOME%\bin;%path%
set classpath=.;.\lib\autoexportsql.jar
java cn.com.wh.ExportFileFrame
pause
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter;
public class ExportFileFrame extends JFrame
{
public ExportFileFrame()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.setSize(600, 400);
this.setTitle("导出SQL文件");
this.getContentPane().add(pnlParent);
pnlParent.setBorder(BorderFactory.createEmptyBorder(12, 12, 0, 12));
this.setVisible(true);
pnlParent.setLayout(new BorderLayout());
pnlParent.add(pnlCenter, BorderLayout.CENTER);
pnlParent.add(pnlSouth, BorderLayout.SOUTH);
pnlCenter.setLayout(new GridBagLayout());
pnlCenter.setBorder(BorderFactory.createEtchedBorder());
pnlCenter.add(lblDriverName,
new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(cmbDriverName,
new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblUrl,
new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtUrl,
new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblUserName,
new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtUserName,
new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(lblPassword,
new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
pnlCenter.add(txtPassword,
new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 6, 6, 6), 0, 0));
lblDriverName.setPreferredSize(new Dimension(100, 25));
lblUrl.setPreferredSize(new Dimension(100, 25));
lblUserName.setPreferredSize(new Dimension(100, 25));
lblPassword.setPreferredSize(new Dimension(100, 25));
cmbDriverName.addItem("oracle.jdbc.driver.OracleDriver");
txtUrl.setText("jdbc:oracle:thin:@127.0.0.1:1521:fxbs");
txtUserName.setText("fxbs");
txtPassword.setText("fxbs");
cmbDriverName.setPreferredSize(new Dimension(200, 25));
txtUrl.setPreferredSize(new Dimension(200, 25));
txtUserName.setPreferredSize(new Dimension(200, 25));
txtPassword.setPreferredSize(new Dimension(200, 25));
pnlSouth.setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 12));
pnlSouth.add(btnExport);
//lblDriverName.setMaximumSize(new Dimension(100, 23));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnExport.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
invokeFileChooser();
}
});
}
private void invokeFileChooser()
{
JFileChooser chooser = new JFileChooser(new File("c:\\text.txt"));
FileNameExtensionFilter filter = new FileNameExtensionFilter("sql", "sql");
chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileFilter(filter);
int returnVal = chooser.showSaveDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
String fileName = chooser.getCurrentDirectory() + File.separator +
chooser.getSelectedFile().getName() + "." + chooser.getFileFilter().getDescription();
try
{
BufferedWriter writer = new BufferedWriter(new FileWriter(new File(fileName)));
PrintWriter out = new PrintWriter(writer);
out.println(String.valueOf(Math.random() * 1000));
out.println(String.valueOf(Math.random() * 1000));
out.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
private JPanel pnlParent = new JPanel();
private JPanel pnlSouth = new JPanel();
private JPanel pnlCenter = new JPanel();
private JLabel lblDriverName = new JLabel("DriverName:");
private JLabel lblUrl = new JLabel("URL:");
private JLabel lblUserName = new JLabel("用户名:");
private JLabel lblPassword = new JLabel("密码:");
private JComboBox cmbDriverName = new JComboBox();
private JTextField txtUrl = new JTextField();
private JTextField txtUserName = new JTextField();
private JTextField txtPassword = new JTextField();
private JButton btnExport = new JButton("导出文件");
public static void main(String[] args)
{
new ExportFileFrame();
}
}
bat文件调用:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35
set path=%JAVA_HOME%\bin;%path%
set classpath=.;.\lib\autoexportsql.jar
java cn.com.wh.ExportFileFrame
pause