正在学习java,表头这个问题鼓捣了半天了,也没弄出来,求大家帮助~无尽感激了 package Table; import java.awt.Button; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class Table extends JFrame { final DefaultTableModel dt = new DefaultTableModel(); private JTable table; public Table(String title) { super(title); init(); } public void init() { JFrame frame = new JFrame(); JPanel panel = new JPanel(); dt.addColumn("会计期间号"); dt.addColumn("凭证类型编号"); dt.addColumn("凭证编号"); dt.addColumn("重复次数"); table = new JTable(dt) { @Override public boolean isCellEditable(int row, int column) { if(column==0) return true; else return false; } }; JScrollPane scrollPane = new JScrollPane(table); table.setBounds(3,25,450,200); panel.setBounds(0,0,550,300); table.setModel(dt); panel.add(table); this.getContentPane().add(new JScrollPane(table)); this.add(panel); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setBounds(300,100,550,300); this.setVisible(true); } public static void main(String[] args) { new Table("头部"); } } |
|
40分 |
楼主把:
this.add(panel); 改为: frame.add(panel); |
还有,楼主的类已经继承了JFrame?,所以就不用再重新JFrame frame = new JFrame();生成一个JFrame了,这样程序就只认新new出来的frame对象了,所以呢this.add(panel);就无效了,就需要frame对象来设置了frame.add(panel);
建议楼主把JFrame frame = new JFrame();删掉吧! |
|
楼主我也在学习中,支持一下!
|
|
哈哈,谢谢兄弟啦,改了这句果然好使了 |
|
大兄弟,我突然有个疑问,this 跟frame我混乱了,this我都不用了,都换成frame就行了吗?? |
|
this和frame对象你两个都可以用,但是只能选择一种的! |