📄 productupdatedialog.java
字号:
package mysiloer;
/**
* <p>Title: MySiloer</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: yskey</p>
*
* @author 杨涛
* @version 1.0
*/
import java.awt.*;
import javax.swing.*;
import java.sql.Connection;
import com.borland.jbcl.layout.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.Vector;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Date;
import java.util.Calendar;
public class ProductUpdateDialog
extends JDialog {
private JPanel panel1 = new JPanel();
private BorderLayout borderLayout1 = new BorderLayout();
private SiloPanel parentPanel;
private Connection con;
private Container cp;
private JPanel controlPanel = new JPanel();
private ButtonGroup group = new ButtonGroup();
private JRadioButton insertRadio = new JRadioButton();
private GridLayout gridLayout1 = new GridLayout();
private JRadioButton deleteRadio = new JRadioButton();
private JPanel contentPanel = new JPanel();
private JPanel buttonPanel = new JPanel();
private JButton okButton = new JButton();
private JButton cancelButton = new JButton();
private JLabel jLabel1 = new JLabel();
private FlowLayout flowLayout1 = new FlowLayout();
private Border border1;
private Vector namesVector;
private GridLayout gridLayout2 = new GridLayout();
private Border border2;
private static int INSERT = 0, UPDATE = 1, DELETE = 2;
private int action = this.INSERT;
private JTextField[] params = {
new JTextField("", 10),
new JTextField("", 10),
new JTextField("", 10),
new JTextField("", 10),
new JTextField("", 10),
new JTextField("", 10),
new JTextField("", 10)};
private JRadioButton updateRadio = new JRadioButton();
public ProductUpdateDialog(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
this.setResizable(false);
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2 - 150);
// setVisible(true);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public ProductUpdateDialog(JFrame frame, SiloPanel panel, boolean model) {
this(frame, "更新对话框", model);
parentPanel = panel;
this.con = panel.dataBase.connection;
if (namesVector == null || namesVector.size() <= 0)
namesVector = getColName();
}
public ProductUpdateDialog() {
this(null, "", false);
}
private void jbInit() throws Exception {
border1 = BorderFactory.createEmptyBorder(20, 20, 20, 20);
border2 = BorderFactory.createEmptyBorder(5, 10, 5, 10);
panel1.setLayout(borderLayout1);
cp = getContentPane();
for (int i = 0; i < params.length; i++) {
params[i].addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
okButton_actionPerformed(e);
}
});
}
insertRadio.setText("添加新记录");
insertRadio.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
insertRadio_actionPerformed(e);
}
});
controlPanel.setLayout(gridLayout1);
// gridLayout1.setColumns(1);
gridLayout1.setHgap(5);
deleteRadio.setText("删除记录");
deleteRadio.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
deleteRadio_actionPerformed(e);
}
});
buttonPanel.setLayout(flowLayout1);
okButton.setText("确 定");
okButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
okButton_actionPerformed(e);
}
});
cancelButton.setText("取 消");
cancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
cancelButton_actionPerformed(e);
}
});
jLabel1.setText(" ");
controlPanel.setBorder(border1);
gridLayout2.setHgap(2);
gridLayout2.setVgap(5);
contentPanel.setLayout(gridLayout2);
gridLayout2.setColumns(2);
// gridLayout2.setRows(3);
contentPanel.setBorder(border2);
updateRadio.setText("更新记录");
updateRadio.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
updateRadio_actionPerformed(e);
}
});
cp.add(panel1);
panel1.add(controlPanel, BorderLayout.NORTH);
controlPanel.add(updateRadio, null);
controlPanel.add(insertRadio, null);
controlPanel.add(deleteRadio, null);
panel1.add(contentPanel, BorderLayout.CENTER);
panel1.add(buttonPanel, BorderLayout.SOUTH);
group.add(deleteRadio);
group.add(insertRadio);
group.add(updateRadio);
buttonPanel.add(okButton, null);
buttonPanel.add(jLabel1, null);
buttonPanel.add(cancelButton, null);
}
void cancelButton_actionPerformed(ActionEvent e) {
this.setVisible(false);
this.dispose();
}
void insertRadio_actionPerformed(ActionEvent e) {
this.action = this.INSERT;
for (int i = 0; i < params.length; i++) {
params[i].setText("");
}
contentPanel.removeAll();
if (namesVector == null || namesVector.size() <= 0)
namesVector = getColName();
// int colCount = namesVector.size() - 1;
int colCount = namesVector.size();
// if (colCount % 2 == 0) {
// gridLayout2.setRows(colCount / 2);
// gridLayout2.setColumns(2);
// }
// else {
// gridLayout2.setRows(colCount / 2 + 1);
// gridLayout2.setColumns(2);
// }
gridLayout2.setColumns(2);
gridLayout2.setRows(4);
contentPanel.setLayout(gridLayout2);
for (int i = 0; i < namesVector.size(); i++) {
// System.out.println(namesVector.elementAt(i));
if ( ( (String) namesVector.elementAt(i)).indexOf("时间") <= 0 && i != 0) {
// if(((String)namesVector.elementAt(i)).indexOf("时间") <= 0 ){
JLabel label = new JLabel( (String) namesVector.elementAt(i) + " :");
contentPanel.add(label);
contentPanel.add(params[i]);
}
}
pack();
validate();
repaint();
}
private Vector getColName() {
Vector namesVector = new Vector();
try {
Statement sta = con.createStatement();
ResultSet set = sta.executeQuery("select * from " + Type.PRODUCTTABLE);
ResultSetMetaData metaData = set.getMetaData();
int colCount = metaData.getColumnCount();
for (int i = 1; i <= colCount; i++) {
namesVector.add(metaData.getColumnLabel(i));
// System.out.println(namesVector.elementAt(i-1));
}
set.close();
sta.close();
}
catch (SQLException e) {
System.err.println(e.toString());
}
return namesVector;
}
void updateRadio_actionPerformed(ActionEvent e) {
this.action = this.UPDATE;
for (int i = 0; i < params.length; i++) {
params[i].setText("");
}
contentPanel.removeAll();
if (namesVector == null || namesVector.size() <= 0)
namesVector = getColName();
int colCount = namesVector.size() - 1;
// int colCount = namesVector.size();
if (colCount % 2 == 0) {
gridLayout2.setRows(colCount / 2);
gridLayout2.setColumns(2);
}
else {
gridLayout2.setRows(colCount / 2 + 1);
gridLayout2.setColumns(2);
}
contentPanel.setLayout(gridLayout2);
for (int i = 0; i < namesVector.size(); i++) {
// System.out.println(namesVector.elementAt(i));
if ( ( (String) namesVector.elementAt(i)).indexOf("时间") <= 0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -