amul_mitm
Level 4

Custom Code Panel Problem...

Hi All,
(been very very long since I last visited, or posted anything...)

The problem is majorly cosmetic, I just want my customCodePanel to look just like the ones provided with IA Designer. So I figured it on Font, but I still cant get many things done...

Like first, the Prompt or Instruction part uses a component that looks like a textarea or something, but how does it appear flat, with a thin border? what component should I use to show just that?

Secondly, is there a way I can get the fonts of other components (like combo box, text field, etc. to look like same as that of components used in IA inbuilt panels?

Third, what GUI builder is preferred for building these panels? My organization uses NetBeans 6.x as recommended IDE for Java, so I'm habitual to that. Or should I use Eclipse?

So if anyone here has been partially or completely successful to design CustomCodePanels exactly like inbuilt ones, I would surely appreciate some tips along with some sample code.

thanks and cheers,
Amul.
Labels (1)
0 Kudos
6 Replies
purcellk24
Level 7

Try...
      textArea = new JTextArea();
textArea.setText(message);
textArea.setFont(new java.awt.Font("Dialog", 0, 12));
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setEditable(false);
textArea.setRows(5);
textArea.setBackground(backgroundColor);
textArea.setBorder(new MyBorder());

And
  /**
* A border to help maintain similar panel within the installer
*
* @author $author$
* @version $Revision: 1.3 $
*/
public class MyBorder extends EtchedBorder
{
/**
* Creates a new MyBorder object.
*/
public MyBorder()
{
super();
}

/**
* Set our own Insets
*
* @param p0 The Components to retreive Insets
*
* @return A new Insets Object with our own settings
*/
public Insets getBorderInsets(Component p0)
{
return new Insets(5, 5, 5, 5);
}

/**
* The Components to retreive Insets
*
* @param p0 The Components to retreive Insets
* @param p1 They are overridden anyways, so ....
*
* @return A new Insets Object with our own settings
*/
public Insets getBorderInsets(Component p0, Insets p1)
{
return new Insets(5, 5, 5, 5);
}
}
0 Kudos
RobertDickau
Flexera Alumni

As an aside, InstallAnywhere 2009 provides the package com.zerog.ia.api.pub.controls, which contains the UI components used in standard panels: IALabel, IATextArea, IAChoiceGroup, and the like.
0 Kudos
MEinstaller
Level 7

Make sure you have a Layout Manager selected in NetBeans. I use NetBeans to design custom code panels and select the GridBag Layout since that seems to be what some of the other IA panels use. From what I saw in my panels everything is pretty close to the default IA panels.
0 Kudos
amul_mitm
Level 4

MEinstaller wrote:
Make sure you have a Layout Manager selected in NetBeans. I use NetBeans to design custom code panels and select the GridBag Layout since that seems to be what some of the other IA panels use. From what I saw in my panels everything is pretty close to the default IA panels.


Well, I dont know much about Layout Manager, but whenever I use one, my panels kinda get messed-up. So keep it to Free Design, where I can put anything anywhere I want in the panel.

Anyways, thanks @purcellk24 for helping me out with some code... I finally managed to have panels that were not only similar looking, but turned out to be better than that of inbuilt panels.

Actually I'm making a patch deployment system using IA 2008 Ent. so everything I put in it has to be customized. e.g. I present a component list in the installer that gets loaded from an XML file on run-time, the installer itself does not install a single file (except for the uninstaller, of course).

Also @RobertDickau, I proposed the idea of IA 2009 to my Manger, who forwarded the idea to Group Evaluation Team, which turned it down stating that IA 2009 does not contain as many new features and upgrades to justify the upgrade costs. They only looked at the GUI and what was new in it, and overlooked the changed in the API, but I agree with them to a certain extent, as there are not much additions in IA2009 from IA2008 as there were in IA2008 from IA8.0, which totally justified the upgrade costs.
0 Kudos
amul_mitm
Level 4

MEinstaller wrote:
Make sure you have a Layout Manager selected in NetBeans. I use NetBeans to design custom code panels and select the GridBag Layout since that seems to be what some of the other IA panels use. From what I saw in my panels everything is pretty close to the default IA panels.


Well, I dont know much about Layout Manager, but whenever I use one, my panels kinda get messed-up. So keep it to Free Design, where I can put anything anywhere I want in the panel.

Anyways, thanks @purcellk24 for helping me out with some code... I finally managed to have panels that were not only similar looking, but turned out to be better than that of inbuilt panels.

Actually I'm making a patch deployment system using IA 2008 Ent. so everything I put in it has to be customized. e.g. I present a component list in the installer that gets loaded from an XML file on run-time, the installer itself does not install a single file (except for the uninstaller, of course).

Also @RobertDickau, I proposed the idea of IA 2009 to my Manger, who forwarded the idea to Group Evaluation Team, which turned it down stating that IA 2009 does not contain as many new features and upgrades to justify the upgrade costs. They only looked at the GUI and what was new in it, and overlooked the changed in the API, but I agree with them to a certain extent, as there are not much additions in IA2009 from IA2008 as there were in IA2008 from IA8.0, which totally justified the upgrade costs.
0 Kudos
pv7721
Level 20

amul_mitm wrote:
Also @RobertDickau, I proposed the idea of IA 2009 to my Manger, who forwarded the idea to Group Evaluation Team, which turned it down stating that IA 2009 does not contain as many new features and upgrades to justify the upgrade costs. They only looked at the GUI and what was new in it, and overlooked the changed in the API, but I agree with them to a certain extent, as there are not much additions in IA2009 from IA2008 as there were in IA2008 from IA8.0, which totally justified the upgrade costs.


This is precisely the whole point of buying maintenance & support, which for an annual lesser price entitles you to both 1) direct access to support (not only these forums) and 2) free upgrades (so whenever a new version comes out you can upgrade to it if you want, and you don't have to pay it as a new version) (and sometimes you can even be included in beta programs).
0 Kudos