`
sdyouyun
  • 浏览: 120787 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

InstallAnyWhere中,自定义面板的一个例子

阅读更多
自定义面板需要依赖于InstallAnyWhere的主jar包IAClasses.zip。
package com.cvicse.inforguard.install;

import java.awt.Color;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JTextPane;
import javax.swing.SwingConstants;

import com.zerog.ia.api.pub.CustomCodePanel;
import com.zerog.ia.api.pub.CustomCodePanelProxy;

public class EnCompentPanel extends CustomCodePanel implements ActionListener {
    private static final long serialVersionUID = 1222L;
    private boolean inited = false;

    private JLabel jLabelInfor = null;
    private JLabel jLabelError = null;
    private JCheckBox jCheckBoxMC = null;
    private JCheckBox jCheckBoxConsole = null;
    private JTextPane jTextPaneInfor = null;
    //资源类,存放了所有的文字提示信息
    public iRes res = null;

    public EnCompentPanel() {
	//得到一个英文的资源类
	res = new ResEnglish();
    }

    public boolean setupUI(CustomCodePanelProxy customCodePanelProxy) {
	if (inited == true)
	    return true;
	inited = true;
	//在面板下方,显示错误提示信息的label
	jLabelError = new JLabel();
	jLabelError.setBounds(new Rectangle(15, 185, 300, 18));
	jLabelError.setText("");
	
	//jLabelInfor是面板最上方的信息提示框
	jLabelInfor = new JLabel();
	jLabelInfor.setBounds(new Rectangle(5, 5, 377, 110));
	jLabelInfor.setVerticalTextPosition(SwingConstants.TOP);
	jLabelInfor.setVerticalAlignment(SwingConstants.TOP);
	jLabelInfor.setText("");
	jLabelInfor.setBorder(BorderFactory.createLineBorder(Color.GRAY));
	
	//面板的默认宽、高
	this.setSize(404, 310);
	this.setLayout(null);
	//将用到的控件都添加到面板中去
	this.add(jLabelInfor, null);
	this.add(jLabelError, null);
	this.add(getJCheckBoxMC(), null);
	this.add(getJCheckBoxConsole(), null);
	this.add(getJTextPaneInfor(), null);

	return true;
    }

    public void panelIsDisplayed() {
    }

    //点击下一步按钮时触发的事件,返回true时可以进入下一步,返回false时停留在本页面
    public boolean okToContinue() {
	if (!jCheckBoxMC.isSelected()) {
	    if (!jCheckBoxConsole.isSelected()) {
		jLabelError.setText(res.getComponentjLabelErrorText());
		return false;
	    }
	} else {
	    jLabelError.setText("");
	}
	
	//以下一段设置InstallAnyWhere中的环境变量
	if (jCheckBoxMC.isSelected()) {
	    customCodePanelProxy.setVariable("mc", "mcSelect");
	} else {
	    customCodePanelProxy.setVariable("mc", "mcNotSelect");
	}
	if (jCheckBoxConsole.isSelected()) {
	    customCodePanelProxy.setVariable("console", "consoleSelect");
	} else {
	    customCodePanelProxy.setVariable("console", "consoleNotSelect");
	}
	return true;
    }

    //点击上一步按钮时触发的事件,返回true时可以进入下一步,返回false时停留在本页面
    public boolean okToGoPrevious() {
	jLabelError.setText("");
	return true;
    }
    //此面板显示在右上角的标题
    public String getTitle() {
	return res.getComponentPanelTitle();
    }

    public void actionPerformed(ActionEvent arg0) {
	// TODO Auto-generated method stub
    }

    private JCheckBox getJCheckBoxMC() {
	if (jCheckBoxMC == null) {
	    jCheckBoxMC = new JCheckBox();
	    jCheckBoxMC.setBounds(new Rectangle(10, 128, 147, 21));
	    jCheckBoxMC.setText("InforGuard MC");
	    jCheckBoxMC.setBackground(Color.white);
	    jCheckBoxMC.setSelected(true);
	}
	return jCheckBoxMC;
    }

    private JCheckBox getJCheckBoxConsole() {
	if (jCheckBoxConsole == null) {
	    jCheckBoxConsole = new JCheckBox();
	    jCheckBoxConsole.setBounds(new Rectangle(10, 148, 163, 26));
	    jCheckBoxConsole.setText("InforGuard Console");
	    jCheckBoxConsole.setBackground(Color.white);
	    jCheckBoxConsole.setSelected(true);
	}
	return jCheckBoxConsole;
    }

    private JTextPane getJTextPaneInfor() {
	if (jTextPaneInfor == null) {
	    jTextPaneInfor = new JTextPane();
	    jTextPaneInfor.setBounds(new Rectangle(8, 8, 362, 100));
	    jTextPaneInfor.setText(res.getComponentjTextPaneInfor());
	    jTextPaneInfor.setEditable(false);
	}
	return jTextPaneInfor;
    }
}


编写完成后,将编译好的代码打为一个zip包。然后在installanywhere的工程里添加一个Custom Code的panel,然后在这个panel里选择刚才打出的zip包,并指定类名即可。

另,界面的设计可以使用Eclipse Visual Editor或者其他支持Swing图形界面设置的工具来设计。
3
0
分享到:
评论
2 楼 sdyouyun 2012-11-19  
simusuishi 写道
你的意思是说:必须要做一个图形界面,才能在installanywhere安装的过程中出现这个自定义panel?
我就是用你的这个方法,做的一个panel,现在就是显示不出来这个界面。正在晕眩中。。。
请房主指教,先谢谢了!

不同的版本可能不一样吧 好久没搞这个了 现在也都记不清了呢
1 楼 simusuishi 2012-09-19  
你的意思是说:必须要做一个图形界面,才能在installanywhere安装的过程中出现这个自定义panel?
我就是用你的这个方法,做的一个panel,现在就是显示不出来这个界面。正在晕眩中。。。
请房主指教,先谢谢了!

相关推荐

    installanywhere 打包最详细说明

    InstallAnyWhere 是一款强大的应用程序打包工具,尤其适用于创建Java Web项目的安装包。本文将详细介绍如何使用InstallAnyWhere进行打包,包括关键步骤和配置选项。 首先,启动InstallAnyWhere,点击"Save As",...

    InstallAnywhere 2020-2023 帮助文档合集

    InstallAnywhere是由 Flexera Software 公司推出的一款制作安装包的软件。它可以为 Windows 、Linux、Mac OS、Solaris、HP-UX、AIX等多种操作系统创建安装包。 本资源,包含了2020年至今的全部版本的官方帮助文档,...

    installanywhere2009破解方法及补丁

    工具版本:InstallAnywhere 2009 Enterprise build 3657 使用方法: 把IAClasses.zip覆盖安装目录下的IAClasses.zip. 默认安装目录为C:\Program Files\InstallAnywhere 2009 Enterprise,则覆盖该目录下的...

    installanywhere注册文件

    - **Java 类文件**:每个 .class 文件代表一个 Java 类,这些类可能包含了处理注册、验证和授权的核心逻辑。例如,ZeroGl5.class 可能包含处理图形界面的代码,ZeroGd.class 可能负责数据读取,而 ZeroGad8.class ...

    installAnyWhere生成安装程序说明

    1. **启动InstallAnywhere**:首先,你需要安装并启动InstallAnywhere软件,打开后会看到一个欢迎界面,选择“新建”项目开始创建新的安装项目。 2. **设置基本信息**:在“项目属性”中,填写你的产品信息,包括...

    InstallAnywhere 使用客户端验证的说明文档

    本文档将详细阐述如何在InstallAnywhere项目中集成自定义的验证功能,主要涉及以下知识点: 1. **Eclipse与自定义验证Jar** Eclipse是一个流行的Java开发环境,用于编写和调试Java代码。在实现自定义验证逻辑时,...

    InstallAnyWhere打包方法

    InstallAnyWhere 是一个功能强大的安装包制作工具,能够帮助开发者快速创建安装包。下面我们将通过 InstallAnyWhere 的界面来了解其打包方法。 首先,在 InstallAnyWhere 的界面中,选择 Create New Project,输入...

    installanywhere使用说明

    InstallAnywhere创建的安装程序还包括卸载功能,用户可以在控制面板或程序列表中轻松卸载程序。 总的来说,InstallAnywhere简化了跨平台安装程序的创建过程,通过直观的图形界面和丰富的自定义选项,开发者能够为...

    installanywhere视频教学

    InstallAnywhere是一款强大的跨平台安装程序制作工具,它能够帮助开发者轻松创建出用户友好的、多平台兼容的应用程序安装包。本视频教学旨在为初学者和有经验的开发者提供详尽的指导,让你快速掌握InstallAnywhere的...

    InstallAnyWhere 实例教程

    本教程将通过一个实际的安装打包实例,深入浅出地介绍如何使用InstallAnyWhere,让初学者快速掌握其核心功能。 一、InstallAnyWhere简介 InstallAnyWhere以其灵活的定制性和丰富的功能闻名,支持Windows、Mac OS X...

    InstallAnyWhere Linux 打包VM环境

    InstallAnyWhere在打包的时候可以提供多种选项,如针对不同的操作系统,是否包含vm(即jre)等。 installanywhere的jre以vm的形式存在,必须放在installanywhere的安装目录下的resource\installer_vms文件夹下, ...

    关于installanywhere打包

    1. **项目设置**:首先,我们需要创建一个新的InstallAnywhere项目,并配置基本的信息,如产品名称、版本、公司信息等。这些信息将在安装过程中展示给用户,有助于建立品牌形象。 2. **文件安装**:集成源码或编译...

    InstallAnywhere7.1Enterprise

    工具:InstallAnywhere7.1Enterprise 条件:jar+tomcat(编译后的webProject)+mysql InstallAnywhere7.1Enterprise 这个功能跟强大。 下面是另外一个: 让你的WEB工程编程EXE。便捷安装轻松卸载。 以前发过一个:...

    InstallAnywhere2009破解版

    InstallAnywhere2009破解版,整理重发的,可解压,可用,可破解。

    InstallAnywhere 2009 Enterprise Edition Crack

    用于InstallAnywhere2009的自学研究,请勿用于商业用途,否则责任自负。

    InstallAnywhere使用手册中文版

    InstallAnywhere 是一款功能强大的安装包制作工具,能够将 Java 项目打包成可以自己指定步骤的安装文件。本手册将指导您如何使用 InstallAnywhere 将 JEE 项目打包成安装包。 知识点 1:InstallAnywhere 的基本概念...

    installanywhere使用说明 安装程序

    启动InstallAnyWhere后,你会看到一个直观的用户界面,分为多个工作区,包括“欢迎”、“项目”、“目标”、“用户界面”、“功能”、“脚本”等,每个工作区都有特定的功能和设置选项。 二、创建新项目 首次使用时...

    InstallAnywhere WEB系统工具打包

    1. 建立Project:在InstallAnywhere中新建一个项目,选择相应的工程模板(如Java或Web应用),并设置项目的基本属性,如产品名称、公司名称等。 2. 本地化语言:为了适应不同地区用户,你可以为安装程序提供多种...

    InstallAnywhere安装打包实例

    本实例将深入讲解如何使用InstallAnywhere来打包JDK 1.5和Tomcat 6.0以及一个Web应用程序。 1. **JDK 1.5安装** JDK(Java Development Kit)是开发和运行Java应用程序的基础,JDK 1.5是其一个版本,引入了如自动...

    Installanywhere 2010操作手册

    - **复杂安装流程设计**:当应用涉及到多个组件时,设计一个合理的安装顺序就显得尤为重要。通过编写脚本来控制安装流程,可以确保每个步骤都能够按照预期执行。 综上所述,《Installanywhere 2010操作手册》不仅是...

Global site tag (gtag.js) - Google Analytics