gpt4 book ai didi

java - 如何将变量从一个 JFrame 传递到另一个 JFrame

转载 作者:行者123 更新时间:2023-12-01 17:18:35 25 4
gpt4 key购买 nike

我有两个 JFrame newAccessLevels.java,其中有两个按钮“Level 1”、“Level 2”和 newAccessPanel.java我需要获取用户在 accessPanel 上选择“1 或 2”的级别,以便我可以将其显示在 accessPanel.java 的标题中,例如访问级别 1,访问级别 2。这怎么办?下面是示例代码,因此如果单击级别 1,newAccessPanel JFrame 将打开,标题为 *ACCESS LEVEL 1,对于级别 2 反之亦然:

newAccessLevels.java

package securitySystem;

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

public class newAccessLevels extends JFrame{

public static void main (String args[]){
newAccessLevels gui= new newAccessLevels ();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setTitle("Access Levels");
gui.setSize(400,400);
gui.setLocationRelativeTo(null);
gui.setVisible(true);
}

JButton btnLevel1= new JButton("Levels 1");
JButton btnLevel2= new JButton("Level 2");


public newAccessLevels (){
setLayout (null);

btnLevel1.setBounds(120,70, 150, 30);
add(btnLevel1);

btnLevel2.setBounds(120,130, 150, 30);
add(btnLevel2);
}

public void calcButtons()
{
btnLevel1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
newAccessPanel gui =new newAccessPanel();
gui.setSize (360, 450);
gui.setLocationRelativeTo(null);
gui.setVisible(true);
dispose();
}
});

btnLevel2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
newAccessPanel gui =new newAccessPanel();
gui.setSize (360, 450);
gui.setLocationRelativeTo(null);
gui.setVisible(true);
dispose();
}
});
}

}

newAccessPanel.java

package securitySystem;

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

public class newAccessPanel extends JFrame{

public static void main (String args[]){
newAccessPanel gui= new newAccessPanel ();
gui.setSize (360, 450);
gui.setLocationRelativeTo(null);
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setVisible(true);
gui.setTitle("ACCESS LEVEL '1/2'");
//gui.setLayout(new BorderLayout());
//gui.setBackground(Color.BLACK);
}

}

最佳答案

您好,这是一种方法,您只需使用接收所需参数的构造函数构造一个新的 JFrame 即可。

第一个 JFrame,其中有按钮

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JButton;

public class Frame1 extends JFrame{

private String mensaje;
private JButton btnHola;
private JButton btnAdios;

public Frame1() {
getContentPane().setLayout(null);

btnHola = new JButton("Hello");
btnHola.setBounds(63, 210, 89, 23);
getContentPane().add(btnHola);
btnHola.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
mensaje = Frame1.this.btnHola.getText();
Frame2 frame2 = new Frame2(mensaje);
}
});

btnAdios = new JButton("Bye");
btnAdios.setBounds(245, 210, 89, 23);
getContentPane().add(btnAdios);

btnAdios.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
mensaje = Frame1.this.btnAdios.getText();
Frame2 frame2 = new Frame2(mensaje);
}
});
}

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

第二个 JFrame,在其中接收消息。

import javax.swing.JFrame;

public class Frame2 extends JFrame {
public Frame2(String message) {
super();
setVisible(true);
setTitle(message);
}
}

希望这对您有帮助。问候!

关于java - 如何将变量从一个 JFrame 传递到另一个 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20382999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com