已有101人关注
商品查询的窗口最大化后,怎样让数据窗口也随着最大化
发表在Java图书答疑 2009-11-18
是否精华
版块置顶:
商品查询的窗口最大化后,怎样让数据窗口也随着最大化, 应该将下面的代码修改成怎样的?即table 窗口也变大。详见附件
public class ShangPinChaXun extends JInternalFrame {
private JTable table;
private JTextField conditionContent;
private JComboBox conditionOperation;
private JComboBox conditionName;
public ShangPinChaXun() {
super();
setMaximizable(true);
setIconifiable(true);
setClosable(true);
setTitle("商品信息查询");
getContentPane().setLayout(new GridBagLayout());
setBounds(100, 100, 609, 375);

table = new JTable();
table.setEnabled(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
final DefaultTableModel dftm = (DefaultTableModel) table.getModel();
String[] tableHeads = new String[]{"客户ID", "商品名称", "简称", "产地", "单位",
"规格", "包装", "批号", "批准文号", "供应商全称", "备注",};
dftm.setColumnIdentifiers(tableHeads);

final JScrollPane scrollPane = new JScrollPane(table);
final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();
gridBagConstraints_6.weighty = 1.0;
gridBagConstraints_6.anchor = GridBagConstraints.NORTH;
gridBagConstraints_6.insets = new Insets(0, 10, 0, 10);
gridBagConstraints_6.fill = GridBagConstraints.BOTH;
gridBagConstraints_6.gridwidth = 6;
gridBagConstraints_6.gridy = 1;
gridBagConstraints_6.gridx = 0;
getContentPane().add(scrollPane, gridBagConstraints_6);

setupComponet(new JLabel(" 选择查询条件:"), 0, 0, 1, 1, false);
conditionName = new JComboBox();
conditionName.setModel(new DefaultComboBoxModel(new String[]{"商品名称",
"供应商全称", "产地", "规格"}));
setupComponet(conditionName, 1, 0, 1, 30, true);

conditionOperation = new JComboBox();
conditionOperation.setModel(new DefaultComboBoxModel(new String[]{"等于",
"包含"}));
setupComponet(conditionOperation, 2, 0, 1, 30, true);

conditionContent = new JTextField();
setupComponet(conditionContent, 3, 0, 1, 140, true);

final JButton queryButton = new JButton();
queryButton.addActionListener(new QueryAction(dftm));
setupComponet(queryButton, 4, 0, 1, 1, false);
queryButton.setText("查询");

final JButton showAllButton = new JButton();
showAllButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
conditionContent.setText("");
List list = Dao.getSpInfos();
updateTable(list, dftm);
}
});
setupComponet(showAllButton, 5, 0, 1, 1, false);
showAllButton.setText("显示全部数据");
}

private void updateTable(List list, final DefaultTableModel dftm) {
int num = dftm.getRowCount();
for (int i = 0; i < num; i++)
dftm.removeRow(0);
Iterator iterator = list.iterator();
TbSpinfo spInfo;
while (iterator.hasNext()) {
List info = (List) iterator.next();
Item item = new Item();
item.setId((String) info.get(0));
item.setName((String) info.get(1));
spInfo = Dao.getSpInfo(item);
Vector rowData = new Vector();
rowData.add(spInfo.getId().trim());
rowData.add(spInfo.getSpname().trim());
rowData.add(spInfo.getJc());
rowData.add(spInfo.getCd());
rowData.add(spInfo.getDw());
rowData.add(spInfo.getGg());
rowData.add(spInfo.getBz());
rowData.add(spInfo.getPh());
rowData.add(spInfo.getPzwh());
rowData.add(spInfo.getGysname());
rowData.add(spInfo.getMemo());
dftm.addRow(rowData);
}
}
// 设置组件位置并添加到容器中
private void setupComponet(JComponent component, int gridx, int gridy,
int gridwidth, int ipadx, boolean fill) {
final GridBagConstraints gridBagConstrains = new GridBagConstraints();
gridBagConstrains.gridx = gridx;
gridBagConstrains.gridy = gridy;
if (gridwidth > 1)
gridBagConstrains.gridwidth = gridwidth;
if (ipadx > 0)
gridBagConstrains.ipadx = ipadx;
gridBagConstrains.insets = new Insets(5, 1, 3, 1);
if (fill)
gridBagConstrains.fill = GridBagConstraints.HORIZONTAL;
getContentPane().add(component, gridBagConstrains);
}
private final class QueryAction implements ActionListener {
private final DefaultTableModel dftm;
private QueryAction(DefaultTableModel dftm) {
this.dftm = dftm;
}
public void actionPerformed(final ActionEvent e) {
String conName, conOperation, content;
conName = conditionName.getSelectedItem().toString().trim();
conOperation = conditionOperation.getSelectedItem().toString();
content = conditionContent.getText().trim();
List list = null;
list = searchInfo(conName, conOperation, content, list);
updateTable(list, dftm);
}
private List searchInfo(String conName, String conOperation,
String content, List list) {
String sql = "select * from Tb_Spinfo where ";
if (conOperation.equals("等于")) {
if (conName.equals("商品名称"))
list = Dao.findForList(sql + "spname='" + content + "'");
if (conName.equals("供应商全称"))
list = Dao.findForList(sql + "gysname='" + content + "'");
if (conName.equals("产地"))
list = Dao.findForList(sql + "cd='" + content + "'");
if (conName.equals("规格"))
list = Dao.findForList(sql + "gg='" + content + "'");
} else {
if (conName.equals("商品名称"))
list = Dao.findForList(sql + "spname like '%" + content
+ "%'");
if (conName.equals("供应商全称"))
list = Dao.findForList(sql + "gysname like '%" + content
+ "%'");
if (conName.equals("产地"))
list = Dao.findForList(sql + "cd like '%" + content + "%'");
if (conName.equals("规格"))
list = Dao.findForList(sql + "gg like '%" + content + "%'");
}
return list;
}
}
}

分享到:
精彩评论 5
东北虎
学分:0 LV1
2009-11-20
沙发
您好,这不是图书中程序出现的问题,如果您不是很急的话,过些天我们会抽时间帮您看一下。
hanqg
学分:0 LV1
2009-11-21
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
您好,这不是图书中程序出现的问题,如果您不是很急的话,过些天我们会抽时间帮您看一下。
[/FIELDSET]

回复:
有一点急,尽量早一点抽时间帮我看一看,谢谢!
  
东北虎
学分:0 LV1
2009-11-21
地板
好的,我们一有时间,一定会尽快帮您看一下的。
hanqg
学分:0 LV1
2009-12-07
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
好的,我们一有时间,一定会尽快帮您看一下的。
[/FIELDSET]

回复:
      等待ing......
  
东北虎
学分:0 LV1
2009-12-16
5L
对不起,我们现在真的很忙,再过几天如果不是很忙的话一定会帮您看一下的。
首页上一页 1 下一页尾页 5 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照