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。就是这样:)谢谢你的帮助!就是这样:)谢谢你的帮助!