求问为什么java程序显示不出表格

程序如下importjava.util.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.ta... 程序如下import java.util.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import javax.swing.event.*;public class LastJFrame extends JFrame implements ActionListener{ private JTextField texts[]; private JSpinner spin_year,spin_month; private JButton button; private DefaultTableModel tablemodel; private JTextField text_money; public LastJFrame() { super("所得税"); this.setBounds(300, 240, 780, 400); this.setBackground(java.awt.Color.lightGray); text_money=new JTextField(22); this.getContentPane().add(text_money); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel=new JPanel(); this.getContentPane().add(panel,"North"); String str[]={"收入"}; int i=0; for(i=0;i<str.length;i++) panel.add(new JLabel(str[i])); button=new JButton("计算"); panel.add(text_money); text_money.addActionListener(this); panel.add(button); button.addActionListener(this); String titles[]={"年月","收入","所得税","税后工资"}; this.tablemodel=new DefaultTableModel(titles,0); JTable jtable=new JTable(this.tablemodel); this.getContentPane().add(new JScrollPane(jtable)); this.setVisible(true); } public void actionPerformed(ActionEvent ev) { double x=Double.parseDouble(text_money.getText()); double KGongZ=x-3500; double GRSDS = 0; if (KGongZ <= 1500) GRSDS = KGongZ * 0.03; else if (KGongZ <=4500) GRSDS = (KGongZ * 0.10)-105; else if (KGongZ <=9000) GRSDS = (KGongZ * 0.20)-555; else if (KGongZ <=35000) GRSDS = (KGongZ * 0.25)-1005; else if (KGongZ <=55000) GRSDS = (KGongZ * 0.30)-2755; else if (KGongZ <=80000) GRSDS = (KGongZ * 0.35)-5505; else if (KGongZ > 80000) GRSDS = (KGongZ * 0.45)-13505; double z=x-GRSDS; int year=Integer.parseInt(""+spin_year.getValue()); int mon=Integer.parseInt(""+spin_month.getValue()); this.tablemodel.setRowCount(12); for(int i=0;i<12;i++) { this.tablemodel.setValueAt(year+"年"+mon+"月", i, 0); this.tablemodel.setValueAt(String.format("%9.2f",x), i, 1); this.tablemodel.setValueAt(String.format("%9.2f",GRSDS), i, 2); this.tablemodel.setValueAt(String.format("%9.2f",z), i, 3); } } public static void main(String arg[]){ new LastJFrame(); }}显示出的如图所示,为什么没有表格?
因为是新手,希望最好能够发一下修改过的程序
展开
 我来答
_诗礼_
2016-06-02 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:184
采纳率:50%
帮助的人:108万
展开全部
private JSpinner spin_year, spin_month;
你不是还没有初始化吗
更多追问追答
追问
完全不会,能说详细点吗?
追答

你这个是报空指针异常的。

int year = Integer.parseInt("" + spin_year.getValue());
        int mon = Integer.parseInt("" + spin_month.getValue());

因为你这2个变量都没有初始化。你要输入 年月 是吗?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式