Java 为什么我的窗户没有出现?

Java 为什么我的窗户没有出现?,java,swing,user-interface,Java,Swing,User Interface,刚刚完成编码,但由于某种原因,当我运行它时,我的窗口根本不会显示!有人有什么想法吗 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class RetailPriceCalculator extends JFrame { private InputPanel inputs; private OutputPanel outputs; private ExplanationPanel banner;

刚刚完成编码,但由于某种原因,当我运行它时,我的窗口根本不会显示!有人有什么想法吗

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

public class RetailPriceCalculator extends JFrame
{
private InputPanel inputs;
private OutputPanel outputs;
private ExplanationPanel banner;
private JPanel buttonPanel;
private JButton calcButton;
private JButton exitButton;

public void RetailPriceCalculatorGUI()
{
    setTitle("Retail Price Calculator");

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setLayout(new BorderLayout());

    banner = new ExplanationPanel();
    inputs = new InputPanel();
    outputs = new OutputPanel();

    buildButtonPanel();

    add(banner, BorderLayout.NORTH);
    add(inputs, BorderLayout.WEST);
    add(outputs, BorderLayout.EAST);
    add(buttonPanel, BorderLayout.SOUTH);

    pack();
    setVisible(true);
}

public void buildButtonPanel()
{
    buttonPanel = new JPanel();

    calcButton = new JButton("Calculate");
    exitButton = new JButton("Exit");

    calcButton.addActionListener(new CalcButtonListener());
    exitButton.addActionListener(new ExitButtonListener());

    buttonPanel.add(calcButton);
    buttonPanel.add(exitButton);
}

private class CalcButtonListener implements ActionListener
{
    public void actionPerformed (ActionEvent e)
    {
        double wholesale, markup, retail;

        wholesale = inputs.getWholesale();
        markup = inputs.getMarkup();

        retail = wholesale * (1 + markup);

        outputs.setRetail(retail);
    }
}

private class ExitButtonListener implements ActionListener
{
    public void actionPerformed(ActionEvent e)
    {
        System.exit(0);
    }
}

public static void main(String[] args)
    {
        new RetailPriceCalculator();
    } 

}

ExplanationPanel()
InputPanel()
OutputPanel()
类都很简单,不应该妨碍代码。我只是运行它,然后它突然说它终止了,根本没有窗口!连一个空框都没有

似乎您在
RetailPriceCalculator
方法中有错误

public void RetailPriceCalculatorGUI()
更改为构造函数
public RetailPriceCalculator()

或将主方法更新为:

new RetailPriceCalculator().RetailPriceCalculatorGUI();

似乎您在
零售价格计算器
方法中有输入错误

public void RetailPriceCalculatorGUI()
更改为构造函数
public RetailPriceCalculator()

或将主方法更新为:

new RetailPriceCalculator().RetailPriceCalculatorGUI();

您的代码没有可执行构造函数(只有默认构造函数,它不为您做任何事情)

根据我从您的代码中了解到的情况,您希望将
public void RetailPriceCalculatorGUI(){
更改为
public RetailPriceCalculator(){


话虽如此,我建议您避免直接从顶级容器(如
JFrame
)进行扩展,您将自己锁定在一个用例中,并且不会向类中添加任何新的/可重用的功能。最好从
JPanel
开始构建UI,然后将其添加到您想要的容器中代码没有可执行构造函数(只有默认构造函数,它不为您做任何事情)

根据我从您的代码中了解到的情况,您希望将
public void RetailPriceCalculatorGUI(){
更改为
public RetailPriceCalculator(){


话虽如此,我建议您避免直接从顶级容器(如
JFrame
)进行扩展,您将自己锁定在一个用例中,并且不会向类中添加任何新的/可重用的功能。最好从
JPanel
开始构建UI,然后将其添加到您想要的容器中在主块中点燃引用,如
RetailPriceCalculator pc=new RetailPriceCalculator();
RetailPriceCalculator UI应该是将构建面板的构造函数RetailPriceCalculator。尝试在主块中分配引用,如
RetailPriceCalculator pc=new RetailPriceCalculator());
RetailPriceCalculatorGUI应该是构建面板的构造函数RetailPriceCalculator。就是这样:)谢谢你的帮助!就是这样:)谢谢你的帮助!