java – 如何将多个组件添加到JFrame?
我有一个JFrame.
我还有一个扩展Component的Box类. 当我将多个这些Box组件添加到我的JFrame时,当我在JFrame上调用repaint时,只显示最近添加的一个. 我看了一下布局管理器,但我不确定这是我想要的.我想要的就是能够在屏幕上的任何地方制作一大堆矩形的动画. (我也尝试创建一个面板,将面板添加到JFrame,然后将所有Box组件添加到面板.这也不起作用). 提前致谢! 解决方法
你有2个选择.
您可以更改框架的布局: JFrame frame; frame.setLayout(new FlowLayout()); 现在,如果您添加多个框,它将显示在框架上. 另一种选择是做你说过的尝试. (将面板添加到框架中) JPanel pane = new JPanel(); frame.add(pane); (add the boxes to 'pane') 另外,你应该小心你的盒子的大小.您可能希望在创建Box的某个地方调用setPreferredSize().这将告诉Java在添加到布局时框的大小. 您还应该看看Java Layout Manager Tutorials.那里有很多很棒的信息. 还有一件事.框架上一次只显示一个框的原因是因为JFrame的布局管理器是BorderLayout.并且,当您在具有BorderLayout的组件上调用add时,该组件会自动添加到组件的中心.后续调用add将覆盖中心组件,中间只留下一个组件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |