java SWT 内容有时显示不正常的BUG

              有时候写了一段java SWT 程序,有时运行显示正常有时运行不正常 . 还以为什么问题.

            解决办法: 当初始化JFrame,最后才设置为可见的. 之后显示都正常

JFrame js = new JFrame("学些Swing");
        
        js.setSize(WIDTH, HEIGHT);
        js.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        js.setLocation(300, 300); //设置本地位置
        
        
        
        JMenuBar jMenuBar = new JMenuBar();
       
        JMenu menu1 = new JMenu("文件");
        JMenu menu2 = new JMenu("编辑");
        JMenu menu3 = new JMenu("视图");
        
        jMenuBar.add(menu1);
        jMenuBar.add(menu2);
        jMenuBar.add(menu3);
        
        JMenuItem item1 = new JMenuItem("打开");
        JMenuItem item2 = new JMenuItem("保存");
        JMenuItem item3 = new JMenuItem("打印");
        JMenuItem item4 = new JMenuItem("退出");
        
        item4.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {

                System.exit(0);
                
            }
        });
        
        menu1.add(item1);
        menu1.add(item2);
        menu1.add(item3);
        menu1.add(item4);
        js.setJMenuBar(jMenuBar);//
        
        
        
        //添加面板 
        JPanel jPanel = new JPanel();
        js.setContentPane(jPanel);
        
        //设置按钮
        JButton jb = new JButton("测试按钮");
        jPanel.add(jb);
        JButton jb2 = new JButton("取消按钮");
        jPanel.add(jb2);
        jb2.setToolTipText("不要取消吧 哥");//按钮提示
        
        jb.addActionListener(new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                
                System.out.println("点击了");
                
            }
        });
        
        //设置单选框
        
        ButtonGroup buttonGroup = new ButtonGroup();
        JRadioButton jRadioButton1 = new JRadioButton("有存款");
        JRadioButton jRadioButton2 = new JRadioButton("没存款");
        buttonGroup.add(jRadioButton1);
        buttonGroup.add(jRadioButton2);
        jPanel.add(jRadioButton1);
        jPanel.add(jRadioButton2);
        
        //设置复选框
        
        Checkbox checkbox1  = new Checkbox("计算多少时间");
        Checkbox checkbox2  = new Checkbox("计算多少钱");
        jPanel.add(checkbox1);
        jPanel.add(checkbox2);
        
        
        
        js.setVisible(true); //这个必须在代码最后加载


你可能感兴趣的:(java SWT 内容有时显示不正常的BUG)