2017-02-08 7 views
1

코딩을 끝내기 만했는데 어떤 이유로 그것을 실행하면 내 창이 전혀 표시되지 않습니다! 누구든지 아이디어가 있습니까?왜 내 창이 나타나지 않습니까?

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() 클래스는 간단하고 코드의 방해해서는 안된다. 나는 갑자기 그것이 끝났다고 말했고, 창문이 없다고 말했던 것보다 더 뛰어났다. 빈 프레임조차도 아닙니다!

+0

이'RetailPriceCalculator PC를 = 새로운 RetailPriceCalculator()와 같은 주요 블록에 대한 참조를 할당하려고 원하는 무엇을 적 컨테이너에 추가에서 UI를 구축,' – SteelToe

+2

RetailPriceCalculatorGUI 생성자해야 RetailPriceCalculator 패널을 빌드합니다. – Yan

답변

3

RetailPriceCalculator 방법에 오타가있는 것 같습니다. public RetailPriceCalculator()

를 생성자하거나 주요 방법을 업데이트 할

변경 public void RetailPriceCalculatorGUI() :

new RetailPriceCalculator().RetailPriceCalculatorGUI(); 
+0

그건 그게 :) 도와 줘서 고마워! –

2

당신의 코드는 (당신을 위해 아무것도하지 않는 경우에만 기본 생성자) 실행 가능 생성자가 없습니다

코드에서 알 수있는 바에 따르면 public void RetailPriceCalculatorGUI() {public RetailPriceCalculator() {

예를 들어, JFrame과 같은 최상위 컨테이너에서 직접 확장하는 것을 피하기를 권장합니다. 하나의 유스 케이스에 자신을 잠그고 새로운/재사용 가능한 기능을 클래스에 추가하지 않을 것입니다. 더 나은 JPanel 시작하고 다음

관련 문제