⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmbuttonpanel.java.svn-base

📁 梦界家园程序开发基底框架
💻 SVN-BASE
字号:
package jm.framework.gui.container;

import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JPanel;

import jm.framework.gui.module.JMButton;
import jm.framework.gui.module.JMIcon;

/**
 * <p>Title: JM 整合Swing控件,使用配置信息</p>
 *
 * <p>Copyright: Copyright (c) 2004-2006</p>
 *
 * <p>Company: 1SHome</p>
 *
 * <p>@author Spook</p>
 *
 * @since 1.3
 * @see JDK 1.5.0.6
 */
public class JMButtonPanel extends JPanel {
    private GridLayout gridLayout1 = new GridLayout();
    private JMButton[] Buttons = null;
    int Number = 0;
    public JMButtonPanel (int num) {
        try {
            Number = num;
            Buttons = new JMButton[num];
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * 按钮数量
     * @return int
     */
    public int getNumber () {
        return Number;
    }

    /**
     * 按钮点击操作
     * @param e ActionEvent
     */
    public void addCommandActionListener (JMGUIActionListener ...actionListeners) {
        int i = 0;
        for (JMGUIActionListener actionListener : actionListeners) {
            if (i >= Number) {
                return;
            }
            getButton(i++).addActionListener(actionListener);
        }
    }

    /**
     * 按钮点击操作
     * @param index int 索引从1开始
     * @param actionListener JMGUIActionListener
     */
    public void addCommandActionListener (int index, JMGUIActionListener actionListener) {
        getButton(index - 1).addActionListener(actionListener);
    }

    /**
     * 设置按钮名称
     * @param names String[]
     */
    public void setButton (String ...names) {
        int i = 0;
        for (String name : names) {
            if (i >= Number) {
                return;
            }
            getButton(i++).setText(name);
        }
    }

    /**
     * 设置按钮的大小
     * @param dimensions Dimension[]
     */
    public void setButtonPreferredSize (Dimension ...dimensions) {
        int i = 0;
        for (Dimension dimension : dimensions) {
            if (i >= Number) {
                return;
            }
            getButton(i++).setPreferredSize(dimension);
        }
    }

    /**
     * 设置按钮的大小
     * @param dimension Dimension
     */
    public void setButtonPreferredSize (Dimension dimension) {
        for (int i = 0; i < Number; i++) {
            getButton(i++).setPreferredSize(dimension);
        }
    }

    /**
     * 设置按钮图标
     * @param images String[]
     */
    public void setButtonImage (String ...images) {
        int i = 0;
        for (String image : images) {
            if (i >= Number) {
                return;
            }
            //getButton(i++).setMargin(new Insets(0,0,0,0));
            getButton(i++).setIcon(new JMIcon(image));
        }
    }

    public JButton getButton (int index) {
        if (index >= Number || index < 0) {
            return Buttons[0];
        }
        if (Buttons[index] == null) {
            Buttons[index] = new JMButton();
        }
        return Buttons[index];
    }

    public JButton[] getButtons () {
        return Buttons;
    }

    private void jbInit () throws Exception {
        this.setLayout(gridLayout1);
        this.setPreferredSize(new Dimension(1, 22));
        for (int i = 0; i < Number; i++) {
            this.add(getButton(i));
        }
    }

}

⌨️ 快捷键说明

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