How to add components to JFrame once it#39;s visible without having to resize it?(一旦可见,如何将组件添加到 JFrame 而无需调整它的大小?)
问题描述
我有一个程序,其中有一个 JFrame
和一个 JButton
.当用户点击JButton
时,JFrame
的所有Components
都被移除,红色背景的JPanel
添加到它.
I have a program where I have a JFrame
with a JButton
in it. When the user clicks the JButton
, all Components
of the JFrame
are removed, and a JPanel
with red background is added to it.
当我单击 JButton
时,红色的 JPanel
不会变得可见,除非我调整 JFrame
的大小(我使用的是 Windows 7).有没有办法实现我想要的,而无需手动调整 JFrame
的大小?
When I click the JButton
, that red JPanel
does not become visible unless I resize the JFrame
(I am using Windows 7). Is there a way to achieve what I want without having to manually resize the JFrame
?
这是我正在使用的代码的一部分:
Here is a part of the code I am using:
public class Demo implements ActionListener{
public static void main(String args[]){
...............
button.addActionListener(this); //'button' is an object of Jbutton class.
frame.setVisible(true); //'frame' is an object of JFrame class.
............
}
public void actionPerformed(ActionEvent ae){
frame.removeAllComponents();
frame.add(panel1); //panel1 is an object of Jpanel class with red background.
/* Here is where my problem lies.
panel1 is not visible to me unless I manually resize the JFrame. */
}
}
推荐答案
用于删除(然后,例如,添加新的 JComponents)JComponents 来自 JPanel 或来自 顶级容器您只需调用一次,并且在操作结束时调用:
For removing (and then, for example, add new JComponents) JComponents from JPanel or from top-level containers you have to call, only once and on the end of the action:
revalidate();
repaint();
如果您只调整或更改 JComponents:
And if you only resize or change JComponents:
validate();
repaint();
这篇关于一旦可见,如何将组件添加到 JFrame 而无需调整它的大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:一旦可见,如何将组件添加到 JFrame 而无需调整它的大小?
基础教程推荐
- 如何强制对超级方法进行多态调用? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01