从另一个类(Java)向类表单/面板添加组件

时间:2016-03-06 23:00:36

标签: java class user-interface inheritance

我对Java编程相对较新,我希望能够将控件添加到我在另一个类中创建的GUI,因为我将多次使用它。我能做到这一点的唯一方法是将表单和面板设置为超类全局,这样我就可以在子类中访问它。但是我确信我已经阅读过,只有在没有其他选择的时候,我才应该把事情做成全局或持久。

还有其他方法或者这是否可以接受。非常感谢。我已经添加了以下类作为示例。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Image;
import javax.swing.*;
import javax.swing.border.LineBorder;

public class BasicForm {

    JFrame frmBasic;
    JPanel panContainer;

    public BasicForm() {

        frmBasic = new JFrame();
        frmBasic.setTitle("Created By Inspired IT");
        frmBasic.setBounds(100, 100, 450, 300);
        frmBasic.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        

        panContainer = new JPanel();
        panContainer.setBorder(new LineBorder(new Color(0, 0, 0), 3));
        frmBasic.getContentPane().add(panContainer, BorderLayout.CENTER);
        panContainer.setLayout(null);

        JLabel lblLogo = new JLabel("");
        Image img = new ImageIcon(this.getClass().getResource("/logo.png")).getImage();
        lblLogo.setIcon(new ImageIcon(img));
        lblLogo.setBounds(343, 11, 81, 102);        
        panContainer.add(lblLogo);

        frmBasic.setVisible(true);          
    }       
}


public class FormGUI extends BasicForm {

    public FormGUI() {

        JButton btnContinue = new JButton("Continue");
        btnContinue.setBounds(336, 228, 88, 23);
        this.panContainer.add(btnContinue);             
    }       
}

0 个答案:

没有答案