62,616
社区成员
发帖
与我相关
我的任务
分享
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jas.report.reclaimer;
import java.awt.Container;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
/**
*
* @author Steven
*/
public final class MainFrame extends JFrame {
private int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
private int frameWidth = 600;
private int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
private int frameHeight = 400;
private static MainFrame mf;
public JPanel panelDataBase;
public JPanel panelCorpList;
public static synchronized MainFrame getInstance() {
if (mf == null) {
mf = new MainFrame();
}
return mf;
}
private MainFrame() {
Container c = this.getContentPane();
c.setLayout(null);
panelDataBase = this.getPanelDataBase();
panelDataBase.setBounds((frameWidth - panelDataBase.getWidth()) / 2, (frameHeight - panelDataBase.getHeight()) / 2, panelDataBase.getWidth(), panelDataBase.getHeight());
panelCorpList = this.getPanelCorpList();
panelCorpList.setBounds((frameWidth - panelCorpList.getWidth()) / 2, (frameHeight - panelCorpList.getHeight()) / 2, panelCorpList.getWidth(), panelCorpList.getHeight());
c.add(panelDataBase);
c.add(panelCorpList);
this.setTitle("报表系统文件清理程序");
this.setSize(frameWidth, frameHeight);
this.setLocation((screenWidth - this.getSize().width) / 2, (screenHeight - this.getSize().height) / 2);
this.setResizable(false);
this.setVisible(true);
this.addWindowListener(
new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//OracleDBConn.closedb();
System.exit(0);
}
});
}
JComboBox cmbDataBase = new JComboBox();
JComboBox cmbIP = new JComboBox();
JTextField txtPort = new JTextField();
JComboBox cmbSid = new JComboBox();
JTextField txtUserName = new JTextField();
JPasswordField txtPwd = new JPasswordField();
private JPanel getPanelDataBase() {
JPanel panel1 = new JPanel();
panel1.setLayout(null);
panel1.setSize(400, 300);
JLabel label1 = new JLabel("数据库类型 :");
label1.setBounds(0, 0, 100, 20);
label1.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel label2 = new JLabel("IP :");
label2.setBounds(0, 30, 100, 20);
label2.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel label3 = new JLabel("Port :");
label3.setBounds(0, 60, 100, 20);
label3.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel label4 = new JLabel("SID :");
label4.setBounds(0, 90, 100, 20);
label4.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel label5 = new JLabel("用户名 :");
label5.setBounds(0, 120, 100, 20);
label5.setHorizontalAlignment(SwingConstants.RIGHT);
JLabel label6 = new JLabel("密码 :");
label6.setBounds(0, 150, 100, 20);
label6.setHorizontalAlignment(SwingConstants.RIGHT);
DefaultComboBoxModel comboBoxModel1 = new DefaultComboBoxModel();
comboBoxModel1.addElement("Oracel");
cmbDataBase.setModel(comboBoxModel1);
cmbDataBase.setBounds(120, 0, 200, 20);
DefaultComboBoxModel comboBoxModel2 = new DefaultComboBoxModel();
comboBoxModel2.addElement("22.117.79.27");
comboBoxModel2.addElement("22.117.79.11");
cmbIP.setEditable(true);
cmbIP.setModel(comboBoxModel2);
cmbIP.setBounds(120, 30, 200, 20);
txtPort.setText("1521");
txtPort.setBounds(120, 60, 200, 20);
DefaultComboBoxModel comboBoxModel3 = new DefaultComboBoxModel();
comboBoxModel3.addElement("jasdb");
comboBoxModel3.addElement("pubdb");
comboBoxModel3.addElement("testdb");
cmbSid.setEditable(true);
cmbSid.setModel(comboBoxModel3);
cmbSid.setBounds(120, 90, 200, 20);
txtUserName.setText("jas");
txtUserName.setBounds(120, 120, 200, 20);
txtPwd.setText("a123456");
txtPwd.setEchoChar('*');
txtPwd.setBounds(120, 150, 200, 20);
JButton button = new JButton("下一步");
button.setBounds(160, 250, 80, 20);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
cmbIP.setSelectedItem(cmbIP.getSelectedItem().toString().trim());
txtPort.setText(txtPort.getText().trim());
cmbSid.setSelectedItem(cmbSid.getSelectedItem().toString().trim());
txtUserName.setText(txtUserName.getText().trim());
if (cmbIP.getSelectedItem().toString().length() == 0) {
JOptionPane.showMessageDialog(panelDataBase, "请输入IP地址", "Error Message", JOptionPane.WARNING_MESSAGE);
} else if (txtPort.getText().length() == 0) {
JOptionPane.showMessageDialog(panelDataBase, "请输入端口", "Error Message", JOptionPane.WARNING_MESSAGE);
} else if (cmbSid.getSelectedItem().toString().length() == 0) {
JOptionPane.showMessageDialog(panelDataBase, "请输入SID", "Error Message", JOptionPane.WARNING_MESSAGE);
} else if (txtUserName.getText().length() == 0) {
JOptionPane.showMessageDialog(panelDataBase, "请输入用户名", "Error Message", JOptionPane.WARNING_MESSAGE);
} else if (txtPwd.getPassword().length == 0) {
JOptionPane.showMessageDialog(panelDataBase, "请输入密码", "Error Message", JOptionPane.WARNING_MESSAGE);
} else {
panelDataBase.setVisible(false);
panelCorpList.setVisible(true);
Thread t1 = new Thread(new CorpReportList());
t1.start();
}
}
});
panel1.add(label1);
panel1.add(label2);
panel1.add(label3);
panel1.add(label4);
panel1.add(label5);
panel1.add(label6);
panel1.add(cmbDataBase);
panel1.add(cmbIP);
panel1.add(txtPort);
panel1.add(cmbSid);
panel1.add(txtUserName);
panel1.add(txtPwd);
panel1.add(button);
return panel1;
}
public JLabel lblCorpList;
public JTable jTable;
public JButton btnSelectCorp;
private JPanel getPanelCorpList() {
JPanel panel1 = new JPanel();
panel1.setLayout(null);
panel1.setSize(550, 390);
lblCorpList = new JLabel("正在读取数据,请稍候......");
lblCorpList.setBounds(0, 0, 300, 20);
jTable = new JTable();
TableColumn col1 = new TableColumn();
col1.setHeaderValue("公司名称");
col1.setWidth(400);
TableColumn col2 = new TableColumn();
col2.setHeaderValue("成功");
col2.setWidth(50);
TableColumn col3 = new TableColumn();
col3.setHeaderValue("失败");
col3.setWidth(50);
TableColumn col4 = new TableColumn();
col4.setHeaderValue("总计");
col4.setWidth(50);
jTable.addColumn(col1);
jTable.addColumn(col2);
jTable.addColumn(col3);
jTable.addColumn(col4);
JScrollPane scrollPane = new JScrollPane(jTable);
scrollPane.setBounds(0, 25, 550, 300);
btnSelectCorp = new JButton("下一步");
btnSelectCorp.setBounds(470, 330, 80, 20);
btnSelectCorp.setEnabled(false);
panel1.add(lblCorpList);
panel1.add(scrollPane);
panel1.add(btnSelectCorp);
panel1.setVisible(false);
return panel1;
}
}
DefaultTableModel tableModel = (DefaultTableModel) MainFrame.getInstance().jTable.getModel();
tableModel.insertRow(0, new String[]{"a1","a2","a3","a4"});
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jas.report.reclaimer;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Steven
*/
public class CorpReportList implements Runnable {
public void run() {
try {
Thread.sleep(5000);
DefaultTableModel tableModel = (DefaultTableModel) MainFrame.getInstance().jTable.getModel();
tableModel.insertRow(0, new String[]{"aa"});
MainFrame.getInstance().lblCorpList.setText("以下是有报表的公司列表:");
MainFrame.getInstance().btnSelectCorp.setEnabled(true);
} catch (Exception e) {
JOptionPane.showMessageDialog(MainFrame.getInstance().panelCorpList, "程序遇到不可预知的错误", "Error Message", JOptionPane.ERROR_MESSAGE);
System.out.println(e);
}
}
}