Java swing编程问题

triumphqi 2014-12-18 09:32:43
小弟最近学习javaSwing编程,遇到一个问题,希望各位大大能为我解惑

以下是部分代码

public class CarFrame extends JFrame {
private JTextField carfindT;
private JTextField cartrademarkT;
private JTextField carbrandT;
private JTextField carstyleT;
private JTextField carloadT;
private JTextField cardnT;
private JTextField LicenseNumbeT;
private JTextField linkPhoneT;
private JTextField carIsGoT;
private JTextField carlcstyleT;
private JTextField transtyleT;
private JTextField linkmanT;



/**
* Launch the application.
*/
public static void main(String[] args) {
CarFrame frame = new CarFrame();
frame.setVisible(true);
}

/**
* Create the frame.
*/
public CarFrame() {
setTitle("车辆管理");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 737, 458);
getContentPane().setLayout(null);

JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.setBounds(0, 10, 709, 400);
getContentPane().add(tabbedPane, BorderLayout.NORTH);

JScrollPane carfindPL = new JScrollPane();
tabbedPane.addTab("单个查询", null, carfindPL, null);
carfindPL.setLayout(null);

JLabel carfindLB = new JLabel("id");
carfindLB.setBounds(37, 50, 54, 15);
carfindPL.add(carfindLB);

carfindT = new JTextField();
carfindT.setBounds(101, 47, 122, 21);
carfindPL.add(carfindT);
carfindT.setColumns(10);

JButton carfindBT = new JButton("确定");
carfindBT.addActionListener(new ActionListener() {

private JTable table;
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
carfindT.getDocument().addDocumentListener(new DocumentListener() {
String ids;
@Override
public void removeUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
ids = carfindT.getText().trim();
carfindPL.remove(table);
}

@Override
public void insertUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
ids = carfindT.getText().trim();
carfindPL.remove(table);
}

@Override
public void changedUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
ids = carfindT.getText().trim();
carfindPL.remove(table);
}
});
String ids = carfindT.getText().trim();
int id = Integer.parseInt(ids);
CarMessage car = new CarMessageJDBCDao().findCarMessageById(id);
String[] colHeads={"id","tradeMark","brand","style","carLoad","driverName",
"licenseNumber","licenseStyle","transportStyle","linkMan",
"linkPhone","isGo"};
Object[][] data=new Object[1][];
data[0]=new Object[12];
data[0][0]=car.getId();
data[0][1]=car.getTradeMark();
data[0][2]=car.getBrand();
data[0][3]=car.getStyle();
data[0][4]=car.getCarLoad();
data[0][5]=car.getDriverName();
data[0][6]=car.getLicenceNumber();
data[0][7]=car.getLicenseStyle();
data[0][8]=car.getTransportStyle();
data[0][9]=car.getLinkMan();
data[0][10]=car.getLinkPhone();
data[0][11]=car.getIsGo();
table=new JTable(data,colHeads);
table.setSize(carfindPL.getWidth(), 15);
table.setLocation(0,100);
carfindPL.add(table);
carfindPL.repaint();
}
});
carfindBT.setBounds(263, 46, 93, 23);
carfindPL.add(carfindBT);
}
}
现在运行的效果是这样的:

出来的table没有表头,求教各路大大怎么解决
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
triumphqi 2014-12-20
  • 打赏
  • 举报
回复
引用 3 楼 qu1210 的回复:
1、用JScrollPane承接Table,不用JPanel等;
2、用JScrollPane的构造函数构建,或者用scrollPanel.setViewportView(table);
不用scrollPanel.add(table);
3、承接Table的父容器的布局管理器不能设置为null,其实,对于JScrollPane的布局,有专门的
scroll的布局,也可以用,简便的话,不设置布局;不要Null;


但是我这样改后出现了这种现象------怎么办呢
qzw1210 2014-12-20
  • 打赏
  • 举报
回复
可以贴源码吗? 个人建议,可以把单个查询和全部查询放一个JTabbedPane里面。避免来切换,单查是多查的一种形式。
qzw1210 2014-12-20
  • 打赏
  • 举报
回复
大概明白你的意思了,你是说只有单个查询的时候不出现表头吧。
qzw1210 2014-12-19
  • 打赏
  • 举报
回复
1、用JScrollPane承接Table,不用JPanel等; 2、用JScrollPane的构造函数构建,或者用scrollPanel.setViewportView(table); 不用scrollPanel.add(table); 3、承接Table的父容器的布局管理器不能设置为null,其实,对于JScrollPane的布局,有专门的 scroll的布局,也可以用,简便的话,不设置布局;不要Null;
evangelionxb 2014-12-19
  • 打赏
  • 举报
回复
别使用 table.setLocation(0,100); 使用 JScrollPane scrollPane=new JScrollPane(table);
triumphqi 2014-12-19
  • 打赏
  • 举报
回复
求大神帮助啊啊

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧