这是我Java作业里的代码
package com.ClothingManagement.controal;
import com.ClothingManagement.*;
import com.ClothingManagement.worker.EnterWindows;
import com.common.DataOption;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Dialog.ModalExclusionType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.JRadioButton;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
public class Management extends JFrame implements ActionListener {
JRadioButton radio1;
JRadioButton radio2;
JRadioButton radio3;
JTextField itemnumber_t;
JComboBox size_t;
JTextField rname_t;
JTextField brand_t;
JButton submit;
JButton submit2;
JButton cancel;
JTable table;
JTable table2;

public  Management() {

//1.设置窗体大小和标题
JFrame jf=new JFrame("服装管理系统");
jf.setPreferredSize(new Dimension(1400, 800));
//2.设置关闭窗口就是关闭程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//最精准的布局模式空布局
jf.setLayout(null);
//设置定位
table=new JTable();
table.setBounds(0,0,1355,600);
table.setPreferredSize(new Dimension(1355,500));
JScrollPane jp = new JScrollPane(table);
    jp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jp.setBounds(0, 120,1375, 600);
jp.setSize(new Dimension(1375,600));
jf.add(jp);
jp.add(table); 
JLabel jl=new JLabel("服装管理系统",JLabel.CENTER);
jl.setPreferredSize(new Dimension(1400, 30));
jf.add(jl);
jl.setBounds(0,0,1300, 30);
jl.setFont(new Font("幼圆", Font.BOLD, 28));
jl.setForeground(Color.decode("#8E8E38"));
//菜单栏
//新建一个菜单条
JMenuBar jb=new JMenuBar();
jf.add(jb);
jb.setBounds(0,40, 1400, 30);
jb.setBackground(Color.decode("#8FBC8F"));
//新建一个菜单选项
JMenu jmenu=new JMenu("首页");
jmenu.setPreferredSize(new Dimension(100, 30));
jmenu.setForeground(Color.white);
jb.add(jmenu);
//新建一个菜单项
//新建一个菜单选项
JMenu jmenu3=new JMenu("更多");
jmenu3.setForeground(Color.white);
jmenu3.setPreferredSize(new Dimension(100, 30));
jb.add(jmenu3);
//新建一个菜单项
JMenuItem jm0=new JMenuItem("退出登陆");
jm0.addActionListener(this);
JMenuItem jm1=new JMenuItem("使用教程");
jm1.addActionListener(this);
JMenuItem jm2=new JMenuItem("增改库存页面");
jm2.addActionListener(this);
jmenu3.add(jm0);
jmenu3.add(jm1);
jmenu3.add(jm2);
JLabel jl2=new JLabel("服饰:",JLabel.CENTER);
jl2.setPreferredSize(new Dimension(40, 40));
jf.add(jl2);
jl2.setBounds(10,70,40, 40);
JPanel jrp=new JPanel();
jf.add(jrp);
jrp.setBounds(10,70,250, 30);
radio1=new JRadioButton("上装");
radio1.setPreferredSize(new Dimension(60, 30));
radio2=new JRadioButton("下装");
radio2.setPreferredSize(new Dimension(60, 30));
radio3=new JRadioButton("所有");
radio3.setPreferredSize(new Dimension(60, 30));
jrp.add(radio1);
jrp.add(radio2);
jrp.add(radio3);
radio3.setSelected(true);
ButtonGroup  bg=new ButtonGroup();
bg.add(radio1);
bg.add(radio2);
bg.add(radio3);
JLabel itemnumber=new JLabel("款号:",JLabel.CENTER);
itemnumber.setPreferredSize(new Dimension(40, 40));
jf.add(itemnumber);
itemnumber.setBounds(10,70,550, 40);
itemnumber_t=new JTextField();
itemnumber_t.setPreferredSize(new Dimension(120, 30));
jf.add(itemnumber_t);
itemnumber_t.setBounds(310,75,120, 30);
JLabel rname=new JLabel("服饰全称:",JLabel.CENTER);
rname.setPreferredSize(new Dimension(40, 40));
jf.add(rname);
rname.setBounds(10,70,950, 40);
rname_t=new JTextField();
rname_t.setPreferredSize(new Dimension(120, 30));
jf.add(rname_t);
rname_t.setBounds(520,75,120, 30);
JLabel brand=new JLabel("品牌:",JLabel.CENTER);
brand.setPreferredSize(new Dimension(40, 40));
jf.add(brand);
brand.setBounds(10,70,1350, 40);
brand_t=new JTextField();
brand_t.setPreferredSize(new Dimension(120, 30));
jf.add(brand_t);
brand_t.setBounds(710,75,120, 30);
JLabel size=new JLabel("尺码:",JLabel.CENTER);
size.setPreferredSize(new Dimension(40, 40));
jf.add(size);
size.setBounds(10,70,1720, 40);
size_t=new JComboBox(new String[]{"","XS","S","M","L","XL","XXL"});
size_t.setPreferredSize(new Dimension(30, 30));
jf.add(size_t);
size_t.setBounds(900,75,80, 30);
submit =new JButton("查询");
submit.setPreferredSize(new Dimension(30,30));
jf.add(submit);
submit.setBounds(1000, 75, 80, 30);
submit.addActionListener(this);
submit2 =new JButton("售出");
submit2.setPreferredSize(new Dimension(30,30));
jf.add(submit2);
submit2.setBounds(1100, 75, 80, 30);
submit2.addActionListener(this);
//3.设置窗体可见
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args) {
new Management();
}
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane jop=new JOptionPane();
String str=null;
try {
Connection con=DataOption.getConnection();
//Statement stat=(Statement) con.createStatement();//3
String clothingtype="",itemnumber,size,rname,brand,price,jianshu,ID;;
//user_id=String.valueOf(new Date().getTime());
if (radio1.isSelected())
clothingtype=radio1.getText();
else if(radio2.isSelected())
clothingtype=radio2.getText();
else if(radio3.isSelected())
clothingtype="";
itemnumber=itemnumber_t.getText();
size=(String) size_t.getSelectedItem();
rname=rname_t.getText();
brand=brand_t.getText();
String sql="select * from management where 1=1 ";
/*if (user_id!=null && !user_id.equals(""))
sql=sql+" and user_id='"+user_id+"'";*/
if (clothingtype!=null && !clothingtype.equals(""))
sql=sql+" and clothingtype='"+clothingtype+"'";
if (itemnumber!=null && !itemnumber.equals(""))
sql=sql+" and itemnumber+ like '%"+itemnumber+"%'";
if (size!=null && !size.equals(""))
sql=sql+" and size='"+size+"'";
if (rname!=null && !rname.equals(""))
sql=sql+" and rname like '%"+rname+"%'";
if (brand!=null && !brand.equals(""))
sql=sql+" and brand like '%"+brand+"%'";
Statement stat=con.createStatement();//3
System.out.println(sql);
//PreparedStatement对象执行sql语句
ResultSet rs=stat.executeQuery(sql);
Vector tablev=new Vector();
while(rs.next())
{
//System.out.print(rs.getString("user_id")+" ");
Vector rowv=new Vector();
rowv.add(rs.getString("ID"));
rowv.add(rs.getString("clothingtype"));
rowv.add(rs.getString("itemnumber"));
rowv.add(rs.getString("size"));
rowv.add(rs.getString("rname"));
rowv.add(rs.getString("brand"));
rowv.add(rs.getString("price"));
rowv.add(rs.getString("jianshu"));
tablev.add(rowv);  
}
Vector titlev=new Vector();
titlev.add("ID");
titlev.add("服饰类型");
titlev.add("款号");
titlev.add("尺码");
titlev.add("服饰全称");
titlev.add("品牌");
titlev.add("价格");
titlev.add("件数");
DefaultTableModel tableModel=new DefaultTableModel(tablev,titlev);
table.setModel(tableModel);
rs.close();
con.close();
}
catch (Exception e) {
e.printStackTrace();
}
if(((JMenuItem)arg0.getSource()).getText().equals("退出登陆"))
   {
new EnterWindows();

}
else if(((JMenuItem)arg0.getSource()).getText().equals("使用教程"))
{   
this.setEnabled(false);
    this.setModalExclusionType(ModalExclusionType.NO_EXCLUDE);
new OperationDescription();
dispose();
}
else if(((JMenuItem)arg0.getSource()).getText().equals("增改库存页面"))
{
new AddFrame();
}
}
}

解决方案 »

  1.   

    jtable 的表头和内容要分别加入,没看到你加入了表头。
     jp.add(table.getTableHeader());
     jp.add(table);滑轮试试把下面的语句
    JScrollPane jp = new JScrollPane(table);
    jp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);改为下面看看
    table.setPreferredScrollableViewportSize(new Dimension( 800,  600));
    JScrollPane jp = new JScrollPane(table);
      

  2.   

    滑轮还是不行欸 然后表头用这种列表框也不行显示吗
    Vector tablev=new Vector();
    while(rs.next())
    {
    //System.out.print(rs.getString("user_id")+" ");
    Vector rowv=new Vector();
    rowv.add(rs.getString("ID"));
    rowv.add(rs.getString("clothingtype"));
    rowv.add(rs.getString("itemnumber"));
    rowv.add(rs.getString("size"));
    rowv.add(rs.getString("rname"));
    rowv.add(rs.getString("brand"));
    rowv.add(rs.getString("price"));
    rowv.add(rs.getString("jianshu"));
    tablev.add(rowv);  
    }
    Vector<String> titlev=new Vector<String>();
    titlev.add("ID");
    titlev.add("服饰类型");
    titlev.add("款号");
    titlev.add("尺码");
    titlev.add("服饰全称");
    titlev.add("品牌");
    titlev.add("价格");
    titlev.add("件数");
    DefaultTableModel tableModel=new DefaultTableModel(tablev,titlev);
    table.setModel(tableModel);
      

  3.   

    表头需要在table 初始化时就加入,你表头是后来添加的,这样应该是不行的。
      

  4.   

    用下布局管理器吧,你这里没有用布局管理器,jf.setLayout(null);,可你有很多地方用了布局管理器设置的属性,可能会无效