当前位置: 首页 > 面试题库 >

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

澹台星剑
2023-03-14
问题内容

我有两个JFrames newAccessLevels.java ,它有两个按钮“ Level 1”,“ Level 2”和
newAccessPanel.java。 我需要获取用户选择“ 1或2”的级别,accessPanel以便可以在标题中显示它。
accessPanel.java, 例如访问级别1,访问级别2。如何完成此操作。下面是示例代码,因此,如果单击级别1,则将打开标题为*
ACCESS LEVEL 1 的newAccessPanel JFrame ,反之亦然:

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);
    }
}

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



 类似资料:
  • 我的视图文件夹中有两个EJ,我创建了非常简单的EJ,看看是否可以将变量从一个EJ发送到另一个EJ。 a、 vews文件中的ejs b.ejs有 在我的节点js这是什么我做const表达式=要求('Express'); const body Parser=要求('body-parser'); 我想邮报必须在这里做点什么...

  • 我有一个来自firebase的uid,但它是这样存储的: checkout.js 存储我需要传递到另一个页面的uid。这个uid存储在中,我需要将它放到中才能在那里使用uid。我该怎么做?如果需要更多代码,请让我知道。我正在使用react/js

  • 问题内容: 我刚开始使用快速语言,并且知道这个问题是重复的。我发现了几个类似的问题和答案,但我无法弄清这个问题。 我想将ScandString变量的值从ScanViewController传递给ResultViewController。 ScanViewcontroller如下: ResultViewController如下: println(detectedString)没有给我任何结果。问题是

  • 问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。

  • 问题内容: 我想将多个值从一个servlet传递到另一个servlet。请告诉我如何通过? 问题答案: 取决于您是否使用会话: 使用session.setAttribute()将数组存储在会话变量中。 使用session.getAttribute();检索数组。 但是,变量将一直保留到会话终止,您用其他东西覆盖它或将其删除为止。 如果将一个servlet转发到另一个servlet,则可以将其存储在