51,410
社区成员
发帖
与我相关
我的任务
分享
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.lang.Object.*;
import java.util.*;
import java.sql.*;
//import management_system.*;
public class ZhuJieMian extends JFrame implements ActionListener{
JButton b1=new JButton("商品管理");
JButton b2=new JButton("采购管理");
JButton b3=new JButton("销售管理");
JButton b4=new JButton("用户管理");
JButton b5=new JButton("权限管理");
JButton bb1=new JButton("查询");
JButton bb2=new JButton("添加");
JButton bb3=new JButton("修改");
JButton bb4=new JButton("删除");
JButton bb5=new JButton("确认修改");
JLabel l1=new JLabel("商品编号");
JLabel l2=new JLabel("商品名称");
JLabel l3=new JLabel("商品价格");
JLabel l4=new JLabel("生产日期");
JLabel l5=new JLabel("生产地");
JLabel l6=new JLabel("库存量");
JTextField t1=new JTextField(10);
JTextField t2=new JTextField(10);
JTextField t3=new JTextField(10);
JTextField t4=new JTextField(10);
JTextField t5=new JTextField(10);
JTextField t6=new JTextField(10);
String GoodsNum_input;
String GoodsName_input;
String GoodsName_price_input;
String Production_Data_input;
String Production_Place_input;
String Inventory_input;//库存量输入值
JTable table;
JScrollPane scroll;
Vector vector;
Vector rec_vector=new Vector();
public int screanWidth2,screanHeight2;
//AbstractTableModel tm;
//Vector vector;
String title[]={"商品编号","商品名称","商品价格","生产日期","生产地","库存量"};
public static void main(String[] args){
new ZhuJieMian();
}
public ZhuJieMian()
{
/* Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
screanWidth2=dim.width;
screanHeight2=dim.height;
*/
JFrame f=new JFrame();
DefaultTableModel myTable=new DefaultTableModel();
JTable table=new JTable(myTable);
// table.setPreferredScrollableViewportSize(new Dimension(550,100));
for(int i=0;i<=5;i++)
{
myTable.addColumn(title[i]);
}
int number=3;
int k=0;
while(k++!=20){
Vector newRow = new Vector();
/* for (int i = 1; i <= number; i++) {
newRow.add(2);
} */
myTable.addRow(newRow);
}
table.setPreferredScrollableViewportSize(new Dimension(600,220));
JScrollPane scrollPane=new JScrollPane(table);
getContentPane().add(scrollPane,BorderLayout.CENTER);
setTitle("Simple Table");
pack();
show();
setTitle("商品管理");
setLayout(null);
// add(table);
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(bb1);
add(bb2);
add(bb3);
add(bb4);
add(bb5);
add(l1);
add(l2);
add(l3);
add(l4);
add(l5);
add(l6);
add(t1);
add(t2);
add(t3);
add(t4);
add(t5);
add(t6);
l1.setBounds(80,250,100,20);
l2.setBounds(80,300,100,20);
l3.setBounds(80,350,100,20);
l4.setBounds(80,400,100,20);
l5.setBounds(80,450,100,20);
l6.setBounds(80,500,100,20);
t1.setBounds(170,250,150,20);
t2.setBounds(170,300,150,20);
t3.setBounds(170,350,150,20);
t4.setBounds(170,400,150,20);
t5.setBounds(170,450,150,20);
t6.setBounds(170,500,150,20);
b1.setBounds(15, 535, 100, 20);
b2.setBounds(130, 535, 100, 20);
b3.setBounds(245, 535, 100, 20);
b4.setBounds(360, 535, 100, 20);
b5.setBounds(475, 535, 100, 20);
bb1.setBounds(400,275,100,20);
bb2.setBounds(400,330,100,20);
bb3.setBounds(400,385,100,20);
bb4.setBounds(400,440,100,20);
bb5.setBounds(530,385,100,20);
b4.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
bb1.addActionListener(this);
// table.setBounds(0,0,1000,300);
setBounds(360,20,650,600);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Connection con;
Statement sql;
ResultSet rs;
GoodsNum_input=t1.getText();
if(e.getSource()==b2) {
new PurchaseManagement();
this.setVisible(false);
}
if(e.getSource()==b3) {
new SalesManagement();
this.setVisible(false);
}
if(e.getSource()==b4) {
new UserManagement();
this.setVisible(false);
}
if(e.getSource()==bb1)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:SuperMaket";
con = DriverManager.getConnection(url);
sql = con.createStatement();
rs = sql.executeQuery("SELECT * FROM CustomMessage where GoodsNum='"
+ GoodsNum_input + "'");
if(rs.next()==true)
{
vector.removeAllElements();
rs.previous();
while(rs.next())
{
rec_vector.addElement(rs.getString(1));
rec_vector.addElement(rs.getString(2));
rec_vector.addElement(rs.getInt(3));
rec_vector.addElement(rs.getString(4));
rec_vector.addElement(rs.getString(5));
rec_vector.addElement(rs.getInt(6));
vector.addElement(rec_vector);
myTable.addRow(vector);
}
}
else
{
JOptionPane.showMessageDialog(this,"帐户或密码错误\n请重新输入","提示",
JOptionPane.WARNING_MESSAGE);
}
}
catch (SQLException g)
{
System.out.println(g);
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
[/quote]
难得你有一份钻研swing的心,具体代码我肯定不可能帮你写了,我能帮的只是所以一个比较详细的思路吧
比较标准的来的话,
首先我可以定义一个方法获取数据库的数据,把返回的数据封装成
Vector<User>的形式。并把这个对象传入显示的方法中。
//可以这样来显示
public void ZhuJieMian(Vector<User> list){
for(User user:list){
Vector<Object> newRow = new Vector<Object>();
newRow.add(user.getName());
newRow.add(user.getId());
myTable.addRow(newRow);
}
}
public List<User> selectDB(){
//这里写查询数据的代码
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.lang.Object.*;
import java.util.*;
import java.sql.*;
//import management_system.*;
public class ZhuJieMian extends JFrame implements ActionListener{
JButton b1=new JButton("商品管理");
JButton b2=new JButton("采购管理");
JButton b3=new JButton("销售管理");
JButton b4=new JButton("用户管理");
JButton b5=new JButton("权限管理");
JButton bb1=new JButton("查询");
JButton bb2=new JButton("添加");
JButton bb3=new JButton("修改");
JButton bb4=new JButton("删除");
JButton bb5=new JButton("确认修改");
JLabel l1=new JLabel("商品编号");
JLabel l2=new JLabel("商品名称");
JLabel l3=new JLabel("商品价格");
JLabel l4=new JLabel("生产日期");
JLabel l5=new JLabel("生产地");
JLabel l6=new JLabel("库存量");
JTextField t1=new JTextField(10);
JTextField t2=new JTextField(10);
JTextField t3=new JTextField(10);
JTextField t4=new JTextField(10);
JTextField t5=new JTextField(10);
JTextField t6=new JTextField(10);
String GoodsNum_input;
String GoodsName_input;
String GoodsName_price_input;
String Production_Data_input;
String Production_Place_input;
String Inventory_input;//库存量输入值
JTable table;
JScrollPane scroll;
Vector vector;
Vector rec_vector=new Vector();
public int screanWidth2,screanHeight2;
//AbstractTableModel tm;
//Vector vector;
String title[]={"商品编号","商品名称","商品价格","生产日期","生产地","库存量"};
public static void main(String[] args){
new ZhuJieMian();
}
public ZhuJieMian()
{
/* Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
screanWidth2=dim.width;
screanHeight2=dim.height;
*/
JFrame f=new JFrame();
DefaultTableModel myTable=new DefaultTableModel();
JTable table=new JTable(myTable);
// table.setPreferredScrollableViewportSize(new Dimension(550,100));
for(int i=0;i<=5;i++)
{
myTable.addColumn(title[i]);
}
int number=3;
int k=0;
while(k++!=20){
Vector newRow = new Vector();
/* for (int i = 1; i <= number; i++) {
newRow.add(2);
} */
myTable.addRow(newRow);
}
table.setPreferredScrollableViewportSize(new Dimension(600,220));
JScrollPane scrollPane=new JScrollPane(table);
getContentPane().add(scrollPane,BorderLayout.CENTER);
setTitle("Simple Table");
pack();
show();
setTitle("商品管理");
setLayout(null);
// add(table);
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(bb1);
add(bb2);
add(bb3);
add(bb4);
add(bb5);
add(l1);
add(l2);
add(l3);
add(l4);
add(l5);
add(l6);
add(t1);
add(t2);
add(t3);
add(t4);
add(t5);
add(t6);
l1.setBounds(80,250,100,20);
l2.setBounds(80,300,100,20);
l3.setBounds(80,350,100,20);
l4.setBounds(80,400,100,20);
l5.setBounds(80,450,100,20);
l6.setBounds(80,500,100,20);
t1.setBounds(170,250,150,20);
t2.setBounds(170,300,150,20);
t3.setBounds(170,350,150,20);
t4.setBounds(170,400,150,20);
t5.setBounds(170,450,150,20);
t6.setBounds(170,500,150,20);
b1.setBounds(15, 535, 100, 20);
b2.setBounds(130, 535, 100, 20);
b3.setBounds(245, 535, 100, 20);
b4.setBounds(360, 535, 100, 20);
b5.setBounds(475, 535, 100, 20);
bb1.setBounds(400,275,100,20);
bb2.setBounds(400,330,100,20);
bb3.setBounds(400,385,100,20);
bb4.setBounds(400,440,100,20);
bb5.setBounds(530,385,100,20);
b4.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
bb1.addActionListener(this);
// table.setBounds(0,0,1000,300);
setBounds(360,20,650,600);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Connection con;
Statement sql;
ResultSet rs;
GoodsNum_input=t1.getText();
if(e.getSource()==b2) {
new PurchaseManagement();
this.setVisible(false);
}
if(e.getSource()==b3) {
new SalesManagement();
this.setVisible(false);
}
if(e.getSource()==b4) {
new UserManagement();
this.setVisible(false);
}
if(e.getSource()==bb1)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:SuperMaket";
con = DriverManager.getConnection(url);
sql = con.createStatement();
rs = sql.executeQuery("SELECT * FROM CustomMessage where GoodsNum='"
+ GoodsNum_input + "'");
if(rs.next()==true)
{
vector.removeAllElements();
rs.previous();
while(rs.next())
{
rec_vector.addElement(rs.getString(1));
rec_vector.addElement(rs.getString(2));
rec_vector.addElement(rs.getInt(3));
rec_vector.addElement(rs.getString(4));
rec_vector.addElement(rs.getString(5));
rec_vector.addElement(rs.getInt(6));
vector.addElement(rec_vector);
myTable.addRow(vector);
}
}
else
{
JOptionPane.showMessageDialog(this,"帐户或密码错误\n请重新输入","提示",
JOptionPane.WARNING_MESSAGE);
}
}
catch (SQLException g)
{
System.out.println(g);
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
public Test4(){
JFrame f=new JFrame();
DefaultTableModel myTable=new DefaultTableModel();
JTable table=new JTable(myTable);
table.setPreferredScrollableViewportSize(new Dimension(550,30));
myTable.addColumn("姓名");
myTable.addColumn("MM");
myTable.addColumn("NN");
int number=3;
int k=0;
while(k++!=4){
Vector<Object> newRow = new Vector<Object>();
for (int i = 1; i <= number; i++) {
newRow.add(i);
}
myTable.addRow(newRow);
}
table.setPreferredScrollableViewportSize(new Dimension(550,30));
JScrollPane scrollPane=new JScrollPane(table);
f.getContentPane().add(scrollPane,BorderLayout.CENTER);
f.setTitle("Simple Table");
f.pack();
f.show();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args){
Test4 b=new Test4();
}
}
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import java.awt.Dimension;
import java.awt.GridLayout;
/**
* TableDemo is just like SimpleTableDemo, except that it
* uses a custom TableModel.
*/
public class TableDemo extends JPanel {
private boolean DEBUG = false;
public TableDemo() {
super(new GridLayout(1,0));
JTable table = new JTable(new MyTableModel());
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
//Create the scroll pane and add the table to it.
JScrollPane scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel.
add(scrollPane);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(20), new Boolean(true)},
{"Philip", "Milne",
"Pool", new Integer(10), new Boolean(false)},
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
/*
* JTable uses this method to determine the default renderer/
* editor for each cell. If we didn't implement this method,
* then the last column would contain text ("true"/"false"),
* rather than a check box.
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Don't need to implement this method unless your table's
* editable.
*/
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col < 2) {
return false;
} else {
return true;
}
}
/*
* Don't need to implement this method unless your table's
* data can change.
*/
public void setValueAt(Object value, int row, int col) {
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
}
data[row][col] = value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
}
}
private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i=0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j=0; j < numCols; j++) {
System.out.print(" " + data[i][j]);
}
System.out.println();
}
System.out.println("--------------------------");
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("TableDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
TableDemo newContentPane = new TableDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.lang.Object.*;
import java.util.*;
import java.sql.*;
public class ZhuJieMian extends JFrame {
JButton b1 = new JButton("商品管理");
JButton b2 = new JButton("采购管理");
JButton b3 = new JButton("销售管理");
JButton b4 = new JButton("用户管理");
JButton b5 = new JButton("权限管理");
JLabel l1 = new JLabel("商品编号");
JLabel l2 = new JLabel("商品名称");
JLabel l3 = new JLabel("商品价格");
JLabel l4 = new JLabel("生产日期");
JLabel l5 = new JLabel("生产地");
JLabel l6 = new JLabel("库存量");
JTable table;
JScrollPane scroll;
public int screanWidth2, screanHeight2;
AbstractTableModel tm;
Vector vector;
String title[] = { "商品编号", "商品名称", "商品价格", "生产日期", "生产地", "库存量" };
public static void main(String[] args) {
new ZhuJieMian();
}
public ZhuJieMian() {
Toolkit tool = getToolkit();
Dimension dim = tool.getScreenSize();
screanWidth2 = dim.width;
screanHeight2 = dim.height;
createTable();
setTitle("商品管理");
setLayout(null);
add(table);
add(scroll);
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
b1.setBounds(15, 535, 100, 20);
b2.setBounds(130, 535, 100, 20);
b3.setBounds(245, 535, 100, 20);
b4.setBounds(360, 535, 100, 20);
b5.setBounds(475, 535, 100, 20);
setBounds(360, 20, 600, 600);
setVisible(true);
}
void createTable() {
vector = new Vector();
tm = new AbstractTableModel() {
public int getColumnCount() {
return title.length;
}
public int getRowCount() {
return vector.size();
}
public Object getValueAt(int row, int column) {
if (!vector.isEmpty())
return ((Vector) vector.elementAt(row)).elementAt(column);
else
return null;
}
public void setValueAt(Object value, int row, int column) {
}
public String getcoulumnName(int column) {
return title[column];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(tm);
table.setToolTipText("Display Query Result");
table.setAutoResizeMode(table.AUTO_RESIZE_ALL_COLUMNS);
table.setCellSelectionEnabled(false);
table.setShowVerticalLines(true);
table.setBounds(0, 0, 400, 200);
scroll = new JScrollPane(table);
scroll.setPreferredSize(new Dimension(400, 200));
add(scroll);
}
}