📄 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 + -