Java 如何在我的当前代码中添加JLabel?I';我在做POS类型的学校项目

Java 如何在我的当前代码中添加JLabel?I';我在做POS类型的学校项目,java,swing,Java,Swing,这是我当前的代码,尝试在公共Pos机上添加JLabel,但它不会显示,而且我这样做时没有任何错误。如何在项目中添加JLabel?我是一个初学者,我不知道我是否需要放一些别的东西,这样我的JLabel就会出现 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Pos extends JFrame implements ActionListener { private JMenuB

这是我当前的代码,尝试在公共Pos机上添加JLabel,但它不会显示,而且我这样做时没有任何错误。如何在项目中添加JLabel?我是一个初学者,我不知道我是否需要放一些别的东西,这样我的JLabel就会出现

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

public class Pos extends JFrame implements ActionListener {

    private JMenuBar mainBar = new JMenuBar();
    private JMenu menu1 = new JMenu("File");
    private JMenuItem exit = new JMenuItem("Exit");
    private JLabel itemLabel = new JLabel("Item Name:");


    public Pos() {

        setTitle("Point of Sale System");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        setJMenuBar(mainBar);
        mainBar.add(menu1);
        menu1.add(exit);
        exit.addActionListener(this);

    }

    public void actionPerformed(ActionEvent e) {

        Object source = e.getSource();
        Container con = getContentPane();
        if(source == exit)
        System.exit(0);
    }

    public static void main(String[] args) {

        Pos mFrame = new Pos();
        final int WIDTH = 500;
        final int HEIGHT = 700;
        mFrame.setSize(WIDTH, HEIGHT);
        mFrame.setVisible(true);
        mFrame.setLocationRelativeTo(null);

    }
}

您没有将标签添加到框架中,它只是声明为成员变量。在Pos构造函数中,添加:

this.add(itemLabel);

在框架上,需要使用getContentPane()。您这样做的方式对于JPanel是可以的,但对于JDialog或JFrame则不行(您必须实际执行添加)。像这样:

public Pos() {

    setTitle("Point of Sale System");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    getContentPane().setLayout(new FlowLayout()); // <--
    getContentPane().add(itemLabel); // <--
    setJMenuBar(mainBar);
    mainBar.add(menu1);
    menu1.add(exit);
    exit.addActionListener(this);

}
public Pos(){
setTitle(“销售点系统”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(新的FlowLayout());//请添加如下内容:

public Pos() {

        setTitle("Point of Sale System");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        setJMenuBar(mainBar);
        mainBar.add(menu1);
        menu1.add(exit);
        exit.addActionListener(this);
        add(itemLabel);

    }

您是否尝试使用
add(itemlab);
作为构造函数的最后一行?MadProgrammer感谢它现在可以工作了,现在我剩下的问题是放置。再次感谢您查看此MadProgrammer