2024-06-11 15:52信息 • 发布者:

在Java Swing中实现界面跳转, 可以通过创建不同的JFrame窗口,并且从一个窗口中的按钮点击事件来触发 另一个窗口的显示。 下面是一个简单的例子, 展示了如何从frame1跳转到frame2:

 import javax.swing .*;
  import java.awt.event.*;

 public class Frame1 extends  JFrame implements ActionListener {
     JButton jb ;

     public Frame1() {
         this.setSize(300,  200);
          this.setLocation(300,  400);
          jb = new JButton("跳转");
          this.add(jb);
          jb.addActionListener(this);  // 添加动作监听器
         this.setVisible(true);
      }

     public static void main(String[] args) {
          Frame1 frame = new Frame1();
      }

     @Override
     public void actionPerformed (ActionEvent e) {
         if (e.getSource() == jb)  {
             dispose();  // 关闭当前窗口
             Frame2 frame2 = new Frame2();
              frame2.setVisible(true);  // 显示新窗口
         }
     }
 }

 class Frame2 extends JFrame  {
     public Frame2() {
         this.setSize(300,  200);
          this.setLocation(300,  400);
          this.setVisible(true);
      }
 }

在这个例子中, 我们定义了两个类 Frame1Frame2, 分别继承自 JFrame。 在 Frame1 中, 我们创建了一个按钮 jb 并添加了一个动作监听器。 当按钮被点击时, actionPerformed 方法会被调用,在这里我们关闭了 Frame1 并显示了 Frame 2

请注意, 这只是一个基本的例子。 在实际应用中, 通常会使用更复杂的导航逻辑, 例如通过CardLayout布局管理器来进行界面切换, 或者使用框架如Spring等来管理复杂的界面导航。 此外, 对于多窗口应用, 需要考虑用户体验和窗口管理的合适时机, 比如避免在关闭当前窗口前创建新窗口, 而是应该在用户准备好时才进行这些操作。