containpanel.java~5~

来自「很好的Java绘图程序源代码」· JAVA~5~ 代码 · 共 80 行

JAVA~5~
80
字号
package project;

import javax.swing.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ContainPanel
    extends JPanel {

  private int num;
  private int panel_height;
  private JPanel[] PaneArray = null;
  private Add_Btn_Panel[] subBtn = null;
  private String[] label_name = null;
  private int button_height = 30;

  public ContainPanel(int height,int num, Add_Btn_Panel[] subBtn, String[] label_name) {
    super();
    this.panel_height = height;
    this.num = num;
    this.subBtn = subBtn;
    this.label_name = label_name;
    initialize();
    createPanel();

  }

  private void initialize() {
                if(num * button_height > panel_height){
                        panel_height = num * button_height;
                }
                this.setSize(300, panel_height);
                this.setLayout(null);
                this.addComponentListener(new java.awt.event.ComponentAdapter() {
                        public void componentResized(java.awt.event.ComponentEvent e) {
                                //System.out.println("componentResized()"); // TODO Auto-generated Event stub componentResized()
                                panel_resie();
                        }
                });
        }

        private void createPanel(){
                PaneArray = new Basepanel[num];

                for(int i = 0; i < PaneArray.length; i++){

                        PaneArray[i] = new Basepanel(PaneArray, this.getHeight()- PaneArray.length*button_height,this.subBtn[i],this.label_name[i] );
                        PaneArray[i].setSize(200, 30);
                        if(i == 0){
                                PaneArray[i].setLocation(0, 0);
                        }else{
                                PaneArray[i].setLocation(0, PaneArray[i-1].getLocation().y+PaneArray[i-1].getHeight());
                        }
                        this.add(PaneArray[i]);
                }

        }

        public Basepanel[] get_Basepanel(){
          return (Basepanel[])PaneArray;
        }

        private void panel_resie(){
                Basepanel.call_resize((Basepanel[])PaneArray, this.getHeight() - PaneArray.length*button_height);
        }



}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?