This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallAnywhere
- :
- InstallAnywhere Forum
- :
- Re: CustomCodePanel
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 31, 2008
04:10 PM
CustomCodePanel
Hi,
I am trying to create a CustomCodePanel but I am having trouble with it appearing during the installation. Here is my code:
[CODE]package package3;
import java.awt.*;
import javax.swing.*;
import com.zerog.ia.api.pub.CustomCodePanel;
import com.zerog.ia.api.pub.CustomCodePanelProxy;
import javax.swing.JPasswordField;
import java.awt.Dimension;
public class ConfigurationPanel extends CustomCodePanel {
private static final long serialVersionUID = 1L;
private JLabel instructions = null;
private JLabel masterPWlabel = null;
private JPasswordField masterPWtxt = null;
private JLabel syscopyPortlabel = null;
private JTextField syscopyPorttxt = null;
private JLabel databaseTypelabel = null;
private Choice databaseTypeList = null;
private JLabel DBPortlabel = null;
private JTextField DBPorttxt = null;
private JLabel DBUsernamelabel = null;
private JTextField DBUsernametxt = null;
private JLabel DBPWlabel = null;
private JPasswordField DBPWtxt = null;
private boolean isSetup=false;
/**
* This is the default constructor
*/
public ConfigurationPanel() {
super();
//setupUI(customCodePanelProxy);
}
public boolean setupUI(CustomCodePanelProxy arg0) {
if (isSetup){
removeAll();
}
customCodePanelProxy = arg0;
initialize();
isSetup=true;
return true;
}
public void initialize(){
DBPWlabel = new JLabel();
DBPWlabel.setBounds(new Rectangle(15, 216, 170, 20));
DBPWlabel.setText("DB Password:");
DBUsernamelabel = new JLabel();
DBUsernamelabel.setBounds(new Rectangle(15, 184, 170, 20));
DBUsernamelabel.setText("DB Username:");
DBPortlabel = new JLabel();
DBPortlabel.setBounds(new Rectangle(15, 153, 170, 20));
DBPortlabel.setText("DB Port :");
databaseTypelabel = new JLabel();
databaseTypelabel.setBounds(new Rectangle(15, 125, 170, 20));
databaseTypelabel.setText("Database Type:");
syscopyPortlabel = new JLabel();
syscopyPortlabel.setBounds(new Rectangle(15, 95, 170, 20));
syscopyPortlabel.setText("Syscopy Port:");
masterPWlabel = new JLabel();
masterPWlabel.setBounds(new Rectangle(15, 65, 170, 20));
masterPWlabel.setText("Master Syscopy Password:");
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
instructions = new JLabel();
instructions.setText("Please specify configuration details for Syscopy.");
instructions.setBounds(new Rectangle(15, 14, 292, 31));
this.setSize(new Dimension(426, 310));
this.setLayout(null);
this.add(instructions);
this.add(masterPWlabel, null);
this.add(getMasterPWtxt(), null);
this.add(syscopyPortlabel, null);
this.add(getSyscopyPorttxt(), null);
this.add(databaseTypelabel, null);
this.add(getDatabaseTypeList(), null);
this.add(DBPortlabel, null);
this.add(getDBPorttxt(), null);
this.add(DBUsernamelabel, null);
this.add(getDBUsernametxt(), null);
this.add(DBPWlabel, null);
this.add(getDBPWtxt(),null);
}
public String getTitle(){
return "Configuration";// customCodePanelProxy.substitute("$PROGRAM_NAME$")+ " - Configuration";
}
public boolean okToContinue(){
/*customCodePanelProxy.setVariable("$USER_MASTER_PASSWORD$", masterPWtxt.getPassword());
customCodePanelProxy.setVariable("$USER_SYSCOPY_PORT_1$", syscopyPorttxt.getText());
customCodePanelProxy.setVariable("$USER_DB_Type$", databaseTypeList.getSelectedItem());
customCodePanelProxy.setVariable("$USER_DB_PORT$", DBPorttxt.getText());
customCodePanelProxy.setVariable("$USER_DB_USERNAME$", DBUsernametxt.getText());
customCodePanelProxy.setVariable("$USER_DB_PASSWORD$", DBPWtxt.getPassword());
*/
return true;
}
/**
* This method initializes masterPWtxt
*
* @return javax.swing.JTextField
*/
private JPasswordField getMasterPWtxt() {
if (masterPWtxt == null) {
masterPWtxt = new JPasswordField();
masterPWtxt.setBounds(new Rectangle(200, 66, 150, 20));
}
return masterPWtxt;
}
/**
* This method initializes syscopyPorttxt
*
* @return javax.swing.JTextField
*/
private JTextField getSyscopyPorttxt() {
if (syscopyPorttxt == null) {
syscopyPorttxt = new JTextField();
syscopyPorttxt.setBounds(new Rectangle(200, 96, 150, 20));
}
return syscopyPorttxt;
}
/**
* This method initializes databaseTypeList
*
* @return javax.swing.JList
*/
private Choice getDatabaseTypeList() {
if (databaseTypeList == null) {
databaseTypeList = new Choice();
databaseTypeList.setVisible(true);
databaseTypeList.setBounds(new Rectangle(200, 124, 150, 20));
databaseTypeList.add("MySQL");
databaseTypeList.add("MS SQL");
databaseTypeList.add("Oracle");
}
return databaseTypeList;
}
/**
* This method initializes DBPorttxt
*
* @return javax.swing.JTextField
*/
private JTextField getDBPorttxt() {
if (DBPorttxt == null) {
DBPorttxt = new JTextField(this.getClass().getName());
DBPorttxt.setBounds(new Rectangle(200, 154, 150, 20));
}
return DBPorttxt;
}
/**
* This method initializes DBUsernametxt
*
* @return javax.swing.JTextField
*/
private JTextField getDBUsernametxt() {
if (DBUsernametxt == null) {
DBUsernametxt = new JTextField();
DBUsernametxt.setBounds(new Rectangle(200, 185, 150, 20));
}
return DBUsernametxt;
}
/**
* This method initializes DBPWtxt
*
* @return javax.swing.JPasswordField
*/
private JPasswordField getDBPWtxt() {
if (DBPWtxt == null) {
DBPWtxt = new JPasswordField();
DBPWtxt.setBounds(new Rectangle(200, 217, 150, 20));
}
return DBPWtxt;
}
/*public void main(String[] args){
this.setupUI(customCodePanelProxy);
}
*/
}
[/CODE]
I created a jar file from eclipse and linked it in IA through Execute Custom Code. I stated that the full class name is package3.ConfigurationPanel. I followed the instructions displayed on: http://www.acresso.com/webdocuments/PDF/ia_create_cust_code_panel_eclipse.pdf.
I noticed that for some reason, all the CustomCodeAction classes are working, but when I want to create a panel, it doesnt show up.
Can anyone tell me what I'm doing wrong..
Thanks in advance.
I am trying to create a CustomCodePanel but I am having trouble with it appearing during the installation. Here is my code:
[CODE]package package3;
import java.awt.*;
import javax.swing.*;
import com.zerog.ia.api.pub.CustomCodePanel;
import com.zerog.ia.api.pub.CustomCodePanelProxy;
import javax.swing.JPasswordField;
import java.awt.Dimension;
public class ConfigurationPanel extends CustomCodePanel {
private static final long serialVersionUID = 1L;
private JLabel instructions = null;
private JLabel masterPWlabel = null;
private JPasswordField masterPWtxt = null;
private JLabel syscopyPortlabel = null;
private JTextField syscopyPorttxt = null;
private JLabel databaseTypelabel = null;
private Choice databaseTypeList = null;
private JLabel DBPortlabel = null;
private JTextField DBPorttxt = null;
private JLabel DBUsernamelabel = null;
private JTextField DBUsernametxt = null;
private JLabel DBPWlabel = null;
private JPasswordField DBPWtxt = null;
private boolean isSetup=false;
/**
* This is the default constructor
*/
public ConfigurationPanel() {
super();
//setupUI(customCodePanelProxy);
}
public boolean setupUI(CustomCodePanelProxy arg0) {
if (isSetup){
removeAll();
}
customCodePanelProxy = arg0;
initialize();
isSetup=true;
return true;
}
public void initialize(){
DBPWlabel = new JLabel();
DBPWlabel.setBounds(new Rectangle(15, 216, 170, 20));
DBPWlabel.setText("DB Password:");
DBUsernamelabel = new JLabel();
DBUsernamelabel.setBounds(new Rectangle(15, 184, 170, 20));
DBUsernamelabel.setText("DB Username:");
DBPortlabel = new JLabel();
DBPortlabel.setBounds(new Rectangle(15, 153, 170, 20));
DBPortlabel.setText("DB Port :");
databaseTypelabel = new JLabel();
databaseTypelabel.setBounds(new Rectangle(15, 125, 170, 20));
databaseTypelabel.setText("Database Type:");
syscopyPortlabel = new JLabel();
syscopyPortlabel.setBounds(new Rectangle(15, 95, 170, 20));
syscopyPortlabel.setText("Syscopy Port:");
masterPWlabel = new JLabel();
masterPWlabel.setBounds(new Rectangle(15, 65, 170, 20));
masterPWlabel.setText("Master Syscopy Password:");
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
instructions = new JLabel();
instructions.setText("Please specify configuration details for Syscopy.");
instructions.setBounds(new Rectangle(15, 14, 292, 31));
this.setSize(new Dimension(426, 310));
this.setLayout(null);
this.add(instructions);
this.add(masterPWlabel, null);
this.add(getMasterPWtxt(), null);
this.add(syscopyPortlabel, null);
this.add(getSyscopyPorttxt(), null);
this.add(databaseTypelabel, null);
this.add(getDatabaseTypeList(), null);
this.add(DBPortlabel, null);
this.add(getDBPorttxt(), null);
this.add(DBUsernamelabel, null);
this.add(getDBUsernametxt(), null);
this.add(DBPWlabel, null);
this.add(getDBPWtxt(),null);
}
public String getTitle(){
return "Configuration";// customCodePanelProxy.substitute("$PROGRAM_NAME$")+ " - Configuration";
}
public boolean okToContinue(){
/*customCodePanelProxy.setVariable("$USER_MASTER_PASSWORD$", masterPWtxt.getPassword());
customCodePanelProxy.setVariable("$USER_SYSCOPY_PORT_1$", syscopyPorttxt.getText());
customCodePanelProxy.setVariable("$USER_DB_Type$", databaseTypeList.getSelectedItem());
customCodePanelProxy.setVariable("$USER_DB_PORT$", DBPorttxt.getText());
customCodePanelProxy.setVariable("$USER_DB_USERNAME$", DBUsernametxt.getText());
customCodePanelProxy.setVariable("$USER_DB_PASSWORD$", DBPWtxt.getPassword());
*/
return true;
}
/**
* This method initializes masterPWtxt
*
* @return javax.swing.JTextField
*/
private JPasswordField getMasterPWtxt() {
if (masterPWtxt == null) {
masterPWtxt = new JPasswordField();
masterPWtxt.setBounds(new Rectangle(200, 66, 150, 20));
}
return masterPWtxt;
}
/**
* This method initializes syscopyPorttxt
*
* @return javax.swing.JTextField
*/
private JTextField getSyscopyPorttxt() {
if (syscopyPorttxt == null) {
syscopyPorttxt = new JTextField();
syscopyPorttxt.setBounds(new Rectangle(200, 96, 150, 20));
}
return syscopyPorttxt;
}
/**
* This method initializes databaseTypeList
*
* @return javax.swing.JList
*/
private Choice getDatabaseTypeList() {
if (databaseTypeList == null) {
databaseTypeList = new Choice();
databaseTypeList.setVisible(true);
databaseTypeList.setBounds(new Rectangle(200, 124, 150, 20));
databaseTypeList.add("MySQL");
databaseTypeList.add("MS SQL");
databaseTypeList.add("Oracle");
}
return databaseTypeList;
}
/**
* This method initializes DBPorttxt
*
* @return javax.swing.JTextField
*/
private JTextField getDBPorttxt() {
if (DBPorttxt == null) {
DBPorttxt = new JTextField(this.getClass().getName());
DBPorttxt.setBounds(new Rectangle(200, 154, 150, 20));
}
return DBPorttxt;
}
/**
* This method initializes DBUsernametxt
*
* @return javax.swing.JTextField
*/
private JTextField getDBUsernametxt() {
if (DBUsernametxt == null) {
DBUsernametxt = new JTextField();
DBUsernametxt.setBounds(new Rectangle(200, 185, 150, 20));
}
return DBUsernametxt;
}
/**
* This method initializes DBPWtxt
*
* @return javax.swing.JPasswordField
*/
private JPasswordField getDBPWtxt() {
if (DBPWtxt == null) {
DBPWtxt = new JPasswordField();
DBPWtxt.setBounds(new Rectangle(200, 217, 150, 20));
}
return DBPWtxt;
}
/*public void main(String[] args){
this.setupUI(customCodePanelProxy);
}
*/
}
[/CODE]
I created a jar file from eclipse and linked it in IA through Execute Custom Code. I stated that the full class name is package3.ConfigurationPanel. I followed the instructions displayed on: http://www.acresso.com/webdocuments/PDF/ia_create_cust_code_panel_eclipse.pdf.
I noticed that for some reason, all the CustomCodeAction classes are working, but when I want to create a panel, it doesnt show up.
Can anyone tell me what I'm doing wrong..
Thanks in advance.
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 01, 2008
01:35 AM
what is the exception coming.. ?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 03, 2008
01:39 PM
CustomCodePanels in IA use a layout manager. Most of the examples I have seen and panels I have created have used the GridBag Layout, without a layout manager I was never able to get any panels to show up either.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 29, 2009
08:42 AM
I'm writing my first custom code panel, and wondering where you got all those numbers from to decide on sizes. I tried them (specifically the width of 426) and my text is truncated at the edge of the window, so it's obviously too wide. I changed a Jlabel to a JTextArea so it would word wrap and such. Experimentation reveals that 375 gives good results.
It would be nicer not to have explicit numbers, of course. Where might I find constants?
It would be nicer not to have explicit numbers, of course. Where might I find constants?