package com.fourth; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; import java.util.Vector; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumn; import com.plugin.Chooser; /** * * @author SiVan * @time 2017��4��17�� ����8:07:35 * TODO ��ѯ�������� */ public class QueryPortBelongs extends JDialog{ private JLabel port_Label = new JLabel("������"); private JTextField port_Field = new JTextField(); private JScrollPane scrollpane = new JScrollPane( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); //��ӱ��ͬʱ���ñ�����ݲ��ɱ༭ private JTable table = new JTable(){ public boolean isCellEditable(int row, int column) { return false; }; }; private JButton query_Button = new JButton("��ѯ"); //��ݿ� private String url = "jdbc:mysql://localhost:3306/erp"; private String user = "root"; private String password = "1018222wxw"; Vector<String> header; final Vector<Vector<String>> dataVector; public QueryPortBelongs() { // TODO Auto-generated constructor stub this.setTitle("��������ѯ"); this.setSize(1000, 500); this.setResizable(false); this.setModal(false); this.setLayout(null); this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setLocationRelativeTo(null); scrollpane.setBounds(25, 50, 950, 400); port_Label.setBounds(60, 20, 80, 30); port_Field.setBounds(130, 20, 150, 30); query_Button.setBounds(310, 20, 80, 30); //��ͷ header = new Vector<String>(); header.add("������"); header.add("�������"); header.add("�������Ӧ��"); header.add("��Ӧ���ϵ��"); header.add("��ַ"); header.add("�绰"); header.add("����˺�"); header.add("��Ӧ���ź�"); //������ݾ��� DefaultTableCellRenderer renderer=new DefaultTableCellRenderer(); renderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); table.setDefaultRenderer(Object.class, renderer); ((DefaultTableCellRenderer)table.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.CENTER); //�洢һ�һ��ı���� dataVector = new Vector<Vector<String>>(); query_Button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //����ݿ⣬����ݿ��е�����ϴ���Vector������ try{ Class.forName("com.mysql.jdbc.Driver"); try( Connection conn = DriverManager.getConnection(url, user, password); ){ //where v.vDate = ? and pi.piId = v.piId and pi.pCID = pc.pcId String sql = "select p.piId,p.piName, s.sName, s.sLinkman, s.sAddress, s.sPhone, s.sBankAc," + "s.sWeChat from portInfo p, supplier s where p.sId = s.sId and p.piId = ?"; PreparedStatement ps = conn.prepareStatement(sql); ps.setObject(1, port_Field.getText()); ResultSet rs = ps.executeQuery(); String piId = null; String name = null; String sName = null; String sLinkman = null; String sAddress = null; String sPhone = null; String sBankAc = null; String sWeChat = null; //���ʹ��˸�if�жϣ���ѡ������û�г�������ۼ�¼���� if(!rs.next()){ dataVector.removeAllElements(); DefaultTableModel df = new DefaultTableModel(dataVector, header); table.setModel(df); JOptionPane.showMessageDialog(null, "�ܱ�Ǹ��֪ͨ���û���ҵ��ñ�Ŷ�Ӧ���ҵļ�¼"); return; }else{ piId = rs.getString(1); name = rs.getString(2); sName = rs.getString(3); sLinkman = rs.getString(4); sAddress = rs.getString(5); sPhone = rs.getString(6); sBankAc = rs.getString(7); sWeChat = rs.getString(8); Vector<String> data = new Vector<String>(); data.add(piId); data.add(name); data.add(sName); data.add(sLinkman); data.add(sAddress); data.add(sPhone); data.add(sBankAc); data.add(sWeChat); dataVector.add(data); DefaultTableModel df = new DefaultTableModel(dataVector, header); table.setModel(df); } while(rs.next()){ piId = rs.getString(1); name = rs.getString(2); sName = rs.getString(3); sLinkman = rs.getString(4); sAddress = rs.getString(5); sPhone = rs.getString(6); sBankAc = rs.getString(7); sWeChat = rs.getString(8); Vector<String> data = new Vector<String>(); data.add(piId); data.add(name); data.add(sName); data.add(sLinkman); data.add(sAddress); data.add(sPhone); data.add(sBankAc); data.add(sWeChat); dataVector.add(data); DefaultTableModel df = new DefaultTableModel(dataVector, header); table.setModel(df); } } }catch(Exception e1){ e1.printStackTrace(); } } }); table.setRowHeight(30); //���ñ�ͷ������������ table.getTableHeader().setReorderingAllowed(false); FitTableColumns(table); scrollpane.getViewport().add(table); this.add(port_Field); this.add(port_Label); this.add(query_Button); this.add(scrollpane); this.setVisible(true); } public static void FitTableColumns(JTable myTable){ JTableHeader header = myTable.getTableHeader(); int rowCount = myTable.getRowCount(); Enumeration columns = myTable.getColumnModel().getColumns(); while(columns.hasMoreElements()){ TableColumn column = (TableColumn)columns.nextElement(); int col = header.getColumnModel().getColumnIndex(column.getIdentifier()); int width = (int)myTable.getTableHeader().getDefaultRenderer() .getTableCellRendererComponent(myTable, column.getIdentifier() , false, false, -1, col).getPreferredSize().getWidth(); for(int row = 0; row<rowCount; row++){ int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable, myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth(); width = Math.max(width, preferedWidth); } header.setResizingColumn(column); // ���к���Ҫ column.setWidth(width+myTable.getIntercellSpacing().width); } } public static void main(String[] args) { new QueryPortBelongs(); } }