?? createsql.java
字號:
/**
*
*/
package gongju;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Vector;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
/**
* This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
* Builder, which is free for non-commercial use. If Jigloo is being used
* commercially (ie, by a corporation, company or business for any purpose
* whatever) then you should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details. Use of Jigloo implies
* acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
* PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
* ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
/**
* @author 510922198612304632 方便建表
*/
public class CreateSql extends JFrame {
private JPanel jPanel1;
private JButton btnOK;
private JTable jTable1;
private JScrollPane jScrollPane1;
private JTextField txtTablenm;
private JLabel labTablenm;
private JTextField txtTable;
private JLabel labTable;
final static private String create = "CREATE TABLE ";
final static private String left = "(";
final static private String right = ")";
final static private String comma = ",";
private JButton btnDELETE;
private JButton btnNEW;
final static private String semicolon = ";";
private JScrollPane jScrollPane2;
final static private String blank = " ";
final static private String enter = "\r\n";
final static private String l_diagonal = "/";
// final static private String r_diagonal = "\\";// 前面的\是轉移字符
final static private String star = "*";
final static private String mark = "--";
private JButton btnVIEW;
private JTextPane txtMSG;
final static private String constraint = "CONSTRAINT";
final static private String _pk = "_PK";
final static private String underline = "_";
final static private String primarykey = "PRIMARY KEY";
final static private String drop = "DROP TABLE";
final static private String altertable = "ALTER TABLE";
final static private String add = "ADD";
final static private String fk_ = "FK_";
final static private String foreignkey = "FOREIGN KEY";
final static private String references = "REFERENCES";
final static private String tableNM = "\u8868\u540d";
final static private String tableMSG = "\u8868\u4fe1\u606f";
private String tablemes = "";
private String table = "";
private JTable tableFK;
private JScrollPane jScrollPane3;
private JTextField txtTablemsg;
private JLabel labTABLEMSG;
private JCheckBox chboxDrop;
private JPanel panTIME;
private String tablenm = "";
private String tablemsg = "";
private String PK = "";
// private String value = "";// 存放所有行的值
private String columnnm = "";// 列名
private String columnid = "";// 列代號
private String type = "";// 類型
private String size = "";// 大小
private String pk = "";// 主鍵
private String remarks = "";// 備注
private String notnull = "";// 為空
final static private String createtime = "\u521b\u5efa\u65f6\u95f4";// 創建時間
private String time = "";
private Vector v;
private Vector vFK;
private Vector v2;
private String sql = "";
private StringBuffer err;
private Vector vectorPK;
private FileOutputStream fostream;
private BufferedReader input;
private String filepath;
private Vector pk_vector;
private DefaultTableModel jTable1Model;
private DefaultTableModel tableFKModel;
private Showtime showtime;
public CreateSql() {
super("CREATE SQL");
init();
Exit();
}
private void init() {
{
setSize(800, 600);
}
setVisible(true);
{
jPanel1 = new JPanel();
getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.setLayout(null);
{
labTable = new JLabel();
jPanel1.add(labTable);
labTable.setText("\u8868\u4ee3\u53f7");
labTable.setBounds(42, 14, 56, 28);
}
{
txtTable = new JTextField();
jPanel1.add(txtTable);
txtTable.setBounds(105, 14, 112, 28);
}
{
labTablenm = new JLabel();
jPanel1.add(labTablenm);
labTablenm.setText("\u8868\u540d\u79f0");
labTablenm.setBounds(259, 14, 56, 28);
}
{
txtTablenm = new JTextField();
jPanel1.add(txtTablenm);
txtTablenm.setBounds(322, 14, 168, 28);
}
{
jScrollPane1 = new JScrollPane();
jPanel1.add(jScrollPane1);
jScrollPane1.setBounds(35, 98, 721, 322);
{
//
jTable1Model = new DefaultTableModel(new String[][] { {} },
new String[] { "\u5217\u540d",
"\u5217\u4ee3\u53f7", "\u7c7b\u578b",
"\u5927\u5c0f", "\u4e3b\u952e",
"\u4e3a\u7a7a", "\u5907\u6ce8" });
jTable1 = new JTable();
jScrollPane1.setViewportView(jTable1);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
jTable1.setModel(jTable1Model);
jTable1.getTableHeader().setBounds(0, 0, 721, 42);
jTable1.setPreferredSize(new java.awt.Dimension(721, 322));
jTable1.setRowHeight(30);
jTable1.getAutoResizeMode();
// 為類型加上combobox
TableColumn tc = jTable1.getColumnModel().getColumn(2);
JComboBox boxType = new JComboBox();
boxType.addItem("VARCHAR2"); // 存放可變長字符數據,最大長度為4000字符
boxType.addItem("CHAR"); // 存放定長字符數據,最長2000個字符
boxType.addItem("NUMBER"); // 存放數值型數據
boxType.addItem("LONG");// 存放可變長字符數據,最大為2GB(gigabytes)
boxType.addItem("DATE");// 存放日期,范圍從公元前4712年的1月1日到公元后9999年的12月31日
boxType.addItem("CLOB");// 存放單字節字符數據,最大為4GB(gigabytes)
boxType.addItem("RAW AND LONG RAW ");// 純(Raw)二進制數據
boxType.addItem("BLOB");// 二進制大對象,其最大長度為 4GB(gigabytes)
boxType.addItem("BFLE");// 二進制大對象,
// 存放在外部文件中。最大長度為4GB(gigabytes)
// 設置默認值
boxType.setSelectedItem(1);
tc.setCellEditor(new DefaultCellEditor(boxType));
// 為主鍵加上combobox
TableColumn tc1 = jTable1.getColumnModel().getColumn(4);
JComboBox boxPk = new JComboBox();
boxPk.addItem("Y"); // 是主鍵
boxPk.addItem("N"); // 不是主鍵
// boxPk.addItem(""); // 便于修改
// 設置默認值
// boxPk.setSelectedIndex(1);
tc1.setCellEditor(new DefaultCellEditor(boxPk));
// 為為空加上combobox
TableColumn tc2 = jTable1.getColumnModel().getColumn(5);
JComboBox boxNull = new JComboBox();
boxNull.addItem("NOT NULL"); //
boxNull.addItem("");// 便于修改
// 設置默認值
// boxNull.setSelectedIndex(1);
tc2.setCellEditor(new DefaultCellEditor(boxNull));
}
}
{
jScrollPane2 = new JScrollPane();
jPanel1.add(jScrollPane2);
jScrollPane2.setBounds(35, 497, 721, 56);
{
txtMSG = new JTextPane();
jScrollPane2.setViewportView(txtMSG);
txtMSG.setEditable(false);
}
}
{
btnOK = new JButton();
jPanel1.add(btnOK);
btnOK.setBounds(609, 56, 77, 28);
btnOK.setText("\u751f\u6210");
btnOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
err = new StringBuffer();
{
v = new Vector();// 存放所有行的值
int column = jTable1.getColumnCount();// 列
int row = jTable1.getRowCount();// 行
try {
jTable1.editCellAt(0, 0);// 離開焦點,使取最后一個值時不會取到NULL
} catch (Exception e) {
err
.append("\u8bf7\u5148\u65b0\u589e\u4e00\u884c\u6570\u636e");// 請先新增一行數據
}
for (int i = 0; i < row; i++) {
Vector v1 = new Vector();// 存放一行的值
for (int j = 0; j < column; j++) {
Object value = jTable1.getValueAt(i, j);// 取得當前的值
if (value == null) {
value = "";
}
v1.add(value);
}
v.add(v1);
}
}
// FK
{
vFK = new Vector();// 存放所有行的值
int column = tableFK.getColumnCount();// 列
int row = tableFK.getRowCount();// 行
try {
tableFK.editCellAt(0, 0);// 離開焦點,使取最后一個值時不會取到NULL
} catch (Exception e) {
err
.append("\u8bf7\u5148\u65b0\u589e\u4e00\u884c\u6570\u636e");// 請先新增一行數據
}
for (int i = 0; i < row - 1; i++) {
Vector v2 = new Vector();// 存放一行的值
for (int j = 0; j < column; j++) {
Object value = tableFK.getValueAt(i, j);// 取得當前的值
if (value == null) {
value = "";
}
v2.add(value);
}
vFK.add(v2);
}
}
savetofile(v, vFK);
}
});
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -