java gui 跳转_java GUI点击一个按钮怎么跳转到下一个窗口

想从登录的窗口跳转到注册的窗口,这样写点击注册为什么不跳转packageview;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;impor...

想从登录的窗口跳转到注册的窗口,这样写点击注册为什么不跳转

package view;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class View {

public static void main(String[] args) {

LoginView lv = new LoginView();

//lv.setLocationRelativeTo(null);

}

}

//登录窗口

class LoginView extends JFrame{

public static JButton butt_registe = new JButton("注册");

public LoginView()

{

setTitle("QQ2013 追梦——设计");

setLayout(new GridLayout(3,2));

setSize(400,240);

add(new JLabel("用户名"));

add(new JTextField());

add(new JLabel("密码"));

add(new JPasswordField());

add(new JButton("登录"));

add(butt_registe);

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

}

/注册窗口

class RegistView extends JFrame{

public RegistView()

{

setTitle("QQ2013 注册");

setLayout(new GridLayout(4,2));

setSize(500,280);

add(new JLabel("用户名"));

add(new JTextField());

add(new JLabel("密码"));

add(new JPasswordField());

add(new JLabel("确认密码"));

add(new JPasswordField());

add(new JButton("确定"));

add(new JButton("退出"));

setLocationRelativeTo(null);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

}

//这是我写的那个监听器的部分,求指点

class LoViewRegiste implements ActionListener{

public void actionPerformed(ActionEvent event)

{

if(event.getSource().equals(LoginView.butt_registe))

{

new RegistView();

}

}

}

展开

要实现界面跳转,你可以使用Java Swing框架中的CardLayout布局管理器。CardLayout布局管理器可以让你在同一个容器中添加多个面板,并且只显示其中一个面板,其他面板隐藏。当需要切换显示的面板时,只需要调用CardLayout的show方法即可。 下面是一个简单的示例代码,实现了两个面板之间的切换: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainFrame extends JFrame implements ActionListener { private JPanel panelContainer; private CardLayout cardLayout; public MainFrame() { setTitle("界面跳转示例"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建两个面板 JPanel panel1 = new JPanel(); panel1.add(new JLabel("这是第一个面板")); JButton button1 = new JButton("跳转到第二个面板"); button1.addActionListener(this); panel1.add(button1); JPanel panel2 = new JPanel(); panel2.add(new JLabel("这是第二个面板")); JButton button2 = new JButton("回到第一个面板"); button2.addActionListener(this); panel2.add(button2); // 创建面板容器,并设置CardLayout布局管理器 panelContainer = new JPanel(); cardLayout = new CardLayout(); panelContainer.setLayout(cardLayout); // 将两个面板添加到面板容器中 panelContainer.add(panel1, "panel1"); panelContainer.add(panel2, "panel2"); // 将面板容器添加到主窗口 setContentPane(panelContainer); pack(); setLocationRelativeTo(null); setVisible(true); } @Override public void actionPerformed(ActionEvent e) { // 根据按钮的名称切换显示的面板 if (e.getActionCommand().equals("跳转到第二个面板")) { cardLayout.show(panelContainer, "panel2"); } else if (e.getActionCommand().equals("回到第一个面板")) { cardLayout.show(panelContainer, "panel1"); } } public static void main(String[] args) { new MainFrame(); } } ``` 在这个示例中,我们创建了两个面板,分别是panel1和panel2。然后创建了一个面板容器panelContainer,并将两个面板添加到面板容器中。在按钮的ActionListener中,我们使用CardLayout的show方法切换显示的面板。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值