JFrame或类对象?

时间:2012-04-08 01:12:46

标签: user-interface

我想知道是否有必要创建一个JFrame对象,还是只需创建一个LoanCalculator对象来调用JFrame方法?在之前我做过的GUI代码中,创建了一个JFrame对象(例如JFrame frame = new JFrame())或类对象可以运行,程序运行正常。

有什么区别,创建JFrame对象而不是类1是否有任何意义? (我的问题唯一相关的部分是我的主要课程中的代码)

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);
    }
}

1 个答案:

答案 0 :(得分:0)

如果LoanCalculatorJFrame的子类,那么它会继承属于JFrame的所有方法和变量(以及您自己添加到LoanCalculator的任何方法和变量) 。您可以对常规JFrame执行任何操作,您可以执行LoanCalculator

您粘贴的代码对我来说很不错(除非您从未向框架的contentPane添加panel1panel2)。