qq_40455367 2020-08-06 10:43 采纳率: 0%
浏览 230

dialog.getComponents()返回值总为1

public class JFrameStudy {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JFrame");
        JButton btn1 = new JButton("模态对话框");
        JButton btn2 = new JButton("非模态对话框");
        frame.setSize(300, 300);
        frame.setLocation(300, 300);
        frame.setLayout(new FlowLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(btn1);
        frame.add(btn2);
        frame.setVisible(true);

        final JDialog dialog = new JDialog(frame, "JDialog");
        final JLabel lable = new JLabel();
        final JButton btn3 = new JButton("确定");
        dialog.add(btn3);
        dialog.setSize(150, 150);
        dialog.setLocation(350, 350);
        dialog.setLayout(new FlowLayout());
        System.out.println(dialog.getComponents().length);

        btn1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                dialog.setModal(false);
                if (dialog.getComponents().length == 1) {
                    dialog.add(lable);
                }
            }
        });
    }
}

dialog.getComponents()不是返回dialog内的组件个数吗,为什么我都添加两个了,返回的数组长度还是1???

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-06 11:01
    关注

    frame添加了2个
    frame.add(btn1);
    frame.add(btn2);
    dialog只有1个
    dialog.add(btn3);
    你在这里输出下dialog.getComponents().length看看

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题