swing 点击 窗口显示不同的内容
时间: 2023-08-21 21:01:45 浏览: 143
要实现点击窗口显示不同的内容,可以使用JFrame和CardLayout配合使用。CardLayout可以让我们在同一个容器中切换不同的组件,实现显示不同的内容。
首先,创建一个JFrame对象,并设置其布局为CardLayout,然后创建多个不同的JPanel对象,每个JPanel对象中放置不同的组件,表示不同的内容。接着,将这些JPanel对象添加到JFrame中,并给每个JPanel对象设置一个唯一的名称,用于在后面切换时进行识别。
最后,可以在JFrame中添加一个MouseListener监听器,监听鼠标点击事件,当鼠标点击时,根据需要切换到对应的JPanel。
以下是一个简单的示例代码:
```java
import java.awt.CardLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class WindowDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("窗口");
CardLayout cardLayout = new CardLayout();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.add(new JLabel("这是第一个内容"));
panel2.add(new JLabel("这是第二个内容"));
frame.setLayout(cardLayout);
frame.add(panel1, "panel1");
frame.add(panel2, "panel2");
frame.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
cardLayout.next(frame.getContentPane());
}
});
frame.setSize(300, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
```
在上面的示例代码中,我们创建了一个JFrame对象,设置其布局为CardLayout,并向其中添加了两个JPanel对象。在JFrame中添加了一个MouseListener监听器,监听鼠标点击事件。当鼠标点击时,调用CardLayout的next方法,切换到下一个组件。
运行程序后,点击窗口即可切换不同的内容。