Java程序:实现两个JPanel的交替可见
时间: 2024-02-22 17:57:32 浏览: 23
可以通过使用两个JPanel和一个定时器来实现两个JPanel的交替可见。具体实现步骤如下:
1. 创建两个JPanel,分别为panel1和panel2,并将它们添加到同一个容器中。
2. 设置panel1为可见状态,panel2为不可见状态。
3. 创建一个定时器,每隔一定时间(例如1秒)触发一次事件。
4. 在事件处理方法中,判断panel1是否可见。如果可见,则将panel1设置为不可见,panel2设置为可见;如果不可见,则将panel1设置为可见,panel2设置为不可见。
5. 启动定时器,即可实现两个JPanel的交替可见。
下面是一个简单的Java程序示例:
```
import javax.swing.*;
import java.awt.event.*;
public class PanelSwitcher extends JFrame {
private JPanel panel1, panel2;
private Timer timer;
public PanelSwitcher() {
// 创建两个JPanel
panel1 = new JPanel();
panel1.add(new JLabel("Panel 1"));
panel2 = new JPanel();
panel2.add(new JLabel("Panel 2"));
// 将两个JPanel添加到同一个容器中
getContentPane().add(panel1);
getContentPane().add(panel2);
// 设置panel1为可见状态,panel2为不可见状态
panel1.setVisible(true);
panel2.setVisible(false);
// 创建定时器,每隔1秒触发一次事件
timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 判断panel1是否可见
if (panel1.isVisible()) {
// 将panel1设置为不可见,panel2设置为可见
panel1.setVisible(false);
panel2.setVisible(true);
} else {
// 将panel1设置为可见,panel2设置为不可见
panel1.setVisible(true);
panel2.setVisible(false);
}
}
});
}
public static void main(String[] args) {
PanelSwitcher frame = new PanelSwitcher();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
// 启动定时器
frame.timer.start();
}
}
```
运行程序后,可以看到两个JPanel会交替显示。