我在Java上还不是很新,我已经创建了一个主页和一些按钮,当我单击其中一个按钮时,它将主页面板的可见性设置为false,打开一个新类并将该Jpanel类设置为可见。

homePanel.setVisible(false);
Goodsin Barcode = new Goodsin();
Goodsin.setVisible(true);


但是,一旦打开新类“ Goodsin”,它将不会显示任何Buttons或TextFileds。我知道它正在打开新类,因为System.out.println将打印到控制台,但JFrame中没有任何显示,我也不知道为什么。

这是我新班级的代码

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Goodsin {

    public JPanel Goodsin;
    public JTextField item1;
    public String code;
    public JButton btn1;

    public Goodsin() {

        System.out.println("TEST");

        Goodsin = new JPanel();
        item1 = new JTextField(10);
        btn1 = new JButton("Look up Barcode");

        Goodsin.setVisible(true);

        Goodsin.add(item1);
        item1.setSize(80, 30);

        Goodsin.add(btn1);
        btn1.setSize(80, 30);

    }

    public void getString(String code) {
        System.out.println(code);

    }

}


我确定我没有对Jpanel进行任何正确的操作,也没有添加文本字段或按钮,但是到目前为止我所看到的所有答案都没有用。

最佳答案

我建议您将面板添加到JFrame。您可以通过从类扩展JFrame或仅在构造函数中实例化JFrame来实现。然后,您可以根据需要简单地添加和删除(或设置可见/不可见)。不过,请务必在更改可见性之后验证您的JFrame / JPanel。

07-27 18:16