Problem of dynamically change components in Applet

Hello, All,
I need to dynamically change Applet components. For example, remove a button, and replace it with drop down list etc. I use remove and add methods to perform the task. But it does not work. Applet just become blank. And repaint does not help either. Any of you know how to solve the problem. I will really apprecation that.
[email protected]

/*    <applet code="AddAndRemove" width="400" height="300"></applet>
*  use: >appletviewer AddAndRemove.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AddAndRemove extends JApplet {
  ButtonListener buttonListener = new ButtonListener();
  JButton
    addButton,
    removeButton;
  JPanel centerPanel;
  JLabel statusLabel;
  GridBagConstraints gbc;
  int buttonCount = 0;
  public void init() {
    addButton = new JButton("add");
    removeButton = new JButton("remove");
    addButton.addActionListener(buttonListener);
    removeButton.addActionListener(buttonListener);
    JPanel northPanel = new JPanel();
    northPanel.add(addButton);
    northPanel.add(removeButton);
    centerPanel = new JPanel(new GridBagLayout());
    centerPanel.setBackground(Color.yellow);
    gbc = new GridBagConstraints();
    gbc.weightx = 1.0;
    gbc.weighty = 1.0;
    gbc.gridwidth = gbc.REMAINDER;
    statusLabel = new JLabel(" ", JLabel.CENTER);
    Container cp = getContentPane();
    cp.setLayout(new BorderLayout());
    cp.add(northPanel, "North");
    cp.add(new JScrollPane(centerPanel), "Center");
    cp.add(statusLabel, "South");
  private class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      JButton button = (JButton)e.getSource();
      if(button == addButton) {
        centerPanel.add(new JButton("Button " + ++buttonCount), gbc);
        // JComponent method
        centerPanel.revalidate();
        Component[] components = centerPanel.getComponents();
        statusLabel.setText("Currently " + components.length + " buttons showing");
      if(button == removeButton) {
        Component[] components = centerPanel.getComponents();
        if(components.length == 0)
          return;
        centerPanel.remove(components[components.length - 1]);
        // container method
        centerPanel.validate();
        // comment this out to see what happens without it
        centerPanel.repaint();
        statusLabel.setText("Currently " + (components.length - 1) + " buttons showing");
  public static void main(String[] args) {
    JFrame f = new JFrame("Add And Remove Applet");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JApplet applet = new AddAndRemove();
    f.getContentPane().add(applet);
    f.setSize(400,300);
    f.setLocation(400,300);
    applet.init();
    applet.start();
    f.setVisible(true);
}

Similar Messages

  • Dynamically changing of the Applet Label

    Hello!
    How could I change Applet Label dynamically
    (it should depends on the one business components' field)?
    Siebel 8.1
    Thanks very much!

    Hi,
    Clone the applet. Change the Label name which you want to modify. Based on the BC field value toggle the applet and display the cloned applet(which has the different label name). This is the way you can achieve this.
    Regards,
    Joseph

  • Problem with dynamic change a page item value

    Hi,
    I'm trying to dynamically calculated the value of an item based on a simple formula that involves the multiplication of two elements from the same page.
    To do this, create dynamic action as follows:
    Event: Change
    Selection Type: Item(s)
    Item(s): P19_DURATION
    Action: Set value
    Fire on page load: TRUE
    Set Type: SQL Statement
    SQL Statement: SELECT :P19_DURATION * :P19_RATE FROM DUAL
    Page items to submit: P19_DURATION
    Selection Type: Item(s)
    Item(s): P19_AMOUNT
    When altering the P19_DURATION get no change in P19_AMOUNT
    Since my knowledge of javascript is almost zero, I'm trying to do this with pl / sql or sql. Try the dynamic action with a function or a PL / SQL statement and nothing works.
    Have to use javascript for this?
    Searching the forum I think it's something simple, but I did not find an example similar to what I need.
    Regards

    Event: Change
    Selection Type: Item(s)
    Item(s): P19_DURATION
    Action: Set value
    Fire on page load: TRUE
    Set Type: javascript
    javascript Code:
    amount = $v('P19_DURATION') *  $v('P19_RATE');
    $s('P19_AMOUNT',amount);

  • JSF dynamically changing components name or id.

    I have a question that I am trying to find an answer.
    I have a dataTable setup and in each column, I have a select table.
    I would like to give these components specific names for each occurrence. For example:
    <h:dataTable id="serverTable" rowClasses="data" border="0" value="#{serverBean.serversData}" var="server">
    <h:selectOneListbox id="testCS" value="#{server.newImageName}" onchange="setDescr(this)" size="1">
    <f:selectItems value="#{server.imageList}" />
    </h:selectOneListbox>
    </h:dataTable>
    I want to do something list change the above line to
    <h:dataTable id="server.serverName" rowClasses="data" border="0" value="#{serverBean.serversData}" var="server">
    How would I do this..
    I would like the output to look like:
    <select id=�brasil�>

    </select>
    <select id=�oreo�>

    </select>
    Instead of
    <select id=�serverTable�>

    </select>
    <select id=�serverTable�>

    </select>
    Thanks
    Eric

    i think the easy way to do this would to use the forceID myfaces component
    http://myfaces.apache.org/tomahawk/forceId.html

  • Dynamically changing tree node

    I'm having a problem when dynamically changing a JTree node. I can add a node to the tree no problem. If I then change the name of the node (via a property table in the app) and fire a node changed event, the change is not properly reflected in the tree, in that the new name is shown but the selection box remains the same size as the old (longer) name.
    If I manually click on the node with the mouse and then change the name everything works fine. Although this is only manifesting itself as a cosmetic problem I think this could be a timing problem that might show up under other circumstances. I have another tree in the app where this problem does not show up at all.
    Any ideas?
    Thanks

    1)fluctuating tree...what???
    2) Create a JPopUpMenu or a subclass. Add a mouselistener to the JTree.
    In this listener you handle rightMouseClick.
    When you detect such an mouse action open the popup with popup.show()
    If you need the selected component call JTree.getLastSelectedPathComponent().
    If you want to check if it is null use this: JTree.getSelectionModel().isSelectionEmpty(). So you can prevent nullpointers, cause selection can be empty
    You can write a method for your popup to give it the selected component.
    Then call the .show().
    Tweety

  • Dynamic changing the LOV

    Hi
    we are facing some problem in Dynamic Changing the LOV.
    Lets assume the below scenario.
    I have tables like location and department table.
    In location table i have values like country name and location. For one country there will be multiple locations.
    First i need to show the unique country names in LOV. based on the country selection i need to show locations.
    all we need to achieve in same page meaning i have two lovs in one page. first one is country and second one is locations.
    pls. help us to resolve this issue.

    Why wouldn't you put two items (visible=no) on page; first of them with "select distinct..." of country on record group for LOV1 and the second with LOV2 with locations, depending of values in item1 where you took value from LOV1?

  • Displaying dynamically changing image: a problem with JLabel.

    Hello! I use NetBeans 5.5 and I develop my GUI with Matisse. I'm rather a beginner in developing GUIs with this editor...
    I'd like to display a dynamically changing image. The idea is: GUI shows the image, that is modified as some computations run in a different thread. App will be run on a single machine.
    I'm trying to display the image as a label's icon. The problem is that my app's frame can be resized - and when it is, the label also resizes. When the label is resized, the image should also be resized - the image should always be of the same size as the label. The problem? I noticed, that it works only when I make my app's bigger. When I try to lower its dimensions, the label's dimensions remain the same. Why the label don't make its size smaller?
    My code works as follows: when app's main frame is resize, the panel (the one, that the label is placed in) is also resized. And, since the label is in the panel, it (should) also be resized. So I wrote all the resize-events handlers (therefore I know that the resize event is sent when my app's frame is resized, and when the panel is resized - but the label is resized only when it grows bigger). In this methods I modify the image displayed in the label (I resize the image).
    Or, perhaps, there is some other way to show a (dynamically changing) image with Swing... I chose JLabel, because I didn't want to write my own JComponent. JLabel can display image and that is all I need. The problem is: when the label grows bigger, I create a new, bigger image (icon). Why my label don't get smaller (the resize event isn't even sent)?

    There is no component that dynamically resizes an image. You need to create your own. Something like this:
    JComponent component = new JComponent()
         protected void paintComponent(Graphics g)
              //  Scale image to size of component
              g.drawImage(yourImage, 0, 0, getWidth(), getHeight(), null);
    };

  • How to dynamically change the text of a TextObject with embedded DataField?

    Hi
    I'm trying to dynamically change the text of a TextObject at runtime, by using the .NET library. My problem is that if one or more DatabaseFieldDefinition is embedded inside my text, I'm unable to change the "static text" only, by keeping the field, e.g. I have :
    Text1 => "Contact Name: {Contact.Name}"
    and I'd like to change it to anything else like:
    Text1 => "Nom du Contact: {Contact.Name}"
    Half of my TextObject is static text while second part comes from the dataset.
    (of course the translation is dynamic - it is called at run-time and the new value to be set depends on the calling application language)
    If I simply modify the Text property of my TextObject, the {Contact.Name} embedded field is not evaluated anymore by the Crystal Engine, but considered as a single text.
    Using formulas or parameters looks quite difficult, because it means having many ones just for translation needs - I cannot control the way my users will create their reports and "force them" to use complex methods just in order to put a text and a value together...
    Anyone knows how to deal with that ?

    Only way I can think of doing this:
    1) Create a formula (call it lang) and enter the string "Contact Name" in it
    2) Place the  {Contact.Name} field next to the string
    3) So now you have:
    ContactName:  {Contact.Name}
    4) Check what localization you are after. If you need "Nom du Contact", change the lang formula so it shows "Nom du Contact" using the code below:
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim Report As New CrystalReport1()
    Dim FormulaFields As FormulaFieldDefinitions
    Dim FormulaField As FormulaFieldDefinition
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FormulaFields = Report.DataDefinition.FormulaFields
    FormulaField = FormulaFields.Item(0)
    FormulaField.Text = "[formula text]"
    CrystalReportViewer1.ReportSource = Report
    End Sub
    I realize this may not give you consistent spacing as the translations may have strings of differnt length. Perhaps someone has other idea(s)...

  • How to set/get value in dynamically created components?

    I need to create dynamically form based on definition written in database.
    I created an empty panelGreed in my jsf page
    <h:panelGrid columns="2" id="parseg"
    binding="#{ParsegBean.uiKatparam}">
    </h:panelGrid>I can�t use dataTable, because my form contains various component types (SelectOneMenu, OutputText, and InputText).
    In my bean I create components dynamically:
    Private UIPanel uiKatparam = null;
    Iterator componentIt = myComponentList.iterator()
    while(componentIt.hasNext()){
         MyComponent myComponent = (MyComponent)  componentIt.next();
         HtmlOutputText prompt = new HtmlOutputText();
         prompt.setValue(myComponent.getPrompt());
         prompt.setId(myComponent.getPromptId());
         uiKatparam.getChildren().add(prompt);     
         switch (myComponent.type) {
         case 1: //InputText
              HtmlInputText iText = new HtmlInputText();
              iText.setId(myComponent.getId());
              iText.setValue(myComponent.getDefaultValue());
              uiKatparam.getChildren().add(iText);
              break;
         case 2: //SelectOneMenu
              HtmlSelectOneMenu selectOneMenu = new HtmlSelectOneMenu();
    // �
              uiKatparam.getChildren().add(select);
              break;
         default:
              break;
    }When I try to get values in my Action:
    Iterator it = myBean.getUiKatparam().getChildren().iterator();
    while (it.hasNext()) {
    Object ob = it.next();
    if (ob.getClass().getName().matches(".*HtlmInputText")) {
    HtmlInputText t = (HtmlIputText) ob;
         String id = t.getId();
         String value = (String) t.getValue();
    //�
    //�
    }and value is still equal initial value
    How can I get velue entered to my InputText created dynamically?
    Michal

    I solved my problem creating UIData with dynamically added and dynamically rendered components (in each row is rendered another component).

  • Problem in loading Flash Components

    Hai,
    I have a problem in loading flash components using
    actionscript.
    Example( List Components).
    I can load List components dynamically using frame script
    like.
    import mx.controls.List;
    var myList:List = createObject("List","nList",10);
    But I can't load dynamically from inside a class file like.
    import mx.controls.List;
    class testClass{
    private var myList;
    function testClass( ){
    myList = createObject( "List","nList",10 );
    But it is not working i don't know why ?
    If any one knows Please reply me.
    Thank you.

    The over flash file works if i'm loading images direct from a
    path but, i'm using php script to pull the files in binary format
    and, it's causing problems in in firefox..

  • Dynamically changing the flatfile name..

    Hi friends,
    I 'm Getting data from 30 Flat files...all are with same structure but different data.. .. all these files are now in Application server...
    now i want to upload data into with a single DataSource and to ODS with process chains..
    so, how can i dynamically change the file name in Data Source level.. i saw previous threads.. in that.. through Routines.. we can solve this problem.. but I dont know ABAP code... so, can any one plz give me the exact code.. what i have to write...exact coding..
    <b>
           I already post this question in forums.... but evry one gave different options.. some  one gave the function module..
    BAPI_IPACK_CHANGE    and BAPI_IPACK_START.
      and some one gave  other function module.. like .. EPS_GET_DIRECTORY_LISTING
    i tryd for All these options.. but i'm not getting the exact solution... even i'm unable to pass the parameters also.. beacuse.. in that function what parameters can i pass....</b>
    can u plz suggest me the solution..
    Thanks
    Babu

    Hi  Friends,
      for the above requirement i had write the bellow coding in the routine.. it is working.. but the problem is.. it was loading  only  the last file..(30 th file  data only..)
    data : z1(50) type c,
             z2 type c,
             z3(50) type c,
             z4(50) type c.
             Z2 = 1.
       Do 5 times.
              z1 = 'C:\Documents and Settings\e10035\Desktop\'.
              z3 = '.csv'.
              concatenate z1 z2 z3 into z4.
              p_filename = z4.
              z2 = z2 + 1.
        Enddo.
    SO, CAN YOU PLZ SUGGEST ME.. when ever the file name was changing in the loop.. that automatically should load into the  PSA ..
    plz... plz.... help regarding this..
    Bbau

  • How can I dynamically change a Grids ro color

    Hi,
    I am using a grid within a component in my Flex application.
    I have an XML dataProvider, and I want to change the row
    colour of my Grid depending on a value coming form my dataProvider
    – but I cant seem to get this to work :(
    can anyone help / advise me on how I can dynamically change the
    colour of my grid row depending on a value coming from my XML
    DataProvider????
    For example:
    Within my component I have the following grid within an
    “MXML” component called myGrid.mxml:
    [CODE]<mx:Grid id="GGrid">
    <mx:GridRow backgroundColor="0xCFD8DA">
    <mx:GridItem>
    <mx:Label id=”name_lbl”/>
    </mx:GridItem>
    </mx:GridRow>
    <mx:GridRow backgroundColor="0xCFD8DA">
    <mx:GridItem>
    <mx:Label id=”expiryDate_lbl”/>
    </mx:GridItem>
    </mx:GridRow>
    <mx:GridRow id=”statusRow”>
    <mx:GridItem>
    <mx:Label id=”status_lbl”/>
    </mx:GridItem>
    </mx:GridRow>
    </mx:Grid>[/CODE]
    I am setting/declaring my results/variables form my
    dataProvider in the main Application (“MXML”) file:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application
    xmlns:mx="
    http://www.adobe.com/2006/mxml"
    xmlns="*"
    creationComplete="initApp()" >
    <mx:HTTPService
    id="myResults"
    url="
    http://localhost/myResults.xml"
    resultFormat="e4x"
    result="myResultHandler(event)" />
    [CODE]<mx:Script>
    <![CDATA[
    import mx.core.Application;
    [Bindable]
    public var myDataFeed:XML;
    public function initApp():void
    myResults.send();
    public function myResultHandler(event:ResultEvent):void
    myDataFeed = event.result as XML;
    Application.application.myGrid.name_lbl.text =
    myDataFeed.name;
    Application.application.myGrid.expiryDate_lbl =
    myDataFeed.expiry;
    Application.application.myGrid.status_lbl.text =
    myDataFeed.status;
    if(myDataFeed.status == “OK”)
    Application.application.statusRow.backgroundColor="0xCFD8DA";
    else if (myDataFeed.status == “WARNING”)
    Application.application.statusRow.backgroundColor="0xFF9900";
    else if (myDataFeed.status == “CRITICAL”)
    Application.application.statusRow.backgroundColor="0xFF0000";
    ]]>
    </mx:Script>
    </mx:Application>[/CODE]
    however, I cannot access the property
    “backgroundColor” of the gridRow in this way:
    [CODE]Application.application.statusRow.backgroundColor[/CODE]
    As I get the following error:
    [CODE]Severity and Description Path Resource Location
    Creation Time
    Id 1119:
    Access of possibly undefined property backgroundColor through
    a reference with static type mx.containers:GridRow.
    enterpriseDB_new enterpriseDB_new.mxml
    line 721 1194443056449 19295[/CODE]
    can anyone help / advise me on how I can dynamically change the
    colour of my grid row depending on a value coming from my XML
    DataProvider????
    Thanks,
    Jon.

    quote:
    Originally posted by:
    ljonny18
    Hi,
    I am using a grid within a component in my Flex application.
    I have an XML dataProvider, and I want to change the row
    colour of my Grid depending on a value coming form my dataProvider
    – but I cant seem to get this to work :(
    can anyone help / advise me on how I can dynamically change the
    colour of my grid row depending on a value coming from my XML
    DataProvider????
    Thanks,
    Jon.
    Hi,
    a few hours ago I stumbled across this cookbook entry - it
    didn't solve MY problem, but maybe it provides a way to solve your
    problem?
    http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&postId=61&product Id=2&loc=en_US
    From the article:
    quote:
    Changing the background color of a DataGrid cell is not as
    simple as changing some style because the default renderer for a
    DataGrid cell does not have a backgroundColor. Therefore, to do
    this simple task, you have to create a custom itemRenderer where
    you draw your own background in the updateDisplayList function.
    HTH
    Uwe

  • OBIEE 10g AGO Function Dynamically Change the Heading

    I created columns in my rpd named Sales Previous Month, Sales 2 months ago and Sales 3 months ago using the AGO Function. This is working fine.
    My problem is when displaying these headings the users would like to see the Month Name instead of the Headings I created. For example if looking at a report for January the users would like to see:
    Sales Previous Month = December
    Sales 2 Months ago = November
    Sales 3 Months ago = October
    Is there any way to dynamically change the value of the column header to show the name of the month?

    Hi SriniVEERAVALLI,
    Thanks for the reply. I have found that I might haven't created the relationship between dimension and fact tables correctly.
    I initially created the foreign key relationship (instead of creating complex join) in physical diagram between the dimension and fact table. And the relationship type is hence greyed out.
    I have deleted the foreign key relationship in physical diagram. Then
    1. In physical diagram, create complex join between dimension and fact . The relationship is 'inner' and can't be changed.
    2. In Logical table diagram, create foreign key between dimension and fact . The relationship can be changed (inner, outer, etc).
    Is this the correct way?
    I tried these on two newly created dummy tables and it worked.

  • Dynamically Change Ni HSDIO Channels

    I am currently using a PXI-6552 to generate and acquire I2C waveforms simultaneous.  I would like to know if it is possible (and how I would go about it) to dynamically change channels.  My goal is to just pass the two NI-HSDIO references (the purple variables) to a new subVI that I will create to change from 5 channels to a different set of 5 channels.  For instance:
    Pseudo-Code:
    initalize PXI sessions;
    for(i = 0; i < 10; i++)
    Set channels 0-5;
    Run generate and acquire;
    Stop acquisition;
    Set channels to 6-10;
    Run generate and acquire;
    Stop acquisition;
    Set channels to 11-15;
    Run generate and acquire;
    Stop acquisition;
    close PXI sessions;
    Basically I need the quickest way to switch acquisition channels without having to initalize and close the sessions every time. 
    I am currently using the HWC functions downloaded in the .zip example from here: http://www.ni.com/example/31200/en/. (I also attached the two that are necessary for my problem).
    Init HWC Device.vi:  (also attached)
    Run HWC Device.vi:  (also attached)
    I believe the VIs I may need are Assign Dynamic Channels, Configure Idle State, and Configure Initial State.  However I am not sure if those are the only ones.  If it is possible, do I have to close the original channels and then assign more?  Or does re-calling "Assign Dynamic Channels" automatically disable all non-assigned channels?  Etc.
    The important things to note:  I am setting 5 channels at a time -- for both acquisition AND generation.   I need to close the channels and switch to 5 different channels -- for both acquisition AND generation.  All channels should be set to "z" state for high-impedance at all times.
    If you need any other information, please let me know!  Thank you in advance for any suggestions/assistance.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If someone helped you out, please select their post as the solution and/or give them Kudos!
    Solved!
    Go to Solution.
    Attachments:
    Init HWC Device.vi ‏24 KB
    Run HWC Device.vi ‏30 KB

    Through trial and error I was able to come up with a way to do this:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    If someone helped you out, please select their post as the solution and/or give them Kudos!

  • Problem in dynamically generating the file upload field

    Hello all
    I am using netbeans 5.5 and visualwebpack for my jsf project.
    i have a problem in dynamically generating the file upload field and using it.
    I have a panel say "panelA" which holds file upload fields.
    Depending upon the count value i generate the file upload field using following code snippet:
    Upload upload1 = new Upload();
    upload1.setId("upload1");
    getPanelA.getChildren().add(upload1);
    The page successfully shows up the file upload fields. While the user clicks the submit button, i have used following logic to perform upload:
    List components = getPanelA().getChildren();
    for(int i = 0; i<components.size(); i++){
    if(components.get(i) instanceof Upload){
    UploadedFile uploadedFile = ((Upload)components.get(i)).getUploadedFile();
    I am getting this UploadedFile object null.
    How can i solve this problem.

    Anyway,
    I solved the problem.
    Actually i was using label property of the upload field due to which i got null pointer exception.
    I removed the label property of the upload field and things worked as i wanted.

Maybe you are looking for