HTMLLoader and Scrollbars

I've been following the lynda.com AIR for Flash Devs
tutorial. It shows how to add the Scrollbar Class to an HTMLLoader.
Is it just me, or is Adobe's Scrollbar a rather odd
implementation?
I mean it works, but, for instance, the scroll handle you
grab with your mouse is always much much smaller than it should be
when compared to the actual content.
Also, I have the stage resizing and the scrollbars moving
properly, but I've noticed that resizing the app smaller, always
forces the scrollbar to appear, regardless of the content being
larger than the content area or not.
Is everyone using this implementation for scrolling, or are
people using something else?

OK - my problem with the HTML Control is I can't seem to add it to a child custom class.
i.e. - I have my main Air app and a custom class extending UIComponent. I add the custom class to the stage in the main app, and in the custom class, add an HTML Control.  I'm also adding a different HTML Control to the main app.
Only the HTML in the main app actually shows up. No errors given. What am I missing here?
Main Air app mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.HTML;
var _myComp:Comp;
private function init():void {
_myComp = new Comp();
_myComp.init();
_myComp.x = 200;
_myComp.y = 200;
addChild(_myComp)
var html:HTML = new HTML();
html.htmlText = "Text on main application window"
addChild(html);
]]>
</mx:Script>
</mx:WindowedApplication>
Comp Class:
package {
import flash.display.Shape;
import mx.controls.HTML;
import mx.core.UIComponent;
public class Comp extends UIComponent {
public function Comp() {
public function init():void {
var shape:Shape = new Shape()
shape.graphics.beginFill(0,1)
shape.graphics.drawRect(0,0,200,400);
shape.graphics.endFill();
addChild(shape)
var html:HTML = new HTML();
html.htmlText = "Text Inside child component";
html.x = 200
this.addChild(html);
trace(html.htmlText)

Similar Messages

  • HTMLLoader, main application window and scrollbars

    If I instantiate HTMLLoader with "new HTMLLoader.createRootWindow()," scrollbars show up correctly when text overflows the set width and height. I can add it to the stage, but I'm still left with an empty popped up native window
    If I instantiate HTMLLoader with simply "new HTMLLoader()," you can add it to the stage, but it doesn't include scrollbars when the window overflows with text.
    What I want to do is incredibly simple - create a new HTMLLoader instance, have as part of my main application's stage, and get the benefit of the built-in scrollbars.  Why is that so difficult?

    OK - my problem with the HTML Control is I can't seem to add it to a child custom class.
    i.e. - I have my main Air app and a custom class extending UIComponent. I add the custom class to the stage in the main app, and in the custom class, add an HTML Control.  I'm also adding a different HTML Control to the main app.
    Only the HTML in the main app actually shows up. No errors given. What am I missing here?
    Main Air app mxml:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
    <mx:Script>
    <![CDATA[
    import mx.controls.HTML;
    var _myComp:Comp;
    private function init():void {
    _myComp = new Comp();
    _myComp.init();
    _myComp.x = 200;
    _myComp.y = 200;
    addChild(_myComp)
    var html:HTML = new HTML();
    html.htmlText = "Text on main application window"
    addChild(html);
    ]]>
    </mx:Script>
    </mx:WindowedApplication>
    Comp Class:
    package {
    import flash.display.Shape;
    import mx.controls.HTML;
    import mx.core.UIComponent;
    public class Comp extends UIComponent {
    public function Comp() {
    public function init():void {
    var shape:Shape = new Shape()
    shape.graphics.beginFill(0,1)
    shape.graphics.drawRect(0,0,200,400);
    shape.graphics.endFill();
    addChild(shape)
    var html:HTML = new HTML();
    html.htmlText = "Text Inside child component";
    html.x = 200
    this.addChild(html);
    trace(html.htmlText)

  • Problem with window repaint and scrollbars in edit mode (LabVIEW 8.0.1)

    I am running LabVIEW 8.0.1 in Windows XP SP3.  For my main VI, I ran into a strange problem about 5 months ago.  The front panel window - in both edit mode and run mode - stopped repainting itself on the right side which is most visible when you scroll up and down, but also visible with overlapping windows.  Coincident with the repaint problem, both scrollbars look disabled with greyed-out arrows and no boxes in the bars that you can click and drag to scroll the window.  The scrollbars still partially work if you hover the mouse over them and roll the mouse wheel but clicking and dragging doesn't work. 
    The front panel has lots of controls and indicators including tab-control containers and is larger in the horizontal and vertical directions so both scrollbars should be active.  But I deleted all elements on the front panel and everything in the block diagram and the problem persists.  So the problem is not directly related to some control/indicator display.
    I saved the simple VI with this problem (using a wide text line and a tall rounded box to test), then created a new VI and copied the two elements to the new VI.  This new VI does not have the repaint and scrollbar problem.  The two VIs differ slightly in memory usage and in revision number (the bad one is revision 1785 and the good one is revision 3), but otherwise the two VIs are identical.  I attached both VIs to this posting.  When you first open the bad VI, you'll see the disabled scrollbars whereas the good VI has active scrollbars.  To replicate the repaint problem, scroll the window up and down with your mouse wheel.  If it's fine when you first open the VI, click on another window, then click back on the VI window and try the mouse wheel again.  This clicking-away-and-back always causes the repaint problem for me.  I tried the VIs on two different computers both running Windows XP SP3 and LabVIEW 8.0.1 with identical results.
    Here's what I discovered from troubleshooting with the simple VIs:
    * scrollbars always disabled
    * repaint problem in main window for window widths larger then 680 pixels
    * repaint problem in main window menu toolbar for widths larger than 646 pixels
    * entire window becomes disabled for window widths larger than 1348 pixels
    * can repaint window by minimizing and restoring, but only repaints that one time
    * scrollbar boxes sometimes flicker into view but then disappear
    * scroll left and right by hovering mouse over horizontal scrollbar and using mouse wheel
    I found something similar on this forum (thread: Problem with front panel refresh) - it might be related to the CAR about the panel being offset internally.  I don't have access to LabVIEW 8.5 or later and don't plan to upgrade - I haven't tried the trial version as that user did.  I could try to copy and paste my entire block diagram to a new VI but the VI is so large I'm afraid something would break, plus I don't want this to happen again in a few months.  The problem seemed to occur after a certain number of saves (or revision number).  I save backup copies often and when the problem first happened, I was able to go back to a previous version, make the missing changes and save it with no problems, but this only delayed the problem and it came up later.  So maybe it's the revision number.  It didn't seem related to a particular addition or modification in the front panel or diagram.
    The image attached shows the repaint and scrollbar problems in the bad VI.
    This brings up a question I have - if this problem is a bug and was fixed in 8.5 and later, is there a way to apply bug fixes to earlier versions?  Or do I have to pay for an upgrade to fix such bugs?
    Solved!
    Go to Solution.
    Attachments:
    RepaintTest_Bad.gif ‏27 KB
    Test Repaint - From Bad VI, scrollbar and repaint problems.vi ‏7 KB
    Test Repaint - From Blank VI, no problems.vi ‏5 KB

    Seems something got corrupted with this VI. Copy things over to a fresh VI and things should be OK.
    See also this recent report of a similar issue.
    LabVIEW Champion . Do more with less code and in less time .

  • Instantiating TextInput and ScrollBar

    I have an application that I moved from Flash CS3. It
    instantiated a fl.controls.TextInput and ScrollBar and added them
    to the display list with addChild(). After moving to Flex 3 I
    naively changed the packages to mx.controls and got the code to
    compile. However the objects do not show on screen so I am missing
    something. All the examples I can find use mxml. I would like to
    create the above objects programatically because otherwise I need
    to put together mxml for all the application and this will be a
    major setback.
    What options do I have?
    Thanks!

    Just for the record, I am going for now in this path
    http://www.zeuslabs.us/2008/02/10/how-to-use-the-flash-cs3-component-set-in-a-flex-builder -actionscript-project/
    This seems to be the easiest incremental change.

  • [svn:fx-trunk] 12078: Fix for change events in Slider and ScrollBar.

    Revision: 12078
    Revision: 12078
    Author:   [email protected]
    Date:     2009-11-21 00:14:46 -0800 (Sat, 21 Nov 2009)
    Log Message:
    Fix for change events in Slider and ScrollBar. They now dispatch change events as before, whenever the user alters the value. In addition, changeStart and changeEnd events will be dispatched at the start and end of a user interaction or animation.
    TrackBase.as - Added metadata for changeStart/End events. Dispatch change, changeStart/End events when appropriate.
    Slider.as - Dispatch change, changeStart/End events when appropriate.
    ScrollBar.as - Dispatch the appropriate events. Note that changeStart/End will not dispatch when shift-clicking on a non-animating ScrollBar. Renamed animatingSinglePage to animatingOnce to better reflect its function. Refactored some method calls to the new private stopAnimation(), which is more consistent with Slider. Refactored the button handlers to make stepping more readable. Added a setValue call in animationEndHandler where we were ending up off the snapInterval when shift-clicking.
    Updated FlexEvent, ScrollBarTestScript and VideoPlayer to handle the new events.
    QE notes: Update Slider and ScrollBar tests
    Doc notes: No
    Bugs: SDK-24264
    Reviewer: Ryan
    Tests run: checkintests
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24264
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
        flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml

  • 10g: Enabled list items and scrollbars look disabled

    Hi,
    Is there any way to change the way list items and scrollbars look in 10g?
    Enabled list items and scrollbars look disabled to me (the list button on the list item and the arrow buttons on the scrollbars are greyed out).
    Visual attributes doesn't seem able to control this.

    Nope you're pretty much stuck with the look and feel of the decoratiosn unless you want to create your own pluggable component - this would give you more control but you'd have to consider if it's worth the investment.

  • Help with z program output and scrollbars

    Morning all
    We are running an ERP2004 SAP system, and we're having some problems with a z program. Basically it was a quick bit of code put together to check user names against the names stored in PA.
    Now the problem is that when the report is output on a PC running its screen resolution at 1024x768, we can't see the last field output in the report and there's no horizontal scroll bar. If we run the program on a desktop with a screen resolution at 1280x1024, we can see the last column, so no need for the scrollbar and it's not output.
    Now I thought SAP added the scroll bars automatically for you if you needed them? Has anyone come across this before, because I haven't and it seems very strange indeed!

    and also u have to checl LINE-SIZE while defining the Report.
    Regards
    Prabhu

  • HtmlLoader and swf alignment

    Hello! I'm using adobe air 1.5, i created an htmlLoader that resizes with the stage as well, the problem is when the user visits websites with flash content like youtube, the swfs move to the origin of the htmlloader instead of its own place in the html site?! why does this happen?????
    here is what i'm talking about, when i resize the movie, the youtube window for example, stays:
    http://img441.imageshack.us/img441/958/airhtmlissue.jpg

    The AIR runtime uses a sandbox based security model. This basically means that content loaded for example from the root of your AIR application can only load resources from the local sandbox while content loaded from a non-application sandbox (for example http://www.example.com) can load content only from that specific domain. More info on the AIR security model and how sandboxes work in AIR please read the following article - Introduction to the AIR security model.
    The referral cannot be changed programatically in an AIR application but using a non-application sandbox that will load resources from the root of your application but which will behave as they were loaded from a custom domain (http://www.example.com) you could obtain the needed HTTP referral. More info on non-application sandboxes can be found at the following location - Cross-scripting content in different security sandboxes.
    Let us know if this helped you,
    --Catalin

  • JTable help:- Setting Table Header and scrollbar

    hi
    everybody.
    i have create a table which is getting the data from URL Connection by parsing the XML file.
    All is working fine but the only problem is that i am not able to set the column headers.
    and also want to set scrollbars to my table because the data in my table is long.
    i have tried with JTableHeader and TableModel, but i am confused with it.
    so can anybody solve my problem.
    i am sending my code for creating table, and also sending the file from which the data is retrieved.
    please go through the code and reply me.
    If u are not able to parse the xml file than simply removed that part and using the QUERYResp.txt which i have attached, because i think the URL which i am using will not be accessed other than my network
    waiting for reply.
    //SelectPrivilege.java
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
    import java.net.*;
    import java.util.*;
    public class SelectPrivilege extends JFrame implements ActionListener
         JFrame frame;
         JTable table;
         JPanel buttonpanel;
         JButton openbutton,donebutton;
         String strclassname,strmembertype,strpasswordduration,strclassdescription;
        private boolean ALLOW_ROW_SELECTION = true;
        ListSelectionModel rowSM;
         Document document;
         Node node;
         NodeList employees,children;
         Element employee;
         String inputline,strSuccess;
         URL url;
         URLConnection connection;
         FileInputStream fis;
         DataInputStream dis;
         String objid,classname,membertype,passwordexp,description,finalstring;
         StringTokenizer st;
         String strurl = "<CLFAPP><CLFYAPP_MSG_TYPE_MSG_TYPE>QUERY</CLFYAPP_MSG_TYPE_MSG_TYPE><TABLE>PRIVCLASS</TABLE><FIELDS>OBJID,CLASS_NAME,MEMBER_TYPE,PSWRD_EXP_PER,DESCRIPTION</FIELDS><FILTER></FILTER></CLFYAPP>";
         public SelectPrivilege()
              JFrame.setDefaultLookAndFeelDecorated(true);
              frame = new JFrame("Select Privilege Class");
              try
                   url = new URL("http://10.8.54.55:7002/RILClarifyAppRequest?XML=" + strurl);
                   connection = url.openConnection();
                   BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                   FileOutputStream out = new FileOutputStream("QUERYResp.xml");
                   PrintStream p = new PrintStream(out);
                   while ((inputline = reader.readLine()) != null)
                        System.out.println("Response Received......");
                        p.println(inputline);
                   p.close();
                   reader.close();
              catch(MalformedURLException e)
                   System.out.println(e.getCause());
              catch(IOException e)
                   System.out.println(e.getCause());
              //Parsing XML
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              try
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   document = builder.parse(new File("QUERYResp.xml"));
                   node = document.getDocumentElement();
                   employees = document.getElementsByTagName("RECORD");
                   FileOutputStream out = new FileOutputStream("QUERYResp.txt");
                   PrintStream p = new PrintStream(out);
                   for(int i = 0; i < employees.getLength(); i++)
                        final Element employee = (Element)employees.item(i);
                        p.print(getValueOf(employee,"OBJID"));
                        p.print("#");
                        p.print(getValueOf(employee,"CLASS_NAME"));
                        p.print("#");
                        p.print(getValueOf(employee,"MEMBER_TYPE"));
                        p.print("#");
                        p.print(getValueOf(employee,"PSWRD_EXP_PER"));
                        p.print("#");
                        p.print(getValueOf(employee,"DESCRIPTION"));
                        p.print("#@");
                        //p.close();
                        objid = getValueOf(employee,"OBJID");
                        classname = getValueOf(employee,"CLASS_NAME");
                        membertype = getValueOf(employee,"MEMBER_TYPE");
                        passwordexp = getValueOf(employee,"PSWRD_EXP_PER");
                        description = getValueOf(employee,"DESCRIPTION");
              catch(SAXException sxe)
                   Exception x = sxe;
                   if(sxe.getException() != null)
                        x = sxe.getException();
                   x.printStackTrace();
              catch(ParserConfigurationException pce)
                   pce.printStackTrace();
              catch(IOException ioe)
                   ioe.printStackTrace();
              catch(NullPointerException npe)
                   System.out.println(npe.getCause());
              table();
              buttonpanel = new JPanel();
              buttonpanel.setLayout(new FlowLayout());
              openbutton = new JButton("Open");
              donebutton = new JButton("Done");
              donebutton.setMnemonic('d');
              buttonpanel.add(openbutton);
              buttonpanel.add(donebutton);
              openbutton.addActionListener(this);
              donebutton.addActionListener(this);
              Container contentpane = getContentPane();
              frame.setContentPane(contentpane);
              contentpane.setLayout(new BorderLayout());
              contentpane.add(table.getTableHeader(),BorderLayout.PAGE_START);
              contentpane.add(table,BorderLayout.CENTER);
              contentpane.add(buttonpanel,BorderLayout.SOUTH);
              frame.setSize(500,400);
              frame.setVisible(true);
         static String getValueOf (Element element, String tagname)
              final NodeList children = element.getElementsByTagName(tagname);
              if (children.getLength() == 0) { return null; }
                   return concat(children, new StringBuffer()).toString();
         static StringBuffer concat (NodeList nodelist, StringBuffer buffer)
              for (int index = 0, length = nodelist.getLength(); index < length; index++)
                   final Node node = nodelist.item(index);
                   switch (node.getNodeType())
                        case Node.CDATA_SECTION_NODE: buffer.append(node.getNodeValue()); break;
                        case Node.ELEMENT_NODE: concat(node.getChildNodes(), buffer); break;
                        case Node.TEXT_NODE : buffer.append(node.getNodeValue()); break;
              return buffer;
         public void table()
              try
                   fis = new FileInputStream("QUERYResp.txt");
                   dis = new DataInputStream(fis);
                   finalstring = dis.readLine();
              catch(IOException e)
              st = new StringTokenizer(finalstring, "@");
              table = new JTable(st.countTokens() + 1,5);
              table.setValueAt("OBJID",0,0);
              table.setValueAt("CLASS NAME",0,1);
              table.setValueAt("MEMBER TYPE",0,2);
              table.setValueAt("PASSWORD DURATION",0,3);
              table.setValueAt("DESCRIPTION",0,4);
              int count = 0,cnt=0;
              StringTokenizer st1 = null;
              try
                   while(st.hasMoreTokens())
                        st1 = new StringTokenizer(st.nextToken(),"#");
                        cnt=0;
                        while(st1.hasMoreTokens())
                             table.setValueAt(st1.nextToken(),count,cnt++);
                        count++;
                        st1=null;
              catch(Exception e)
                   e.printStackTrace();
              //JTableHeader header = table.getTableHeader();
              table.setPreferredScrollableViewportSize(new Dimension(200,500));
            table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            if(ALLOW_ROW_SELECTION)
                 rowSM = table.getSelectionModel();
                 rowSM.addListSelectionListener(new ListSelectionListener(){
                            public void valueChanged(ListSelectionEvent e)
                                 ListSelectionModel row = (ListSelectionModel)e.getSource();
                                 if (row.isSelectionEmpty() == true)
                                    System.out.println("No rows are selected.");
                                else
                                     if (e.getValueIsAdjusting())
                                          return;
                                         int selectedRow = row.getMinSelectionIndex();
                                         System.out.println("Row " + selectedRow + " is now selected.");
                 JScrollPane scrollpane = new JScrollPane(table);
         public void createprivilegeclassdetails()
              PrivilegeClassDetails privilegeclassdetailsobj = new PrivilegeClassDetails();
              privilegeclassdetailsobj.frame.setSize(400,400);
              privilegeclassdetailsobj.frame.setVisible(true);
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equalsIgnoreCase("done"))
                   System.out.println("SelectPrivilege Window Closed");
                   frame.dispose();
              if(str.equalsIgnoreCase("open"))
                   System.out.println("here");
                   createprivilegeclassdetails();
         public static void main(String a[])
              new SelectPrivilege();
    Copy the whole line if ur saving this in a file, as it is a string
    //QUERYResp.txt
    268435457#CSR#Employees#0#Customer Support Representative#@268435458#Hotline Engineer#Employees#0#Hotline Engineer#@268435459#Product Specialist#Employees#0#Product Specialist#@268435460#Senior Product Specialist#Employees#0#Senior Product Specialist#@268435461#Field Engineer#Employees#0#Field Engineer#@268435462#Support Manager I#Employees#0#Support Manager I#@268435463#Support Manager II#Employees#0#Support Manager II#@268435464#Development Engineer#Employees#0#Development Engineer#@268435465#Development Manager#Employees#0#Development Manager#@268435466#QA Engineer#Employees#0#QA Engineer#@268435467#QA Manager#Employees#0#QA Manager#@268435468#Technical Writer#Employees#0#Technical Writer#@268435469#Technical Publications Manager#Employees#0#Technical Publications Manager#@268435470#Site Configuration Manager#Employees#0#Site Configuration Manager#@268435471#Product Administrator#Employees#0#Product Administrator#@268435472#Technical Product Administrator#Employees#0#Technical Product Administrator#@268435473#Contract Specialist#Employees#0#Contract Specialist#@268435474#System Administrator#Employees#90#System Administrator#@268435475#Submitter#Contacts#0#Submitter#@268435476#Viewer#Contacts#0#Viewer#@268435477#Inventory Specialist#Employees#0#Inventory Specialist#@268435478#Logistics Manager#Employees#0#Logistics Manager#@268435479#Sales Representative#Employees#0#Sales Representative#@268435480#Marketing Representative#Employees#0#Marketing Representative#@268435481#Sales Manager#Employees#0#Sales Manager#@268435482#Offline User#Employees#0#Privilege Class for use with ClearEnterprise Traveler#@268435483#Call Center Agent#Employees#30#Call Center Agent#@268435484#Call Center Manager#Employees#0#Call Center Manager#@268435485#Customer Service Agent#Employees#0#Customer Service Agent#@268435486#Telemarketing Agent#Employees#0#Telemarketing Agent#@268435487#Telesales Agent#Employees#0#Telesales Agent#@268435488#Telesales Manager#Employees#0#Telesales Manager#@268435489#Avaya_Users#Employees#0#Privilege Class for Avaya. Only Clear Call Center Application Enabled.#@268435490#Account Manager#Employees#0#Account Manager for Accounts#@268435491#Account Executive#Employees#30#Account Executive for Accounts#@268435492#Pre Sales Tech Executive#Employees#0#Pre Sales Technical Executive#@268435493#Pre Sales Tech Team Lead#Employees#0#Pre Sales Technical Team Leader#@268435494#Post Sales Tech Executive#Employees#0#Post sales technical executive#@268435495#Post Sales Commercial Executive#Employees#0#Post sales commercial executive#@268435496#Vertical Domain Expert#Employees#0#Vertical Domain Expert#@268435497#Supervisor#Employees#0#Supervior who approves the billing adjustments#@268435498#RA#Employees#0##@268435499#Configuration#Employees#90#Privilege Class for Clarify Configurators#@268435500#FO Online Agent#Employees#0#Testing#@268435501#OTAF Remote Funcionality#Employees#0##@268435502#Sr.Manager CC#Employees#0#Customization for phase1 RUNS (1a).#@268435503#FO Online Unit - Agent #Employees#0#Customization for phase1 RUNS (1).#@268435504#FO Online - Agent (outbound)#Employees#0#Customization for phase1 RUNS (1b).#@268435505#Incoming mail unit manager#Employees#0#Customization for phase1 RUNS (2).#@268435506#Save team agent#Employees#0#Customization for phase1 RUNS (3).#@268435507#Save team supervisor#Employees#0#Customization for phase1 RUNS (4).#@268435508#Technical suport agent#Employees#0#Customization for phase1 RUNS (5).#@268435509#Technical suport supervisor#Employees#0#Customization for phase1 RUNS (6).#@268435510#Webstore Agents#Employees#0#Customization for phase1 RUNS (7).#@268435511#FO Offline Unit (Reg)- Supervisor#Employees#0#Customization for phase1 RUNS (8).#@268435512#Head C. Service (Circles)#Employees#0#Customization for phase1 RUNS (8a).#@268435513#Revenue Assurance#Employees#0#Customization for phase1 RUNS (9).#@268435514#Manager CC#Employees#0#Customization for phase1 RUNS (1a).#@268435515#FO Offline Unit - Agent at Contact Centre#Employees#0#Customization for phase1 RUNS (1).#@268435516#Telesales unit agent#Employees#0#Customization for phase1 RUNS (1).#@268435517#Incoming mail unit agent#Employees#0#Customization for phase1 RUNS (1).#@268435518#Telesales supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435519#FO Online Unit - Supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435520#FO Offline Unit (CC) - Supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435521#TT unit agent#Employees#0#Customization for phase1 RUNS (5).#@268435522#TT unit supervisor#Employees#0#Customization for phase1 RUNS (6).#@268435523#Pos Agents#Employees#0#Customization for phase1 RUNS (7).#@268435524#FO Offline Unit - Regions#Employees#0#Customization for phase1 RUNS (7).#@268435525#Service fulfillment unit agent#Employees#0#Customization for phase1 RUNS (7).#@268435526#Sales Executives (Regions)#Employees#0#Customization for phase1 RUNS (7).#@268435527#Webstore Manager#Employees#0#Customization for phase1 RUNS (8).#@268435528#Service fulfillment unit manager#Employees#0#Customization for phase1 RUNS (8).#@268435529#Network#Employees#0#Customization for phase1 RUNS (9).#@268435530#After Sales#Employees#0#Customization for phase1 RUNS (9).#@268435531#Handsets#Employees#0#Customization for phase1 RUNS (9).#@268435532#Portal#Employees#0#Customization for phase1 RUNS (9).#@268435533#GIS#Employees#0#Customization for phase1 RUNS (9).#@268435534#Logistics#Employees#0#Customization for phase1 RUNS (9).#@268435535#Data Services#Employees#0#Customization for phase1 RUNS (9).#@268435536#Production Support#Employees#0#Since it is possible to temper the data form the Clarify GUI , restrict all access to users except for the minimal in order to control the env.#@268435537#Webstore Users#Employees#0##@268435539#IN_CSR#Employees#0#Privilege Class for Prepaid CSR's#@268435540#Configuration_Maha#Employees#0#Privilege Class for Clarify Configurators#@268435541#test privilege class#Employees#0##@268435542#PS_TEST#Employees#0##@268435543#TEST SACHIN#Employees#0#SACHIN TEST#@268435544#Supervisor1#Employees#300#Supervise and monitor agents#@268435545#Call Center Adminstrator#Employees#0#Call Center Admin Priv#@268435546#siva_test#Employees#0#new privilege class for test purpose#@268435547#PREPAID PCO#Employees#0#For PREPAID PCO#@268435548#santo_test#Employees#0#new privilage class for test#@

    Don't start by writing a 100 line program to test a component you don't know how to use. Start by writing a 10 line program. This is all you need:
              String[] columnNames = {"Date", "String", "Centered", "Integer", "Boolean"};
              Object[][] data =
                   {new Date(), "A", "A", new Integer(1), new Boolean(true)},
                   {new Date(), "B", "B", new Integer(2), new Boolean(false)},
                   {new Date(), "C", "C", new Integer(10), null},
                   {new Date(), "D", "D", new Integer(4), new Boolean(false)}
              DefaultTableModel model = new DefaultTableModel(data, columnNames);
              model.addTableModelListener( this );
              table = new JTable( model )
                   //  Returning the Class of each column will allow different
                   //  renderers to be used based on Class
                   public Class getColumnClass(int column)
                        return getValueAt(0, column).getClass();
              table.setPreferredScrollableViewportSize(table.getPreferredSize());
              JScrollPane scrollPane = new JScrollPane( table );
              getContentPane().add( scrollPane );

  • HTMLLoader and embeded *.pdf file - get some info

    Hi,
    Is there any way to get some info from embeded in HTMLLoader *.pdf file ? I'm writing a small AIR application which need's for example number of a currently viewed pdf page. I'm using Flash Builder (trail version) and Adobe Reader 9 as a pdf browser. Of course I saw http://www.adobe.com/devnet/air/flex/quickstart/scripting_pdf.html but I'm using free Adobe Reader - not professional.
    Thank for Your answers.

    Yes, just after posting--and it solved the problem.
    Thanks.

  • JEditorPane and scrollbars

    Hi there,
    I'm using the JEditorPane to display some simple html and css - in fact all it is a div of a fixed width containing an abitary amount of text. What I want to do is calculate the height of the div in pixels. In a browser this is easy enough, you just use javascript to look up the div's clientHeight property, but for the life of me I can't workout how to do this using the Swing api in the JEditorPane. It must know how high the whole rendered html is as it knows when to add the vertical scroll bar
    As an alternative approach i though i could just set the size of the containing JFrame and then check to see if a vertical scroll bar had appeared, if it had then I would know that the height of the text in the div exceeded the hight of the frame, but the
    scrollPane.getVerticalScrollBar().isVisible() method always seems to return false...
    If anyone has any idea how to do this (or rather, what i'm doing wrong) it would be appreciated.
    Thanks
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.IOException;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.UIManager;
    public class TextPane extends JFrame {
           private  JEditorPane pane;
           private   JScrollPane scrollPane;       
         public TextPane(){
             pane = new JEditorPane();
             pane.setEditable(true); // Read-only
             try{
                  pane.setPage("html-file-that-contains-enough-text-to-cause-the-scroll-bar-to-appear.html");
             catch(IOException e){
                  throw new RuntimeException(e);
             scrollPane = new JScrollPane(pane,
                       JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
             getContentPane().add(scrollPane);
           public static void main(String[] args) {
                  try {
                      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                  } catch (Exception evt) {}
                  TextPane f = new TextPane();
                  f.addWindowListener(new WindowAdapter() {
                    public void windowClosing(WindowEvent evt) {
                      System.exit(0);
                  f.setSize(400, 300);
                  f.setVisible(true);
                  if(f.scrollPane.getVerticalScrollBar().isVisible()){
                     System.out.println("Scroll Bar is showing");
                 else{
                     System.out.println("Scroll Bar is not showing");
    }

    If the editorpane is visible you can use getPreferredSize(). The srollpane also relies on this method to determine when to show scrollbars.
    public class DivHeight {
        public static void main(String[] args) throws Exception {
            final JEditorPane pane = new JEditorPane();
            pane.setBorder(null);
            pane.setContentType("text/html");
            pane.setText("<html><div style='margin: 0px; padding: 0px; width: 200px; background-color: #DDDDDD;'>Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk </div></html>");
            JButton button = new JButton("print size");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.out.println(pane.getPreferredSize());
            JFrame frame = new JFrame();
            frame.getContentPane().add(button, BorderLayout.NORTH);
            frame.getContentPane().add(new JScrollPane(pane), BorderLayout.CENTER);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(400, 300);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
    }

  • ADF portlets and scrollbars

    ADF portlets are rendered in iframe by webcenter. It is not possible to render them in a normal div like normal JSP portlets.
    I notice it has some disadvantages.
    For example when using popups. If the content of my portlet is smaller than a popup i use in the portlet, the portlet does not stretch but instead you get scrollbars.
    If i convert the same portlet as a taskflow and add this to the page using the resource catalog, the popup is rendered in the page instead of the taskflow itself.
    What's the difference?
    Also, suppose you have a portlet that renders a tree. When you first see the portlet, the tree is completly closed. When you open some nodes, the portlet does not stretch but you get scrollbars...
    Anybody who knows how we can change this behaviour so the iframe stretches itself depening on the content? The first time it renders the iframe gets the size of the content but if the content changes during the session, the iframe does not stretch.

    A practical example:
    I have a task flow that shows a table. That table shows 10 lines and fits perfect within my portlet. Below the table is a button to add a row. THis button invokes a popup so the user can enter the data. All well.
    The table also has a detailStamp facet that shows details about the record. When i click to open the details, the portlet does not grow but instead i have scrollbars.
    This is realy not usefull and userfriendly. The portlet should grow in the page, not stay the same size.
    I guess the reason for this is that webcenter shows the portlets as IFrames instead of a div. Therefore the size of the portlet stays the same and we have to use scrollbars...

  • Messages and scrollbar

    Hi,
    In my requirement,
    Im sending the some table info to the class and receiving the same tables with changes and also messages.
    Now I'm working on 2sets of tables, one for sending and other for recieiving.
    I'm invalidating the node and binding the new table entires to this node.
    based on messages and reading the particular context eleemnet I'm throwing the message.
    here the mesasges are shown twice. I'm clearing all the things, refreshing tables etc.
    Here if I dont bind the new entries then Im able to get only one message.
    I'm using the Single message area across 3ALVs.
    Even the moving of the Scrollbar is causing the duplication of meesage and on the message area If we right click(DISPLAY HELP) that time also the message getting replicated..
    I tested by using the REMOVE_ELEMENT and INVALIDATE to clear the elements but the result is same.
    How to resolve this duplication.
    Please refer to my ealrier post on the same.
    Regarding duplication of messages
    Highly appreciate your earliest replies.
    Regards,
    Lekha.

    Hi Abhi,
    I have a Main View where I have 2 Transparent Containers(TCO).
    One has Message Area, Once has the ALV view containers emmbeded in it for 3 ALVs.
    In the 2nd view, I'm showing these ALVs in 3tabs with some common on View for Save.
    Im retreiving the data from the application class and displaying the same with the errors in the message area for these ALVs.
    Im showing the messages but duplicates are shown. I refreshed the entries in respective events for those tables.
    If I dont bind the table with the resuletd tables data from the class then only one message is shown.
    As this SAVE is common tie three ALVs the messages are for these 3ALVS that I have to throw to user.
    Is there any case that we if call the message manager explicitly then internally each ALV also calls it's own message manager...
    In the debugging I could find the messages replicated for the ADD_MESSAGE_ITEM of
    CL_WDR_MESSAGE_MANAGER.
    Any inputs are highly appreciated.
    Regards,
    Lekha.

  • Preview pane no text wrapping and scrollbars missing, and how to copy corrected settings to other folders/make default?

    Hi, (this may be in the 353 items thrown up on a search of Mozilla support, but there seems to be a relevance/sort issue.)
    I don't want thunderbird to take up my whole screen. There are some problems when using a smaller window:
    1. TEXT NOT WRAPPING IN PREVIEW PANE: can you please advise the settings to make the text automatically wrap to the preview pane width? It goes off the edge. I don't want to have to scroll to see it or make my preview pane bigger. (I did this ages ago and need to do it again as I had to rebuild TB)
    3. COPY CUSTOM VIEW SETTINGS FOR ONE FOLDER TO OTHER FOLDERS OR SET AS DEFAULT: can you please advise instructions how to do this? (So I can apply my corrected settings to all other folders views!)
    2. DONE: VERTICAL AND HORIZONTAL SCROLL BARS IN PREVIEW PANE: (I solved this, this is for readers with the same problems!) The scrollbars will not show if the toolbars at the top of the preview pane are wider than the pane. (I think this is called a bug.) Workaround:
    (a) maximise thunderbird window/widen the preview pane to show all the buttons across the top of the preview pane.
    (b) click the x on the redundant navigation toolbar to remove from preview pane. (you can put all these buttons on the mail toolbar at the top of the whole window- click view, toolbars to show it).
    (c) right click on one of the reply/forward etc icons at the top of the preview pane. Click customise. select icons only.
    (d) resize the width of your preview pane to desired width, which can be quite narrow as long as it is wider than the toolbar (you'll see the scrollbar disappear when its too narrow).
    Thanks!

    '''re: Flowed text.'''
    Very odd you do not auto have this as it is usually set as default.
    check settings:
    'Tools' > 'Options' > 'Advanced' > 'General' tab
    Click on 'config Editor' button
    it will tell you to be careful :)
    In top search type: flow
    look for the following line:
    * mailnews.display.disable_format_flowed_support; Value = false
    * If it says 'True', double click on the line to toggle 'True' to 'False'
    If you send plain text and want it Flowed text then check this line as well
    * mailnews.send_plaintext_flowed; Value = true
    * If it says 'False', double click on the line to toggle 'False' to 'True'
    Close config Editor window - top right X
    click on OK to save changes to Options.

  • Need help with drawing shape and scrollbar

    Hi everybody, I am newbie at java just started learning it. I have a few questions to ask.
    1. Can anyone show me to how to draw a equilateral penatgon, octagon, ( 5-10 sized shape) with polar cordinate.
    2. How to make the scrollbar back to their default state( work alone not together) after you use the "scrollbar1.setModel(scrollbar2.getModel())" method. For example I only want the scrollbar to work together when I choose circle as a shape after that I want the scrollbar to be back to normal when I pick another shape rectangle for example. When the scrollbar work together, how do I the make it so that the scrollbar move from bottom to top for vertical bar and from left to right for the horizontal bar when they work together instead of the default bar move from left(0) to right(max) for horizontal bar and from top(0) to bottom(max) for the vertical bar.

    Here's some code that builds regular polygonal icons.
    import java.awt.*;
    import javax.swing.*;
    class PolygonIcon implements Icon
         protected int height, width;
         protected int iheight, iwidth;
         protected int left, top, xc, yc, diam, idiam;
         protected Color background, foreground;
         protected double fract;
         protected int sides;
         protected int[] xp;
         protected int[] yp;
         PolygonIcon(int h, int w,  Color fc, Color bc, double fr, int s, boolean sym )
              sides = s;
              // save constructor args
              width = w;
              height = h;
              foreground = fc;
              background = bc;
              fract = fr;
              // define basic geometry
              diam = (width<height)?width:height;     // diameter
              xc = width/2;                              // x centre
              yc = height/2;                              // y centre
              int border = (int)(diam*.5*(1-fract));     // size of border
              idiam = diam-(border+border);                    // icon diameter
              if(sym)                                        // symetric case
                   top = (height-idiam)/2;               // top offset
                   left = (width-idiam)/2;               // left offset
                   iheight = idiam;                    // image height
                   iwidth = idiam;                         // image width
              else                                        // assymetric case
                   top = border;                         // top offset
                   left = border;                         // left offset
                   iwidth = width-(left+left);          // image width
                   iheight = height -(top+top);     // image height
              double srad = Math.toRadians(360.0/sides);
              int xs, ys;
              if(sym)xs = ys = diam/2;
              else
                   xs = iwidth/2;
                   ys = iheight/2;
              xp = new int[sides];
              yp = new int[sides];
              double rad;
              for(int i = 0; i<sides; i++)
                   rad = srad*i;
                   xp[i] = xc+(int)(Math.sin(rad)*xs);
                   yp[i] = yc+(int)(Math.cos(rad)*ys);
         // set colors
         public void setForeground(Color fg){foreground = fg;}
         public void setBackground(Color bg){background = bg;}
         // methods required for Icon interface
         public int getIconWidth(){return width;}
         public int getIconHeight(){return height;}
         public void paintIcon(Component c, Graphics g, int x, int y)
              if(background != null  && c.isEnabled())
                   g.setColor(background);
                   g.fillRect(x,y,x+width,y+height);
              if(foreground != null)
                   int [] xn = new int[sides];
                   int [] yn = new int[sides];
                   for(int i = 0; i<sides; i++)
                        xn[i] = x+xp;
                        yn[i] = y+yp[i];
                   Polygon p = new Polygon(xn,yn,sides);
                   g.setColor(foreground);
                   g.fillPolygon(p);
    and an example of their use
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class TestI extends JFrame
         TestI()
              addWindowListener(new WindowAdapter()
              {public void windowClosing(WindowEvent evt){System.exit(0);}});
              JLabel lbl1 = new JLabel(new PolygonIcon(50,100,Color.RED,Color.YELLOW,.90,6,true));
              JLabel lbl2 = new JLabel(new PolygonIcon(150,80,Color.BLUE,Color.GREEN,.75,8,true));
              JLabel lbl3 = new JLabel(new PolygonIcon(150,80,Color.BLUE,Color.GREEN,.75,3,false));
              Container cp = getContentPane();
              cp.setLayout(new FlowLayout());
              cp.add(lbl1);
              cp.add(lbl2);
              cp.add(lbl3);
              pack();
         public static void main(String[] args)
              new TestI().show();

Maybe you are looking for