“Java任务:图书信息检索”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
任务实现
 
(未显示同一用户的13个中间版本)
第1行: 第1行:
 
==任务描述==
 
==任务描述==
任务描述:图书信息检索
+
任务描述:实现商品检索界面
  
实现商品信息检索,如图9-1所示。
+
===客户端界面===
 +
 
 +
客户端实现商品的查询、购买,和查改购买情况
  
 
[[文件:java9-2.png]]
 
[[文件:java9-2.png]]
  
图 1商品信息检索
+
===管理端===
 +
 
 +
管理端实现商品的上架、下架、查询和修改功能
 +
 
 +
[[文件:java9-37.png]]
  
 
==任务实现==
 
==任务实现==
 
===初始代码===
 
===初始代码===
 +
下面以客户端为例,讲解实现的步骤。
 +
 
第一步:启动Eclipse,导入Java Project,工程名为Project0901。
 
第一步:启动Eclipse,导入Java Project,工程名为Project0901。
  
第86行: 第94行:
 
图 3
 
图 3
  
 +
[[文件:java9-14.png|700px]]
 +
===向面板中添加元素===
 
2.按照下图,把对应控件拖入窗体到指定位置,完成商品检索区域的构建,并设置各个控件的【Variable】属性:
 
2.按照下图,把对应控件拖入窗体到指定位置,完成商品检索区域的构建,并设置各个控件的【Variable】属性:
  
第92行: 第102行:
 
图 4 组件设置
 
图 4 组件设置
  
[[文件:java9-14.png]]
 
  
3.设置分类下拉框:
+
 
 +
====分类下拉框的设置====
  
 
*选中分类组合框,在左侧的Properties窗口中找到Model这栏,如图:
 
*选中分类组合框,在左侧的Properties窗口中找到Model这栏,如图:
第108行: 第118行:
 
图 6 组合框设置
 
图 6 组合框设置
  
4. 按照下图,完成商品显示区域的构建:
+
====表格的创建====
 +
按照下图,完成商品显示区域的构建:
  
 
[[文件:java9-8.png]]
 
[[文件:java9-8.png]]
第145行: 第156行:
 
列名:书籍编号,列宽:70</nowiki>
 
列名:书籍编号,列宽:70</nowiki>
  
 +
====下部购买区域的创建====
 
5. 按照下图,完成商品购买区域的构建:
 
5. 按照下图,完成商品购买区域的构建:
  
第151行: 第163行:
 
图 9 商品购买区域
 
图 9 商品购买区域
  
第三步:定义显示书籍数据的函数:
+
===事件响应===
 +
为“查询”按钮添加响应事件
  
  <nowiki>private void showBooks(String name,int category) {
+
  <nowiki>JButton btnNewButton = new JButton("\u67E5\u8BE2");
BookDao dao=new BookDaoTesting();
+
btnNewButton.addActionListener(new ActionListener() {
List<Book> books=dao.queryBook(name, category);
+
public void actionPerformed(ActionEvent arg0) {
//在表格中显示数据
+
                String gName = textField.getText();
DefaultTableModel dt=(DefaultTableModel) tblBook.getModel();
+
JOptionPane.showMessageDialog(null, gName, "信息", JOptionPane.INFORMATION_MESSAGE);
dt.setRowCount(0);
+
}
//判断是否查询到了满足条件的书籍信息
+
});</nowiki>
if(books==null||books.size()==0) {
+
 
JOptionPane.showMessageDialog(frame, "没有满足条件的书籍信息","警告信息",JOptionPane.WARNING_MESSAGE);
+
为“查询”按钮添加响应事件
return;
+
 
}
+
<nowiki>btnNewButton.addActionListener(new ActionListener() {
for(int i=0;i<books.size();i++) {
+
public void actionPerformed(ActionEvent arg0) {
Book book=books.get(i);
+
                String gName = textField.getText();
 +
JOptionPane.showMessageDialog(null, gName, "信息", JOptionPane.INFORMATION_MESSAGE);
 +
Goods mygoods = new Goods("01",gName,15.0f,2);
 +
ArrayList<Goods> goods=new ArrayList<>();
 +
goods.add(mygoods);
 +
showGoods(goods);
 +
}
 +
});</nowiki>
 +
 
 +
<nowiki>
 +
private void showGoods(ArrayList<Goods> goods){
 +
    //在表格中显示数据
 +
DefaultTableModel dt=(DefaultTableModel) table.getModel();
 +
dt.setRowCount(0);
 +
 +
for(int i=0;i<goods.size();i++) {
 +
Goods g=goods.get(i);
 
dt.insertRow(i, new Object[] {
 
dt.insertRow(i, new Object[] {
book.getBid(),book.getName(),book.getAuthor(),book.getNumber(),
+
g.getId(),g.getName(),g.getNum(),g.getPrice(),
book.getCategory().toString()
+
 
});
 
});
 
}
 
}
}  
+
    }</nowiki>
第四步:为查询按钮添加事件处理程序
+
 
btnQuery.addActionListener(e->{
+
==程序代码==
String name=txtBookName.getText();
+
<nowiki>package main;
int category=cboCategory.getSelectedIndex();
+
 
//显示书籍
+
import java.awt.*;
showBooks(name,category);
 
});</nowiki>
 
  
第五步:设置初始化窗口时,加载所有数据
+
import javax.swing.*;
 +
import javax.swing.table.DefaultTableModel;
  
showBooks(null,0);
 
  
==程序代码==
 
<nowiki>public class BookListForm {
 
  
 +
/*实训:Java任务:图书信息检索  (代码编程版) */
 +
public class BookListForm  {
 
private JFrame frame;
 
private JFrame frame;
 
private JLabel lblName;
 
private JLabel lblName;
 
private JLabel lblCity;
 
private JLabel lblCity;
 +
 
private JTextField txtBookName;
 
private JTextField txtBookName;
 
private JLabel lblCategory;
 
private JLabel lblCategory;
 
private JTable tblBook;
 
private JTable tblBook;
 
public JFrame getFrame() {
 
return frame;
 
}
 
 
 
/**
 
/**
* Launch the application.
+
* 构造函数
*/
 
public static void main(String[] args) {
 
EventQueue.invokeLater(new Runnable() {
 
public void run() {
 
try {
 
BookListForm window = new BookListForm();
 
window.frame.setVisible(true);
 
} catch (Exception e) {
 
e.printStackTrace();
 
}
 
}
 
});
 
}
 
 
 
/**
 
* Create the application.
 
 
*/
 
*/
 
public BookListForm() {
 
public BookListForm() {
 
 
initialize();
 
initialize();
setCenter(frame);
 
}
 
private void showBooks(String name,int category) {
 
BookDao dao=new BookDaoTesting();
 
List<Book> books=dao.queryBook(name, category);
 
//在表格中显示数据
 
DefaultTableModel dt=(DefaultTableModel) tblBook.getModel();
 
dt.setRowCount(0);
 
//判断是否查询到了满足条件的书籍信息
 
if(books==null||books.size()==0) {
 
JOptionPane.showMessageDialog(frame, "没有满足条件的书籍信息","警告信息",JOptionPane.WARNING_MESSAGE);
 
return;
 
}
 
for(int i=0;i<books.size();i++) {
 
Book book=books.get(i);
 
dt.insertRow(i, new Object[] {
 
book.getBid(),book.getName(),book.getAuthor(),book.getNumber(),
 
book.getCategory().toString()
 
});
 
}
 
 
}
 
}
 +
 
/**
 
/**
* Initialize the contents of the frame.
+
* 窗体初始化
 
*/
 
*/
 
private void initialize() {
 
private void initialize() {
 
frame = new JFrame();
 
frame = new JFrame();
frame.setResizable(false);
+
frame.getContentPane().setLayout(null);
+
frame.setResizable(true);
frame.setTitle("\u7535\u5546\u8D2D\u7269\u5E73\u53F0-\u5546\u54C1\u67E5\u8BE2\u9875\u9762");
+
//frame.setLayout(null);
frame.setBounds(100, 100, 550, 450);
+
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
 
+
//上半部分
JLabel lblWelcome = new JLabel("您好,");
+
JPanel  panel1=new JPanel();
lblWelcome.setFont(new Font("微软雅黑", Font.PLAIN, 14));
+
panel1.setLayout(null);
lblWelcome.setBounds(10, 10, 42, 15);
+
panel1.setBounds(0, 0, 550, 45);
frame.getContentPane().add(lblWelcome);
+
 
+
lblName = new JLabel("您好");
lblName = new JLabel("");
+
lblName.setBounds(10, 10, 131, 15);
lblName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
+
panel1.add(lblName);
lblName.setBounds(55, 10, 91, 15);
+
frame.getContentPane().add(lblName);
 
 
 
 
lblCity = new JLabel("来自于:");
 
lblCity = new JLabel("来自于:");
lblCity.setFont(new Font("微软雅黑", Font.PLAIN, 14));
+
lblCity.setBounds(271, 10, 90, 15);
lblCity.setBounds(434, 10, 100, 15);
+
panel1.add(lblCity);
frame.getContentPane().add(lblCity);
+
 
 
 
JSeparator separator = new JSeparator();
 
JSeparator separator = new JSeparator();
separator.setBounds(10, 35, 524, 2);
+
separator.setBounds(10, 35, 550, 10);
frame.getContentPane().add(separator);
+
panel1.add(separator);
 
 
JLabel lblBookName = new JLabel("书籍名:");
+
frame.getContentPane().add(panel1);
lblBookName.setBounds(10, 47, 54, 21);
+
/*
frame.getContentPane().add(lblBookName);
+
String[] names = { "姓名", "语文", "数学", "总分", "作弊" };
 +
Object[][] scores = { { "张三", new Integer(66), new Integer(32), new Integer(98), new Boolean(false) },
 +
{ "李四", new Integer(82), new Integer(69), new Integer(128), new Boolean(true) }, };
 +
JTable table=new JTable(scores,names);//创建表格对象
 
 
txtBookName = new JTextField();
+
JScrollPane scrollPane = new JScrollPane(table);//将表格添加到(滚动)面板中
txtBookName.setBounds(65, 47, 133, 21);
+
table.setFillsViewportHeight(true);
frame.getContentPane().add(txtBookName);
+
frame.add(scrollPane,BorderLayout.CENTER);
txtBookName.setColumns(20);
 
 
 
lblCategory = new JLabel("分类:");
+
*/
lblCategory.setBounds(226, 47, 66, 21);
 
frame.getContentPane().add(lblCategory);
 
 
 
JComboBox cboCategory = new JComboBox();
+
JPanel panel2=new JPanel();
cboCategory.setModel(new DefaultComboBoxModel(new String[] {"-请选择-", "工具类>软件编程", "小说类>历史"}));
+
panel2.setLayout(null);
cboCategory.setBounds(260, 47, 147, 21);
+
panel2.setBounds(0, 45, 550, 20);
frame.getContentPane().add(cboCategory);
 
 
 
 +
//书籍名的 标签
 +
JLabel lblBookName = new JLabel("书籍名:");
 +
lblBookName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
 +
lblBookName.setBounds(10, 2, 50, 20);
 +
panel2.add(lblBookName);
 +
//输入书籍名的文本框
 +
txtBookName = new JTextField();
 +
txtBookName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
 +
txtBookName.setBounds(65, 2, 130, 20);
 +
panel2.add(txtBookName);
 +
txtBookName.setColumns(10);
 +
 +
//分类的标签
 +
JLabel lblCategory = new JLabel("分类:");
 +
lblCategory.setFont(new Font("微软雅黑", Font.PLAIN, 14));
 +
lblCategory.setBounds(225, 2, 65, 20);
 +
panel2.add(lblCategory);
 +
 +
//选择分类的复选框
 +
    JComboBox cboCategory= new JComboBox();
 +
cboCategory.setModel(new DefaultComboBoxModel(new String[] {"- 请选择 -", "工具类 > 软件编程", "小说类 > 历史"}));
 +
cboCategory.setFont(new Font("微软雅黑", Font.PLAIN, 14));
 +
cboCategory.setBounds(260, 2, 145, 20);
 +
panel2.add(cboCategory);
 
JButton btnQuery = new JButton("查询");
 
JButton btnQuery = new JButton("查询");
btnQuery.setBounds(441, 46, 78, 23);
+
btnQuery.setBounds(441, 2, 78, 20);
frame.getContentPane().add(btnQuery);
+
panel2.add(btnQuery);
btnQuery.addActionListener(e->{
+
String name=txtBookName.getText();
+
frame.getContentPane().add(panel2);
int category=cboCategory.getSelectedIndex();
 
//显示书籍
 
showBooks(name,category);
 
});
 
 
 
 
JScrollPane scrollPane = new JScrollPane();
 
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 89, 524, 266);
+
scrollPane.setBounds(10, 90, 550, 265);
 
frame.getContentPane().add(scrollPane);
 
frame.getContentPane().add(scrollPane);
 
 
tblBook = new JTable();
+
//tblBook = new JTable();
tblBook.setModel(new DefaultTableModel(
+
String[] names = { "编号","商品名称", "价格", "数量", "标签" };
new Object[][] {
+
Object[][] scores = { { "01", "think in java", new Float(50.0f), new Integer(50), "软件编程" },
},
+
{ "03", "think in java", new Float(50.0f), new Integer(40), "软件编程"},
new String[] {
+
{"03", "射雕英雄传", new Float(30.0f), new Integer(30), "文学经典" },
"\u4E66\u7C4D\u7F16\u53F7", "\u4E66\u7C4D\u540D\u79F0", "\u4E66\u7C4D\u4F5C\u8005", "\u5E93\u5B58", "\u4E66\u7C4D\u5206\u7C7B"
+
};
}
+
));
+
tblBook.getColumnModel().getColumn(0).setPreferredWidth(70);
+
JTable tblBook=new JTable(scores,names);//创建表格对象
tblBook.getColumnModel().getColumn(1).setPreferredWidth(150);
 
tblBook.getColumnModel().getColumn(2).setPreferredWidth(70);
 
tblBook.getColumnModel().getColumn(3).setPreferredWidth(70);
 
tblBook.getColumnModel().getColumn(4).setPreferredWidth(164);
 
 
scrollPane.setViewportView(tblBook);
 
scrollPane.setViewportView(tblBook);
//初始化显示所有书籍
+
showBooks(null,0);
+
JPanel panel3=new JPanel();
 +
panel3.setLayout(null);
 +
panel3.setBounds(0, 355, 550, 45);
 
 
 
JLabel lblCart = new JLabel("购物车商品数:");
 
JLabel lblCart = new JLabel("购物车商品数:");
lblCart.setBounds(10, 379, 91, 15);
+
lblCart.setBounds(10, 10, 91, 15);
frame.getContentPane().add(lblCart);
+
panel3.add(lblCart);
 +
 
 
 
JLabel lblQuantity = new JLabel("0件");
 
JLabel lblQuantity = new JLabel("0件");
lblQuantity.setBounds(104, 379, 54, 15);
+
lblQuantity.setBounds(104, 10, 54, 15);
frame.getContentPane().add(lblQuantity);
+
panel3.add(lblQuantity);
 +
 
 
 
JLabel lblCartDetail = new JLabel("查看详情");
 
JLabel lblCartDetail = new JLabel("查看详情");
 
lblCartDetail.setForeground(Color.BLUE);
 
lblCartDetail.setForeground(Color.BLUE);
lblCartDetail.setBounds(179, 379, 54, 15);
+
lblCartDetail.setBounds(179, 10, 54, 15);
frame.getContentPane().add(lblCartDetail);
+
panel3.add(lblCartDetail);
 
 
 
JButton btnBuy = new JButton("购买");
 
JButton btnBuy = new JButton("购买");
btnBuy.setBounds(441, 375, 78, 23);
+
btnBuy.setBounds(441, 10, 78, 23);
frame.getContentPane().add(btnBuy);
+
panel3.add(btnBuy);
 
+
frame.getContentPane().add(panel3);
 +
 +
 +
frame.setTitle("电商购物平台-商品查询页面");
 +
frame.setBounds(100, 100, 550, 450);
 +
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 +
frame.setVisible(true);
 +
setCenter(frame);
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 
}
 
}
 
+
 
/**
 
/**
 
* 窗体自动居中
 
* 窗体自动居中
第348行: 第368行:
 
int width = window.getWidth();
 
int width = window.getWidth();
 
int height = window.getHeight();
 
int height = window.getHeight();
window.setBounds((d.width - width) / 2, (d.height - height) / 2, width,
+
window.setBounds((d.width-width)/2, (d.height-height)/2, width, height);
height);
+
}
 +
public JFrame getFrame() {
 +
return frame;
 +
}
  
 +
public void setFrame(JFrame frame) {
 +
this.frame = frame;
 +
}
 +
public static void main(String[] args) {
 +
 +
BookListForm bookForm = new BookListForm();
 +
   
 +
 
}
 
}
 +
 +
 
}
 
}
 
</nowiki>
 
</nowiki>
 +
 +
返回 [[Java程序设计]]

2020年6月12日 (五) 02:11的最新版本

任务描述

任务描述:实现商品检索界面

客户端界面

客户端实现商品的查询、购买,和查改购买情况

Java9-2.png

管理端

管理端实现商品的上架、下架、查询和修改功能

Java9-37.png

任务实现

初始代码

下面以客户端为例,讲解实现的步骤。

第一步:启动Eclipse,导入Java Project,工程名为Project0901。

package main;

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;

/*实训:Java任务:图书信息检索*/
public class BookListForm  {
	private JFrame frame;	
	/**
	 * 构造函数
	 */
	public BookListForm() {
		initialize();
	}
	
	/**
	 * 窗体初始化
	 */
	private void initialize() {
		frame = new JFrame();
		
		frame.setResizable(false);
		frame.getContentPane().setLayout(null);
		frame.setTitle("电商购物平台-商品查询页面");
		frame.setBounds(100, 100, 434, 430);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.setVisible(true);
		setCenter(frame);
	}
	
	/**
	 * 窗体自动居中
	 * 
	 * @param window
	 */
	private void setCenter(JFrame window) {
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		int width = window.getWidth();
		int height = window.getHeight();
		window.setBounds((d.width-width)/2, (d.height-height)/2, width, height);
	}
	public JFrame getFrame() {
		return frame;
	}

	public void setFrame(JFrame frame) {
		this.frame = frame;
	}
	public static void main(String[] args) {
		
		BookListForm bookForm = new BookListForm();
     
		
	}
	
	
}

布局面板

第二步:完善商品信息检索界面。

1. 在BookListForm类上单击右键,选择 Open With WindowBuilder Editor,如图2所示

Java9-3.png

图 2 打开菜单

在类编写窗口的底部选择【Design】标签。

Java9-4.png

图 3

Java9-14.png

向面板中添加元素

2.按照下图,把对应控件拖入窗体到指定位置,完成商品检索区域的构建,并设置各个控件的【Variable】属性:

Java9-13.png

图 4 组件设置


分类下拉框的设置

  • 选中分类组合框,在左侧的Properties窗口中找到Model这栏,如图:

Java9-6.png

图 5 组合框设置

  • 点击上图的“…”添加如下图所示的三个分类:

Java9-7.png

图 6 组合框设置

表格的创建

按照下图,完成商品显示区域的构建:

Java9-8.png

图 1-8

  • 把JScrollPane拖到界面中,并拉伸成上图大小。
  • 把商品列表JTable嵌到JScrollPane:必须要把JTable控件拖入JScrollPane的Viewport区域中才能显示,拖入的区域如下图中的黄色区域所示:

Java9-9.png

图 7 JScollPane布局

  • 设置表头标题:

点击左侧控件列表中的JTable控件。

Java9-10.png

图 1-10

在属性列表中找到【model】,点击【…】打开表格编辑框:

Java9-11.png

图 8 表格编辑对话框

点击【Columns】区域的【Insert】插入一列, 在底部的列属性区域中设置【Title】为:书籍分类,设置列宽【Pref.width】为:164

按照以上步骤,依次添加如下表头信息:

列名:库存,列宽:70
列名:书籍作者,列宽:70
列名:书籍名称,列宽:150
列名:书籍编号,列宽:70

下部购买区域的创建

5. 按照下图,完成商品购买区域的构建:

Java9-12.png

图 9 商品购买区域

事件响应

为“查询”按钮添加响应事件

JButton btnNewButton = new JButton("\u67E5\u8BE2");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
                String gName = textField.getText();						
				JOptionPane.showMessageDialog(null, gName, "信息", JOptionPane.INFORMATION_MESSAGE);
			}
		});

为“查询”按钮添加响应事件

btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
                String gName = textField.getText();						
				JOptionPane.showMessageDialog(null, gName, "信息", JOptionPane.INFORMATION_MESSAGE);
				Goods mygoods = new Goods("01",gName,15.0f,2);
				ArrayList<Goods> goods=new ArrayList<>();
				goods.add(mygoods);
				showGoods(goods);
			}
		});
	private void showGoods(ArrayList<Goods> goods){
    	//在表格中显示数据
 		DefaultTableModel dt=(DefaultTableModel) table.getModel();
 		dt.setRowCount(0);
 		
 		for(int i=0;i<goods.size();i++) {
			Goods g=goods.get(i);
			dt.insertRow(i, new Object[] {
					g.getId(),g.getName(),g.getNum(),g.getPrice(),
					
			});
		}
    }

程序代码

package main;

import java.awt.*;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;



/*实训:Java任务:图书信息检索  (代码编程版) */
public class BookListForm  {
	private JFrame frame;
	private JLabel lblName;
	private JLabel lblCity;
	
	private JTextField txtBookName;
	private JLabel lblCategory;
	private JTable tblBook;
	/**
	 * 构造函数
	 */
	public BookListForm() {
		initialize();
	}
	
	/**
	 * 窗体初始化
	 */
	private void initialize() {
		frame = new JFrame();
		
		frame.setResizable(true);
		//frame.setLayout(null);
		frame.setLayout(null);
		
		//上半部分
		JPanel  panel1=new JPanel();
		panel1.setLayout(null);
		panel1.setBounds(0, 0, 550, 45);
		
		lblName = new JLabel("您好");
		lblName.setBounds(10, 10, 131, 15);
		panel1.add(lblName);
		
		lblCity = new JLabel("来自于:");
		lblCity.setBounds(271, 10, 90, 15);
		panel1.add(lblCity);
		
		JSeparator separator = new JSeparator();
		separator.setBounds(10, 35, 550, 10);
		panel1.add(separator);
		
		frame.getContentPane().add(panel1);
		/*
		String[] names = { "姓名", "语文", "数学", "总分", "作弊" };
		Object[][] scores = { { "张三", new Integer(66), new Integer(32), new Integer(98), new Boolean(false) },
				{ "李四", new Integer(82), new Integer(69), new Integer(128), new Boolean(true) }, };
		JTable table=new JTable(scores,names);//创建表格对象
		
		JScrollPane scrollPane = new JScrollPane(table);//将表格添加到(滚动)面板中
		table.setFillsViewportHeight(true);
		frame.add(scrollPane,BorderLayout.CENTER);
		
		*/
		
		JPanel panel2=new JPanel();
		panel2.setLayout(null);
		panel2.setBounds(0, 45, 550, 20);
		
		//书籍名的 标签
		JLabel lblBookName = new JLabel("书籍名:");
		lblBookName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
		lblBookName.setBounds(10, 2, 50, 20);
		panel2.add(lblBookName);
				//输入书籍名的文本框
		txtBookName = new JTextField();
		txtBookName.setFont(new Font("微软雅黑", Font.PLAIN, 14));
		txtBookName.setBounds(65, 2, 130, 20);
		panel2.add(txtBookName);
		txtBookName.setColumns(10);
						
		//分类的标签
		JLabel lblCategory = new JLabel("分类:");
		lblCategory.setFont(new Font("微软雅黑", Font.PLAIN, 14));
		lblCategory.setBounds(225, 2, 65, 20);
		panel2.add(lblCategory);
				
		//选择分类的复选框
	    JComboBox cboCategory= new JComboBox();
		cboCategory.setModel(new DefaultComboBoxModel(new String[] {"- 请选择 -", "工具类 > 软件编程", "小说类 > 历史"}));
		cboCategory.setFont(new Font("微软雅黑", Font.PLAIN, 14));
		cboCategory.setBounds(260, 2, 145, 20);
		panel2.add(cboCategory);
		JButton btnQuery = new JButton("查询");
		btnQuery.setBounds(441, 2, 78, 20);
		panel2.add(btnQuery);
		
		frame.getContentPane().add(panel2);	
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(10, 90, 550, 265);
		frame.getContentPane().add(scrollPane);
		
		//tblBook = new JTable();
		String[] names = { "编号","商品名称", "价格", "数量",  "标签" };
		Object[][] scores = { { "01", "think in java", new Float(50.0f), new Integer(50), "软件编程" },
				{ "03", "think in java", new Float(50.0f), new Integer(40), "软件编程"}, 
				{"03", "射雕英雄传", new Float(30.0f), new Integer(30), "文学经典" },
			};
		
		
		JTable tblBook=new JTable(scores,names);//创建表格对象
		scrollPane.setViewportView(tblBook);
		
		JPanel panel3=new JPanel();
		panel3.setLayout(null);
		panel3.setBounds(0, 355, 550, 45);
		
		JLabel lblCart = new JLabel("购物车商品数:");
		lblCart.setBounds(10, 10, 91, 15);
		panel3.add(lblCart);
		
		
		JLabel lblQuantity = new JLabel("0件");
		lblQuantity.setBounds(104, 10, 54, 15);
		panel3.add(lblQuantity);
		
		
		JLabel lblCartDetail = new JLabel("查看详情");
		lblCartDetail.setForeground(Color.BLUE);
		lblCartDetail.setBounds(179, 10, 54, 15);
		panel3.add(lblCartDetail);
		
		JButton btnBuy = new JButton("购买");
		btnBuy.setBounds(441, 10, 78, 23);
		panel3.add(btnBuy);
		frame.getContentPane().add(panel3);
		
		
		frame.setTitle("电商购物平台-商品查询页面");
		frame.setBounds(100, 100, 550, 450);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		setCenter(frame);
	
		
		
		
		
		
		
		
		
		
	}
	
	/**
	 * 窗体自动居中
	 * 
	 * @param window
	 */
	private void setCenter(JFrame window) {
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		int width = window.getWidth();
		int height = window.getHeight();
		window.setBounds((d.width-width)/2, (d.height-height)/2, width, height);
	}
	public JFrame getFrame() {
		return frame;
	}

	public void setFrame(JFrame frame) {
		this.frame = frame;
	}
	public static void main(String[] args) {
		
		BookListForm bookForm = new BookListForm();
     
		
	}
	
	
}

返回 Java程序设计