我想从另一个 Jframe 设置 Jlabel 文本,但它一直给我错误。 (Netbeans 图形用户界面)

问题描述 投票:0回答:1

(即时通讯使用 Netbeans for JAVA GUI)

我有 2 个 Jframe。主菜单和购买。 在主菜单 Jframe 中,我放置了一个按钮并将其命名为“继续”。 (还有一些其他的事情,ofc) 在“继续按钮”内我使用了以下代码:

        Purchase purchase = new Purchase();
        //--------------Toyota---------------
        if(InputTinnova.isSelected())
        {
            String mobil = "Toyota Innova";
            Purchase.Onamamobil.setText(mobil);
        }
        if(InputTavanza.isSelected())
        {
            String mobil = "Toyota Avanza";
        }
        if(InputTalphard.isSelected())
        {
            String mobil = "Toyota Alphard";
        }
        if(InputTsupra.isSelected())
        {
            String mobil = "Toyota Supra";
        }
        
        //--------------NISSAN---------------
        if(InputNlivina.isSelected())
        {
            String mobil = "Nissan Livina";
        }
        if(InputNserena.isSelected())
        {
            String mobil = "Nissan Serena";
        }
        if(InputNterra.isSelected())
        {
            String mobil = "Nissan Terra";
        }
        if(InputNgtr.isSelected())
        {
            String mobil = "Nissan GTR";
        }
        
        //--------------Mazda---------------
        if(InputMcx.isSelected())
        {
            String mobil = "Mazda CX";
        }
        if(InputMmx.isSelected())
        {
            String mobil = "Mazda MX";
        }
        if(InputM3.isSelected())
        {
            String mobil = "Mazda 3";
        }
        if(InputMrx.isSelected())
        {
            String mobil = "Mazda RX";
        }
        
        
        
        
        purchase.show();
        dispose();

变量 Onamamobil 是我想要更改的 Jlabel,但它一直给我一个错误,提示“无法从静态内容引用非静态变量 Onamamobil”。我也将 Onamamobil 设为公共 Jlabel 文本。

我想要主菜单 jframe 中的代码

            String mobil = "Toyota Innova";
            Purchase.Onamamobil.setText(mobil);

更改 jframe 购买中的 jlabel Onamamobil。

java user-interface netbeans static jlabel
1个回答
0
投票

您确定可以从定义它的

JLabel
的实例访问
JFrame
吗?

类似这样的事情

public class Purchase extends javax.swing.JFrame {
    
    public Purchase() {
        initComponents();
    }

    public void setOnamamobilText(String text) {
        Onamamobil.setText(text);
    }

    // initComponents() and other methods...
}

Mainmenu

public class Mainmenu extends javax.swing.JFrame {

    public Mainmenu() {
        initComponents();
    }

    private void continueButtonActionPerformed(java.awt.event.ActionEvent evt) {                                               
    Purchase purchase = new Purchase();
    //--------------Toyota---------------
    if(InputTinnova.isSelected())
    {
        String mobil = "Toyota Innova";
        Purchase.Onamamobil.setText(mobil);
    }
    if(InputTavanza.isSelected())
    {
        String mobil = "Toyota Avanza";
    }
    if(InputTalphard.isSelected())
    {
        String mobil = "Toyota Alphard";
    }
    if(InputTsupra.isSelected())
    {
        String mobil = "Toyota Supra";
    }
    
    //--------------NISSAN---------------
    if(InputNlivina.isSelected())
    {
        String mobil = "Nissan Livina";
    }
    if(InputNserena.isSelected())
    {
        String mobil = "Nissan Serena";
    }
    if(InputNterra.isSelected())
    {
        String mobil = "Nissan Terra";
    }
    if(InputNgtr.isSelected())
    {
        String mobil = "Nissan GTR";
    }
    
    //--------------Mazda---------------
    if(InputMcx.isSelected())
    {
        String mobil = "Mazda CX";
    }
    if(InputMmx.isSelected())
    {
        String mobil = "Mazda MX";
    }
    if(InputM3.isSelected())
    {
        String mobil = "Mazda 3";
    }
    if(InputMrx.isSelected())
    {
        String mobil = "Mazda RX";
    }
© www.soinside.com 2019 - 2024. All rights reserved.