JFrame オブジェクトを作成する必要があるのか、それとも単に LoanCalculator オブジェクトを作成して JFrame メソッドを呼び出すことができるのか疑問に思っていました。以前に行った GUI コードでは、JFrame オブジェクト (例: JFrame frame = new JFrame()) またはクラス オブジェクトの作成が機能し、プログラムは正常に実行されます。
違いは正確には何ですか?クラスオブジェクトの代わりにJFrameオブジェクトを作成する意味はありますか? (私の質問の唯一の関連部分は、私のメインクラスのコードです)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoanCalculator extends JFrame{
private JButton jbtCompute = new JButton("Compute Payment");
public LoanCalculator(){
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(5, 2));
panel1.add(new JLabel("Annual Interest Rate"));
panel1.add(new JTextField(8));
panel1.add(new JLabel("Number of Years"));
panel1.add(new JTextField(8));
panel1.add(new JLabel("Loan Amount"));
panel1.add(new JTextField(8));
panel1.add(new JLabel("Monthly Payment"));
panel1.add(new JTextField(8));
panel1.add(new JLabel("Total Payment"));
panel1.add(new JTextField(8));
JPanel panel2 = new JPanel();
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(jbtCompute);
}
public static void main(String[] args){
LoanCalculator frame = new LoanCalculator();
frame.setTitle("Loan Calculator");
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
}
}