一个人设定3个属性,用3个JTextField输入。
能不能做个组件把3个JTextField组一起,输入多个人时,new一下这个组件

解决方案 »

  1.   

    一般的做法是把数据放到table中去实现,例如做一个四列的表,第一列为姓名,后三列为属性
      

  2.   

    就是我要自己做个JPanel,上面放我自己定义的TextFild、Lable等等,再直接使用这个JPanel
      

  3.   

    你写一个类继承JPanel,在这个类的构造函数里把需要添加的TextField, label等组件添加上就可以了。
      

  4.   

    绝对可以的,你做个JPanel,以后就new 他出来,往Jframe或JPanel上Add不就好了?
      

  5.   


    Exception in thread "main" java.lang.NullPointerException
    at java.awt.Container.addImpl(Container.java:1074)
    at java.awt.Container.add(Container.java:377)
    at cn.com.lazyhome.game.util.rxsg.Jiang.<init>(Jiang.java:22)
    at cn.com.lazyhome.game.util.rxsg.Rxsg.<init>(Rxsg.java:12)
    at cn.com.lazyhome.game.util.rxsg.Rxsg.main(Rxsg.java:22)package cn.com.lazyhome.game.util.rxsg;import javax.swing.JFrame;
    import javax.swing.JPanel;public class Rxsg extends JFrame {
    private JPanel p1;

    public Rxsg() {
    super();

    p1 = new Jiang();
    this.getContentPane().add(p1);

    this.setSize(600, 450);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    this.setVisible(true);
    } public static void main(String[] args) {
    new Rxsg();
    }
    }package cn.com.lazyhome.game.util.rxsg;import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;public class Jiang extends JPanel {
    private JTextField grade;
    private JTextField neizheng;
    private JTextField yongwu;
    private JTextField zhimou;
    private JTextField zongdian; private JLabel neizheng_w;
    private JLabel yongwu_w;
    private JLabel zhimou_w;
    private JLabel zongdian_w;

    public Jiang() {
    super();

    this.add(grade);
    this.add(neizheng);
    this.add(neizheng_w);
    this.add(yongwu);
    this.add(yongwu_w);
    this.add(zhimou);
    this.add(zhimou_w);
    this.add(zongdian);
    this.add(zongdian_w);
    }
    }
      

  6.   

    this.add(grade);
    ...你的grade还只是一个引用,并没有指向任何对象。
    应该在构造函数里写全:
    grade = new JTextField("...");
      

  7.   

    你只是声明了几个组件,并没有对那些组件初始化,对于Object而言,默认值为null,实际上就是this.add(null), 怎么能正确?!