罪离殇 2017-11-30 11:50 采纳率: 0%
浏览 563

请教一个JavaSwing问题,上测试代码

 public class Test {
    private Frame a = new Frame("00");
    private JTextField JF = new JTextField();
    private Button b = new Button("test");
    public void init(){
        b.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JF.setText("no");
                new Test_01();
            }
        });
        a.add(b);
        a.add(JF,BorderLayout.NORTH);
        a.pack();
        a.setVisible(true);
    }
    public static  void  main(String[] args){
        new Test().init();
    }
    public JTextField getJF() {
        return JF;
    }
    public void setJF(String s) {
        JF.setText(s);
    }
}
 public class Test_01 {
    public Test_01(){
        System.out.println("-------------------------------------------");
        new Test().getJF().setText("OK");
        new Test().setJF("ok");
    }
}

修改不了编辑框的显示内容,求解

  • 写回答

1条回答 默认 最新

  • COCO_AS 2017-11-30 12:02
    关注

    改了一下,主要问题是你new了好几次Test类,之后操作的实际上是不同的对象,当然不可以了,因为你用到的对象没有完成初始化。
    实际上只用下面一个类就好了

     import javax.swing.*
     import java.awt.*
     import java.awt.event.*
    
     public class Test {
        private Frame a = new Frame("00");
        private JTextField JF = new JTextField();
        private Button b = new Button("test");
        public void init(){
            b.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    JF.setText("no");
                }
                });
            a.add(b);
            a.add(JF,BorderLayout.NORTH);
            a.pack();
            a.setVisible(true);
        }
        public static  void  main(String[] args){
            Test t =new Test();
            System.out.println("-------------------------------------------");
            t.getJF().setText("OK");
            t.setJF("ok");
            t.init();
        }
        public JTextField getJF() {
            return JF;
        }
        public void setJF(String s) {
            JF.setText(s);
        }
    }
    
    
    
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择