Slice tool help needed width expands and contracts

I recently did a header for my website and srinks and expands
with different screen sizes I need a bit of help to undstand how
and why this happens.
I built it on a 19" screen fits perfectly on the page. Then
on the 15" I'm using now its very small leaving gaps along the
sides
here's the problem

No, I don't mean that your header should be all one image.
Currently, your header is a table with a number of images
inside it. The width of the table is "absolute." It is set to a
fixed number of pixels (800). It won't change. What you see as
smaller and larger on your different monitors is a result of the
different resolution that the two monitors have.
The forum content, on the other hand, is in tables with
widths that are "relative." They are are a percentage of the width
of the browser window (81%). These tables will change size
depending on the size of the browser window. For just one perfect
setting, everything will line up. For all other widths, you have a
mess.
You need your header table and your forum tables to match.
Either your header needs to be designed differently, so that it can
expand and contract gracefully when a browser window is a different
size (in pixels), or you need to edit your forum so that the
various parts are all 800 pixels wide instead of varying
percentages.
As for monitors, it isn't the physical size that is important
here, it's resolution. It isn't the number of inches, it's the
number of pixels. You can have a 21" monitor that's set to 800x600
pixels and you can have a 17" monitor set to 1600x1200 pixels. On a
monitor with 800x600 pixel resolution, your header will be the full
width of the screen and the forum content will be about 650 pixels,
indented on both sides. On a monitor that is 1600x1200 pixel
resolution, your header will be about half of the screen width and
your forum content will be about 1300 pixels wide.

Similar Messages

  • Help needed with header and upload onto business catalyst

    Can someone help with a problem over a header please?
    I have inserted a rectangle with a jpeg image in  background, in the 'header' section, underneath the menu. It comes up fine on most pages when previsualised, going right to the side of the screen, but stops just before the edge on certain pages. I have double checked that I have placed it in the right place in relation to the guides on the page.
    That's one problem.
    The second problem is that I tried to upload onto business catalyst, which got to 60% and refused to go any further, saying it couldn't find the header picture, giving the title and then u4833-3.fr.png. The picture is in the right folder I have double checked. And it isn't a png. Does it have to be ?
    And the third problem is that I got an email following my upload from business catalyst in Swedish. I am living in France.
    Can anyone help ? Thanks.

    Thanks for replying,
    How can I check the preview in other browsers before I publish a provisional site with BC?
    The rectangle width issue happens on certain pages but not others. The Welecom page is fine when the menu is active, also the contact page, but others are slightly too narrow. Changing the menu spacing doesn’t help - I was already on uniform but tried changing to regular and back.
    In design mode the rectangle is set to the edge of the browser, that’s 100%browser width right?
    Re BC I have about 200 images on 24 different pages and it seems to be having difficulty uploading some of them. But it has managed a couple I named with spaces but not others I named with just one name.
    Is there an issue on size of pictures ? If I need to replace is there a quick way to rename and relink or do I have to insert the photos all over again?
    I’m a novice with Muse with an ambitious site !
    Thanks for your help.
    Mary Featherstone
    Envoyé depuis Courrier Windows
    De : Sanjit_Das
    Envoyé : vendredi 14 février 2014 22:15
    À : MFeatherstone
    Re: Help needed with header and upload onto business catalyst
    created by Sanjit_Das in Help with using Adobe Muse CC - View the full discussion 
    Hi
    Answering the questions :
    - Have you checked the preview in Muse and also in other browsers ?
    - Does the rectangle width issue happens when menu is active , or in any specific state , Try to change the menu with uniform spacing and then check.
    - In design view the rectangle is set to 100% browser width ?
    With publishing :
    - Please try to rename the image file and then relink
    - If it happens with other images as well , see if all the image names includes strange characters or spaces.
    - Try again to publish
    With e-mail from BC :
    - Under preferences , please check the country selected.
    - If you have previously created partner account in BC and selected country and language then it would follow that, please check that.
    Thanks,
    Sanjit
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/6121942#6121942
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/6121942#6121942
    To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/6121942#6121942. In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Help with using Adobe Muse CC at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

  • Emac Display Expanding and Contracting

    I have a first generation Emac that I just bought used. The screen is expanding and contracting (left - right). Any suggestions on what this is? Thanks.

    You may have a defective IVAD cable, a relatively simple part to replace. Such problems plagued only the original nVidia-graphics powered eMac 700 and 800 MHz models.
    The characteristic symptomatic indicator of such a defect, however, is most commonly video shrinkage vertically, with the image collapsing from a full to half screen.

  • Small business needing to expand and deploy a network

    HI,
    I hope this is the correct forum to post this question.  If not, please move it to one more appropriate.
    We are a small company currently working from home but now have a need to expand into an office due to winning a contract with a large international organization.  We offer web market research services utilizing Web 2.0 techniques.  Our current 'network' infrastructure if you want to call it that is based around a standard home office scenarion - 24Mbit DSL 4 PC's, a couple of laptops, Dlink gigabit switch and the router from the telecom company.  Our printers are networked via the switch and we run Windows 7.  We have servers hosted in the Rackspace Cloud and with Amazon S3 but no current physical server.  Email is via a hosted Exchange package.
    Due to the new contract we will have to hire two to three additional personnel taking us to 7 staff in total and that requires a move to a dedicated office.  That wouldn't be much of an issue if we only needed to setup an office LAN but the crunch comes within the security protocols we are required to meet in the new contract.  We'll be storing customer data on servers and we'll require an audit of our systems once in place.  We will be scanned by our new client and expected to install a scanner appliance to be deployed on our internal network which will allow our new client to periodically scan us for network vulnerabilities.
    The key issue is that we have to have physical sight of the server that is holding the data, which also needs to have WAN access.  This server must reside on a network independent from our office LAN.  We'll need VPN access to this server.  The requirements document also demands a hardware firewall.  The new office has Cat6 cabling that routes back to a server room.  Apart from that, this room is empty.
    It's a bit of a daunting task and I'd like to know what equipment we'll require to setup two independent networks with WAN access.  The two new servers will probably come from Dell and will be rack mounted.  I'm sure we'll need the services of a network professional but I'd like to be clear in my own head about what components we will need to purchase to deploy this network, and what would be a suitable internet network connection.  The server for the new project will need to run a web and MySQL server and it will be accessed by around 600 people across Europe and the USA each month.  I can't give a clear figure on total bandwidth but the 600 people will be accessing a pretty standard WordPress site.  The number of users will increase to 6000 per month within 6 months.  On top of that office staff will be sending emails and using web services on a daily basis.  The office server will run Windows Server 2008 with 10 CAL's.  We have an initial capital budget of about $12,500.  Within 6 months we will need to deploy our own SharePoint server for this project.  A dedicated remotely hosted SharePoint solution will not be acceptable to the client.  More budget will be available for this.  Support will be delivered by Dell for the servers and network maintenance will be contracted out.
    Any help in making this a little less daunting would be much appreciated.
    Thanks in advance.

    Leo has given you some excellent advice ie. you cannot choose a kit list until you have a design. It just doesn't work the other way around. If you don't have the experience to design the solution then you can't really be choosing the kit. Otherwise when you do hire your consultant he might well be constrained by the kit already chosen and you will not get the best solution for your needs.
    Please don't take any of this the wrong way. NetPro is a great forum for helping people out with technical and design issues with Cisco equipment but there are times when NetPro is not the best solution and this is one of them. We could each give you a kit list of what we "think" is the best solution but that really should come from the designer.
    Jon
    Leo - will you please stop losing your points oops, and now they are back again

  • Help needed in schema and flow of my DB

    I am dealing with a large scale of data and the senario is that.
    i am getting data from stream , i have developed an aplication called AClient (in C++) which is getting data from stream and putting that data live in my db table called live using ODBC (previously i was using Pro C but i didnot find good help on that for new versions), this data insertion is like 2000 records per min, each record is approx. 200k.
    As this data is very critical so we can't afford to miss this data.Data is automatically getting commit on each insertion, so the I/O operations bar is HIGH.
    Now after saving this data live, we perform some actions using oracle JOBs,
    I1. One job is used to fetch approx. 200,000 from table Live, merge 5-6 records into one record after every 1 hour, and put these records in a table named COM.
    I2. One jos is used to fetch approx. 200,000 from table Live other than those inserted in COM, and put them in another table INCOM.
    I3. One job is to fetch all records preior to 6 hours, and put them in an archive table ARC, also delete them from Live.
    Now to export this data in CSVs we are using some more Oracle JOBs.
    E1. One job is to fetch last two hours data from COM table and export this data in CSV format after every 2 hours.
    E2. One job is to fetch one day records from INCOM table and export this data in CSV format scheduled in night time , once for a day.
    Now the problem is that i am facing performace issues, i have got a very good hardware with 32GB RAM , 1.5T harddisk and quard core processsors.
    TOP issues are fetching data is too slow, and I/O operations shown in OEM preformace tab are too many.
    Please guide me what should i do.
    like using partition tables,
    and/or use of BI tools, fetch using cubes & dimensions.
    and/or use any special tunning related to memory or I/O.
    and/or rescheduling the JOBs.
    and/or perform analyze table to make fetch process faster.
    ANY HELP.

    I have worked on this system many times before.
    Not the one you have written but others that could be described with the exact same words.
    And each and every time the reason is that they don't scale and the performance is abysmal.
    What you have done, in the design, is systematically violate every performance and scalability rule and all, seemingly, for a good reason.
    The problem is that databases don't work that way.
    If you can not risk losing data write a log file, just as Oracle writes its redo logs.
    Then write one process that takes the raw input and generates the desired output.
    I can already hear the protest about how this can not be done. I've heard those too over and over again. Yet, amazingly, there are
    those of us out here that get paid to do so ... and we do so successfully.
    So if you want to avoid hiring a high-priced consultant ... rethink the design.
    PS: You do not need an ARC table at all. Ever. This is Oracle not a toy.

  • Help needed on Servlets and JSTL

    Hi
    I am using tomcat 5.5 and JDK 1.5. What are the softwares I have to download for compiling servlets and creating JSTL ?. Help needed.
    Thanks
    IndyaRaja

    I tried compling servlet, but it is raising error
    that coul not find package javax.servletWhat I did not mention... you need to add those JARs in the Classpath explicitly. You will find them in %TOMCAT_HOME%\common\lib. You atleast need to add servlet-api.jar to your Classpath. :)

  • Help needed with flash and web service call

    Hi all,
    I need some help with web services and flash. I'm very new to flash, so please have that in the back of your mind when reading this :-)
    I've got a .swf file, and I would like to display a number received from a web service (using adobe flash professional cs5). Ive added the web service and provided the WSDL, but when i try to "Add Method Call", nothing happens. Why? What am I doing wrong?
    Hope someone can help

    start with the button that causes the text to be displayed.  find what it does (which may not be easy because most templates are coded by novice or intermediate level coders) and follow that trail to the text.  (note:  the text may be in a txt or xml file that's loaded.)
    to have a button release open a file, use:
    yourbtn.onRelease=function(){
    getURL("http://www.adobe.com");

  • Help needed with consolidating and moving itunes folder.

    I have imported songs into itunes using with the Copy Files To iTunes Folder When Adding To The Library box unchecked and moved the location of my music folder to an external hard drive. I already had a folder full of music files on this hard drive so I now have 2 folders with music files, the iTunes folder with music recently imported from cd's and the old folder. The library points to references to both of these folders but not ALL of the files in the old folder as I don't need them in iTunes.
    I now want to be able to listen to my iTunes library when not connected to the external drive. How do I do this? If I reset the location of my iTunes folder back to the macbook do I then need to consolidate, and if I do will only the files with reference pointers go into this folder? I don't want all the music files in the old folder to go onto the macbook, only the ones with reference pointers to them, plus the ones in the iTunes music folder.

    I have imported songs into itunes using with the Copy Files To iTunes Folder When Adding To The Library box unchecked and moved the location of my music folder to an external hard drive. I already had a folder full of music files on this hard drive so I now have 2 folders with music files, the iTunes folder with music recently imported from cd's and the old folder. The library points to references to both of these folders but not ALL of the files in the old folder as I don't need them in iTunes.
    I now want to be able to listen to my iTunes library when not connected to the external drive. How do I do this? If I reset the location of my iTunes folder back to the macbook do I then need to consolidate, and if I do will only the files with reference pointers go into this folder? I don't want all the music files in the old folder to go onto the macbook, only the ones with reference pointers to them, plus the ones in the iTunes music folder.

  • Help needed with footers and shrinking text

    Hi Guys
    I got a report that I want to print conditional headers and footers for. When I specify that I only want a foooter to appear on the last page, I get REP-1216 error, I checked out Metalink and followed a note on how to get around it but I'm having no joy. Can anyone help me out? I also want to make certain bits of the header and footer visible depending on a value retrieved from the report query only I get REP-1314 saying that my format trigger referencesa column at the wrong frequency. I know the value is in another frame but how do I make this value available in the margin so that the formatting will work?
    Also, I want to be able to shrink some lines of an address if it has a null value at runtime e.g
    My House
    First Address Line
    Second Address Line
    <Null>
    Post Code
    I want to format it so that it appears as:
    My House
    First Address Line
    Second Address Line
    Post Code
    I really appreciate if someone could help me out as always this is very urgent!
    Many thanks
    Ciaran

    Hi Ciaran,
    I only want a foooter to appear on the last page
    I am quoting from Note 1017067.102 on Metalink (REP-1216 when running report with field in margin) - you might have already seen this note...
    Objects in the margin region are restarted on every physical page. As a
    result, not all print condition types make sense for margin objects. Because
    objects are restarted on every page, it is as if you are always on the first
    page of the object.
    The print condition FIRST is the same as the print condition ALL.
    The print conditions LAST and ALL BUT LAST are invalid because "LAST" is never
    reached.
    The print condition ALL BUT FIRST causes the object to never appear because
    the object never goes beyond "FIRST" page.
    Thus, the only valid print conditions for the object are FIRST and ALL.
    also want to make certain bits of the header and footer visible depending on a value retrieved from the report queryYou can use conditional formatting / format trigger only for objects that are in the same group in the data model. For example, you can reference employee_id in the format trigger of employee_name if they are in the same group. In your header / footer Format Trigger, you can reference only report-level columns. So if you can make your column to appear at the report level (outside of any group), you may be able to reference it from the header / footer.
    want to be able to shrink some lines of an address if it has a null value at runtime You may be able to use Anchors. See Builder Help for more information and examples.
    Navneet.

  • Help needed with terminal and sudo

    I recently had an awful time trying to upgrade to Mavericks from Mountain Lion. I couldn't do it, I got the gray screen with the logo and nothing else.
    After a couple of days trying to sort it out I have gone back to Mountain Lion by restoring from my Time machine backup.
    I was contemplating trying to install Mavericks 1 more time and tried making a boot disk using Lion Disk Maker. The process failed and I was getting the message, "Root is not in the sudoers file"  When I've doe a bit more investigating it seems that there may be a problem with my sudo file.
    When I tried to create the boot disk from the terminal I get the message that my user account is not in the sudoers file. My user account has full admin privileges.
    Can anybody that understands the terminal please tell me what I need to do?
    Thanks
    John

    John,
    Since you cannot use sudo, corrective choices dwindle to either root (superuser) privileges, or reinstalling OS X. Apple has an assistance article on superuser. You should treat root privileges with the utmost respect, use it to solve this particular problem, and then resort only to sudo when necessary. My root is enabled and I never use it -- which begs for me to deactivate it.
    The ownership on /etc/sudoers is root, wheel — and the permissions are 440 (-r--r-----).
    Hopefully, you have a rudimentary vi editor knowledge, as the correct tool for editing the sudoers file is /usr/sbin/visudo.
    There are only two active privilege lines in my /etc/sudoers file:
    root
    %admin
    Hope this helps.

  • Help needed using content and structure functionality

    Several times now I have had users who wanted to move libraries or lists, etc. from one place within a site collection to another.
    The problem is that often, when they go into content and structure, select their source, the only action that appears is Delete, rather than also the copy or move functionality.
    Even when I connect to the farm with the farm account, I see the same issue - the copy and move actions are greyed out. The farm account is one of the site collection owners, as well as of course in the farm admin group.
    Are there certain types of things which cannot be copied or moved? One user is just trying to move a folder of files from a document library to a different location (from working to completed), while another user wants to move most of the files from an old
    project to a new project.
    I am having a tough time understanding why sometimes this works and sometimes it doesn't.

    Thank you for your answer. The user did try to use the windows explorer method, and got an error saying that the operation could not find the source.
    I appreciate the note about moving the files individually. I have suggested that.
    I also appreciate the caution about using move not copy if the versions are needed.
    In one case we have a user who is trying to consolidate 2 different sharepoint sites into 1 site.
    She has asked about moving one into the other.
    I presume that any moving that takes place will overwrite an object of the same name that exists on the other side? Or is there a prompt to the user before the overwrite takes place?
    Thank you so much for your help.

  • Help needed in encrypting and decrypting a file

    Hello,
    I just started looking into the Java Security.I need to encrypt a file using any popular alogrithm like RSA or DES and write it to disk.and again decrypt this file at a later time when needed.
    I was checking out with different ways of doing so,but found it difficult to persist the key some where.
    Could some one help me in this regard,with a tutorial or a sample program where I will be able to give cleartext file as an input and get a ciphered text file as output and vice versa?

    Probably the simplest solution is to use password-based encryption (PBE). See http://java.sun.com/j2se/1.5.0/docs/guide/security/CryptoSpec.html#PBEEx
    for an example.

  • Help needed in Drag and Drop and  resizing of image icons

    Hi all,
    I'm doing a project on Drag and Drop and resizing of image icons.
    There is one DragContainer in which i have loaded the image icons and i want to drop these image icons on to the DropContainer.
    After Dropping these icons on to the DropContainer i need to resize them.
    I have used the Rectangle object in resizing.
    The problem now i'm facing is when i drag, drop and resize an image icon and when i try to drag, drop a second image icon the first image icon gets erased.
    can any one help me in fixing this error.
    if u want i can provide the source code.
    thanks in advance
    murali

    the major restrictions in its implemented only in
    jdk1.1.Why!

  • Help needed w/ JDeveloper and Raptor not working for me in 10.4

    Well, I've been successfully running the previous version of JDeveloper, 10.1.2.0.0 (Build 1811) for a few months on my OS X, Tiger (10.4) laptop. I recently tried to get Project Raptor running. I'm using Apple's version of Java from Software Update, J2SE 5.0 Release 3 which is the most up-to-date version I can find anywhere.
    My problem is this. I can do most anything fine, but as soon as I try to Debug an PL/SQL function in either Raptor, or the JDeveloper 10.1.3 build I get an error "Unsupported feature Vendor Code 17023" when I click OK in the Debug PL/SQL dialog box.
    Thing is that this works just fine in JDeveloper 10.1.2.0.0 (Build 1811). The thing that is interesting is the 10.1.2 JDeveloper uses the Java 1.4.2 where Raptor and JDeveoper 10.1.3 use the Java 1.5, I'm guessing it's a problem in Apple's Java 1.5 but can anyone else verify this or offer help to how I can make it work?
    tks

    I fail to get the error message you describe. What I get is:
    ===========================
    Connecting to the database test10.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '10.0.1.103', '52221' )
    Debugger accepted connection from database on port 52221.
    Processing 59 classes that have already been prepared...
    Finished processing prepared classes.
    ===========================
    Is this ok ?
    In the console log I got:
    sh ./raptorOracle Raptor 1.0
    Copyright (c) 2005 Oracle Corporation. All Rights Reserved.
    Working directory is /Users/ronr/Desktop/raptor/jdev/bin
    Initializing.. oracle.dbtools.raptor.explorer.jdev.ConnectionDialogAddin@1972bf
    Assert: Unknown Node:8: USER
    Assert: Unknown Node:8: SHARED QUERIES
    Assert: Unknown Node:8: TABLE EDITORS
    Assert: Unknown Node:8: VIEWS
    Assert: Unknown Node:8: MVIEWS
    Assert: Unknown Node:8: SYNONYM
    Assert: Unknown Node:8: SEQ
    Assert: Unknown Node:8: Recycle Bin
    Assert: Unknown Node:8: DB Link
    Assert: Unknown Node:8: MVIEW LOG
    Assert: Unknown Node:8: PLSQL
    Assert: Unknown Node:8: TRigger
    Assert: Unknown Node:8: INDEX
    Assert: SQLView initedException in thread "JPDA Event Processor" java.lang.IllegalAccessError: tried to access class com.sun.tools.jdi.VirtualMachineImpl from class com.sun.tools.jdi.OracleReferenceTypeImpl
    at com.sun.tools.jdi.OracleReferenceTypeImpl.<init>(OracleReferenceTypeImpl.java:60)
    at com.sun.tools.jdi.OracleReferenceTypeImpl.convert(OracleReferenceTypeImpl.java:203)
    at com.sun.jdi.OracleExtension.convert(OracleExtension.java:38)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.getOracleReferenceType(DebugJDI.java:559)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClass(DebugJDI.java:626)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClassForReferenceType(DebugJDI.java:549)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.run(DebugJDI.java:2651)
    at java.lang.Thread.run(Thread.java:613)
    Assert: Finding Context Menu for:FUNCTION_FOLDER
    Exception in thread "JPDA Event Processor" java.lang.IllegalAccessError: tried to access class com.sun.tools.jdi.VirtualMachineImpl from class com.sun.tools.jdi.OracleReferenceTypeImpl
    at com.sun.tools.jdi.OracleReferenceTypeImpl.<init>(OracleReferenceTypeImpl.java:60)
    at com.sun.tools.jdi.OracleReferenceTypeImpl.convert(OracleReferenceTypeImpl.java:203)
    at com.sun.jdi.OracleExtension.convert(OracleExtension.java:38)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.getOracleReferenceType(DebugJDI.java:559)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClass(DebugJDI.java:626)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClassForReferenceType(DebugJDI.java:549)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.run(DebugJDI.java:2651)
    at java.lang.Thread.run(Thread.java:613)
    Exception in thread "JPDA Event Processor" java.lang.IllegalAccessError: tried to access class com.sun.tools.jdi.VirtualMachineImpl from class com.sun.tools.jdi.OracleReferenceTypeImpl
    at com.sun.tools.jdi.OracleReferenceTypeImpl.<init>(OracleReferenceTypeImpl.java:60)
    at com.sun.tools.jdi.OracleReferenceTypeImpl.convert(OracleReferenceTypeImpl.java:203)
    at com.sun.jdi.OracleExtension.convert(OracleExtension.java:38)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.getOracleReferenceType(DebugJDI.java:559)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClass(DebugJDI.java:626)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClassForReferenceType(DebugJDI.java:549)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.run(DebugJDI.java:2651)
    at java.lang.Thread.run(Thread.java:613)
    Exception in thread "JPDA Event Processor" java.lang.IllegalAccessError: tried to access class com.sun.tools.jdi.VirtualMachineImpl from class com.sun.tools.jdi.OracleReferenceTypeImpl
    at com.sun.tools.jdi.OracleReferenceTypeImpl.<init>(OracleReferenceTypeImpl.java:60)
    at com.sun.tools.jdi.OracleReferenceTypeImpl.convert(OracleReferenceTypeImpl.java:203)
    at com.sun.jdi.OracleExtension.convert(OracleExtension.java:38)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.getOracleReferenceType(DebugJDI.java:559)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClass(DebugJDI.java:626)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.addClassForReferenceType(DebugJDI.java:549)
    at oracle.jdevimpl.debugger.jdi.DebugJDI.run(DebugJDI.java:2651)
    at java.lang.Thread.run(Thread.java:613)
    In jdev/bin/raptor.conf I had to set:
    SetSkipJ2SDKCheck true
    I use:
    /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
    Ronald.

  • Help Needed With Scrollbar and Content

    I'm having a difficult time with the Scrollbar component. I'm trying to have a scrollbar set up to navigate a text field or a MC of a text field. I managed to get it functioning within the desired frame, however when I jump to another frame, that very same content appears on the other frame, despite the fact that said frame did not have the scrollbar nor the content pasted within.
    The bar seems to do what I want it to do save for the unwelcomed presence outside of the frame of choice. Here's the code I'm using. This is the keyframe code:
    import boppreh.ui.Scrollbar
    var scrollbar1:Scrollbar = new Scrollbar(boomboom, 500, true, false, 293, bar, slider, arrowUp, arrowDown)
    addChild(scrollbar1)
    scrollbar1.x = 50
    scrollbar1.y = 50
    And this is the code found in the AS file:
    package boppreh.ui
        import flash.display.*
        import flash.events.*
        import flash.geom.Rectangle;
        import flash.utils.Timer
        import flash.ui.Keyboard
         * Scrollbar to handle single display objects.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class Scrollbar extends Sprite {
            /// The default width for the default slider, bar and arrows, as well as the default arrows' height
            public static const DEFAULT_SIDE:Number = 20
            /// The delay (in milliseconds) between clicking and holding an arrow and the slider moving continously
            public static var SCROLL_DELAY:Number = 300
            /// The number of lines to be scrolled every second during continous scrolling
            public static var LINES_PER_SECOND:Number = 1.5
            /// Number of pixels to be scrolled for each mouse wheel line (default lines per wheel tick is 3)
            public static var PIXELS_PER_LINE:Number = 16
            protected var windowSize:Number
            protected var contentPadding:Number
            protected var isVertical:Boolean
            /// Stored movement to be applied on the next "scroll()" call
            protected var movement:Number
            /// Timer used to control the delay before continous scrolling
            protected var timer:Timer
            protected var content:DisplayObject
            protected var contentBounds:Rectangle
            protected var bar:InteractiveObject
            protected var arrowUp:InteractiveObject
            protected var arrowDown:InteractiveObject
            protected var slider:InteractiveObject
            protected var partHold:InteractiveObject
            protected function get eventOrigin():String {
                if (partHold == arrowUp)
                    return ScrollEvent.ARROW_UP
                else if (partHold == arrowDown)
                    return ScrollEvent.ARROW_DOWN
                else if (partHold == bar)
                    return ScrollEvent.BAR
                throw new Error("Unkown event origin.")
            private var mouseOffset:Number
            protected function get maxContentPos():Number {
                if (isVertical)
                    return -(contentBounds.height - windowSize) - 1
                else
                    return -(contentBounds.width - windowSize) - 1
            /// The content's current position, in a scale from 0 to 1
            public function get position():Number {
                if (isVertical)
                    return contentBounds.y / maxContentPos
                else
                    return contentBounds.x / maxContentPos
            public function set position(value:Number) {
                value = Math.min(1, Math.max(value, 0))
                var newContentPos:Number = value * maxContentPos
                setPosition(content, isVertical ? null : newContentPos, isVertical ? newContentPos : null, false, false)
                contentBounds = content.getBounds(this)
                if (isVertical) {
                    bar.height = windowSize - (arrowUp.height + arrowDown.height)
                    slider.height = (windowSize / Math.max(contentBounds.height, windowSize)) * bar.height
                    var newSliderY:Number = arrowUp.height + (-newContentPos / contentBounds.height) * bar.height
                    setPosition(slider, null, newSliderY, false, false)
                } else {
                    bar.width = windowSize - (arrowUp.width + arrowDown.width)
                    slider.width = (windowSize / Math.max(contentBounds.width, windowSize)) * bar.width
                    var newSliderX:Number = arrowUp.width + (-newContentPos / contentBounds.width) * bar.width
                    setPosition(slider, newSliderX, null, false, false)
                updatePartsPositions()
             * Creates a new Scrollbar object to scroll a single Display Object.
             * @param    content    the object to be scrolled
             * @param    windowSize    the height or width of the scrollbar, depending if it's vertical or not; i.e.: the dimension of the content's visible part
             * @param    isVertical    defines if the scrollbar's parts should be placed on the right or bottom of the content, and if the content should be scrolled upways or to the right
             * @param    autoUpdate    automatically checks for dimensions changes in any part and updates accordingly. Use only if the content will be resized
             * @param    contentPadding    the distance between the content and all the other parts
             * @param    bar    the bar object to be used; if null, a default one will be used
             * @param    slider    the slider object to be used; if null, a default one will be used
             * @param    arrowUp    the arrow up/left object to be used; if null, a default one will be used
             * @param    arrowDown    the arrow down/right object to be used; if null, a default one will be used
            public function Scrollbar(content:DisplayObject, windowSize:Number, isVertical:Boolean=true, autoUpdate:Boolean=false, contentPadding:Number=5, bar:InteractiveObject=null, slider:InteractiveObject=null, arrowUp:InteractiveObject=null, arrowDown:InteractiveObject=null) {
                this.content = content
                this.windowSize = windowSize
                this.contentPadding = contentPadding
                this.isVertical = isVertical
                this.bar = bar || createDefaultBar()
                this.arrowUp = arrowUp || createDefaultArrow(false)
                this.arrowDown = arrowDown || createDefaultArrow(true)
                this.slider = slider || createDefaultSlider()
                timer = new Timer(SCROLL_DELAY)
                timer.addEventListener(TimerEvent.TIMER, startScrolling)
                addParts()
                if (autoUpdate)
                    this.addEventListener(Event.ENTER_FRAME, update)
                configureListeners()
                update()
                position = 0
            protected function scroll(e:*= null):void {
                // This nested if forbids the slider to continue moving if the user is
                // "holding" the bar and the slider already reached the mouse position
                if (e && (e is Event) && (Event(e).type == Event.ENTER_FRAME)) {
                    if (partHold == bar) {
                        var sliderBounds:Rectangle = slider.getBounds(this)
                        if (isVertical) {
                            if (mouseY > sliderBounds.top && mouseY < sliderBounds.bottom) {
                                stopScrolling()
                                return
                        } else {
                            if (mouseX > sliderBounds.left && mouseX < sliderBounds.right) {
                                stopScrolling()
                                return
                scrollPixels(movement)
             * Scrolls the content by the specified ammount.
             * @param    number    number of pixels to be scrolled
            protected function scrollPixels(number:Number):void {
                position += number / -maxContentPos
            protected function configureListeners():void {
                slider.addEventListener(MouseEvent.MOUSE_DOWN, startSliderDrag)
                for each (var part:InteractiveObject in [arrowUp, arrowDown, bar]) {
                    part.addEventListener(MouseEvent.MOUSE_DOWN, fixedPart_onMouseDownHandler)
                addEventListener(MouseEvent.MOUSE_WHEEL, mouse_onWheelScrollHandler)
                addEventListener(KeyboardEvent.KEY_DOWN, keyboard_onKeyDownHandler)
            protected function fixedPart_onMouseDownHandler(event:MouseEvent):void
                partHold = InteractiveObject(event.currentTarget)
                if (partHold == arrowUp) {
                    movement = -PIXELS_PER_LINE
                } else if (partHold == arrowDown) {
                    movement = PIXELS_PER_LINE
                } else if (partHold == bar) {
                    var sliderBounds:Rectangle = slider.getBounds(this)
                    if (isVertical) {
                        if (mouseY > (sliderBounds.top + sliderBounds.height / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                    } else {
                        if (mouseX > (sliderBounds.left + sliderBounds.width / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, eventOrigin))
                stage.addEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                partHold.addEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                timer.start()
            protected function keyboard_onKeyDownHandler(event:KeyboardEvent):void {
                switch (event.keyCode) {
                    case Keyboard.UP:
                    case Keyboard.LEFT:
                        movement = -PIXELS_PER_LINE
                        break
                    case Keyboard.DOWN:
                    case Keyboard.RIGHT:
                        movement = PIXELS_PER_LINE
                        break
                    case Keyboard.SPACE:
                    case Keyboard.PAGE_DOWN:
                        movement = windowSize
                        break
                    case Keyboard.PAGE_UP:
                        movement = -windowSize
                        break
                    case Keyboard.HOME:
                        movement = 0
                        position = 0
                        break
                    case Keyboard.END:
                        movement = 0
                        position = 100
                        break
                    default:
                        return
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.KEYBOARD))
            protected function startScrolling(e:*=null):void {
                timer.reset()
                this.addEventListener(Event.ENTER_FRAME, scroll)
                movement = (movement * (LINES_PER_SECOND * PIXELS_PER_LINE)) / stage.frameRate
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_START, eventOrigin))
            protected function stopScrolling(e:*=null) {
                timer.stop()
                this.removeEventListener(Event.ENTER_FRAME, scroll)
                stage.removeEventListener(KeyboardEvent.KEY_UP, stopScrolling)
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_STOP, eventOrigin))
                if (partHold) {
                    partHold.removeEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                    partHold = null
            protected function mouse_onWheelScrollHandler(event:MouseEvent) {
                // The mouse wheel delta arrives inverted
                var delta:int = -event.delta
                movement = delta * PIXELS_PER_LINE
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.MOUSE_WHEEL))
            //{ region Slider Drag functions
            protected function startSliderDrag(event:MouseEvent) {
                if (isVertical)
                    mouseOffset = slider.getBounds(this).y - this.mouseY
                else
                    mouseOffset = slider.getBounds(this).x - this.mouseX
                stage.addEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                stage.addEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_START, ScrollEvent.SLIDER))
            protected function stopSliderDrag(event:MouseEvent) {
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_STOP, ScrollEvent.SLIDER))
            protected function onSliderDrag(event:MouseEvent) {
                if (isVertical) {
                    if (bar.height == slider.height)
                        return
                } else {
                    if (bar.width == slider.width)
                        return
                if (isVertical)
                    position = (this.mouseY + mouseOffset - arrowUp.height) / (bar.height - slider.height)
                else
                    position = (this.mouseX + mouseOffset - arrowUp.width) / (bar.width - slider.width)
            //} endregion
            //{ region Visual functions
            /// Adds all required parts to the scrollbar's display list
            protected function addParts():void {
                setPosition(content, 0, 0, false, false)
                addChild(this.bar)
                addChild(this.arrowUp)
                addChild(this.arrowDown)
                addChild(this.slider)
                addChild(this.content)
             * Updates all parts to fit the new dimensions and positions.
            public function update(e:*= null):void {
                contentBounds = content.getBounds(this)
                updatePartsPositions()
                // Ugly, but updates everything that was not update in the above call based on the content's position and size
                position = position
            protected function updatePartsPositions(event:Event = null):void {
                if (isVertical) {
                    // The parts width is divided by 2 because they will be center aligned
                    var newX:Number = contentBounds.width +
                                contentPadding +
                                Math.max(slider.width, arrowUp.width, arrowDown.width, bar.width) / 2
                    setPosition(arrowUp, newX, 0, true, false)
                    setPosition(bar, newX, arrowUp.height, true, false)
                    setPosition(arrowDown, newX, arrowUp.height + bar.height, true, false)
                    setPosition(slider, newX, null, true, false)
                } else {
                    var newY:Number = contentBounds.height +
                                contentPadding +
                                Math.max(slider.height, arrowUp.height, arrowDown.height, bar.height) / 2
                    setPosition(arrowUp, 0, newY, false, true)
                    setPosition(bar, arrowUp.width, newY, false, true)
                    setPosition(arrowDown, arrowUp.width + bar.width, newY, false, true)
                    setPosition(slider, null, newY, false, true)
                updateMask()
            private function updateMask():void {
                if (content.mask && this.contains(content.mask))
                    removeChild(content.mask)
                var contentMask:Sprite = createWindowMask()
                addChild(contentMask)
                content.mask = contentMask
            protected function setPosition(part:DisplayObject, newX:Object=null, newY:Object=null, alignHorizontal:Boolean=false, alignVertical:Boolean=false):void {
                var bounds:Rectangle = part.getBounds(this)
                if (newX is Number)
                    part.x = int(newX) + (part.x - bounds.x) - ((alignHorizontal) ? bounds.width / 2 : 0)
                if (newY is Number)
                    part.y = int(newY) + (part.y - bounds.y) - ((alignVertical) ? bounds.height / 2 : 0)
            //} endregion
            //{ region Functions to draw parts
            private function createDefaultBar():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xFFFFFF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                //image.buttonMode = true
                return image
            private function createDefaultArrow(inverted:Boolean):Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                image.graphics.drawRect(0, 0, DEFAULT_SIDE, DEFAULT_SIDE)
                image.graphics.endFill()
                image.graphics.lineStyle(3)
                if (isVertical) {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(10, 16)
                        image.graphics.lineTo(16, 4)
                    } else {
                        image.graphics.moveTo(4, 16)
                        image.graphics.lineTo(10, 4)
                        image.graphics.lineTo(16, 16)
                } else {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(16, 10)
                        image.graphics.lineTo(4, 16)
                    } else {
                        image.graphics.moveTo(16, 4)
                        image.graphics.lineTo(4, 10)
                        image.graphics.lineTo(16, 16)
                image.buttonMode = true
                return image
            private function createDefaultSlider():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                image.buttonMode = true
                return image
            private function createWindowMask():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(0)
                image.graphics.beginFill(0x000000, 1)
                if (isVertical)
                    image.graphics.drawRect(0, 0, content.width + 1, windowSize)
                else
                    image.graphics.drawRect(0, 0, windowSize, content.width + 1)
                image.graphics.endFill()
                image.alpha = 0
                return image
            //} endregion
    And this is the ScrollEvent AS file:
    package boppreh.ui
        import flash.events.Event;
         * Events related to the Scrollbar class.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class ScrollEvent extends Event
            /// Dispatched when a scroll movement occurs
            public static const SCROLL:String = "scroll"
            /// Dispatched when the user has clicked and is holding an arrow or the bar
            public static const CONTINOUS_SCROLL_START:String = "continous scroll start"
            /// Dispatched when the user has clicked and dropped an arrow or the bar
            public static const CONTINOUS_SCROLL_STOP:String = "continous scroll stop"
            /// Dispatched when the user starts dragging the slider part
            public static const SLIDER_DRAG_START:String = "slider drag start"
            /// Dispatched when the user stops dragging the slider part
            public static const SLIDER_DRAG_STOP:String = "slider drag stop"
            /// Origin type representing the arrow up part
            public static const ARROW_UP:String = "arrow up"
            /// Origin type representing the arrow down part
            public static const ARROW_DOWN:String = "arrow down"
            /// Origin type representing the bar part
            public static const BAR:String = "part"
            /// Origin type representing the slider part
            public static const SLIDER:String = "slider"
            /// Origin type representing the keyboard
            public static const KEYBOARD:String = "keyboard"
            /// Origin type representing the mouse wheel
            public static const MOUSE_WHEEL:String = "mouse wheel"
            public var origin:String
             * Creates a new ScrollEvent object.
             * @param    type    the object type (first group of declared constants)
             * @param    origin    the object that originated the event (second group of declared constants)
            public function ScrollEvent (type:String, origin:String, bubbles:Boolean = false, cancelable:Boolean = false) {
                this.origin = origin
                super(type, bubbles, cancelable)
    Any help would be appreciated. I've been stuck here all day.

    I'm having a difficult time with the Scrollbar component. I'm trying to have a scrollbar set up to navigate a text field or a MC of a text field. I managed to get it functioning within the desired frame, however when I jump to another frame, that very same content appears on the other frame, despite the fact that said frame did not have the scrollbar nor the content pasted within.
    The bar seems to do what I want it to do save for the unwelcomed presence outside of the frame of choice. Here's the code I'm using. This is the keyframe code:
    import boppreh.ui.Scrollbar
    var scrollbar1:Scrollbar = new Scrollbar(boomboom, 500, true, false, 293, bar, slider, arrowUp, arrowDown)
    addChild(scrollbar1)
    scrollbar1.x = 50
    scrollbar1.y = 50
    And this is the code found in the AS file:
    package boppreh.ui
        import flash.display.*
        import flash.events.*
        import flash.geom.Rectangle;
        import flash.utils.Timer
        import flash.ui.Keyboard
         * Scrollbar to handle single display objects.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class Scrollbar extends Sprite {
            /// The default width for the default slider, bar and arrows, as well as the default arrows' height
            public static const DEFAULT_SIDE:Number = 20
            /// The delay (in milliseconds) between clicking and holding an arrow and the slider moving continously
            public static var SCROLL_DELAY:Number = 300
            /// The number of lines to be scrolled every second during continous scrolling
            public static var LINES_PER_SECOND:Number = 1.5
            /// Number of pixels to be scrolled for each mouse wheel line (default lines per wheel tick is 3)
            public static var PIXELS_PER_LINE:Number = 16
            protected var windowSize:Number
            protected var contentPadding:Number
            protected var isVertical:Boolean
            /// Stored movement to be applied on the next "scroll()" call
            protected var movement:Number
            /// Timer used to control the delay before continous scrolling
            protected var timer:Timer
            protected var content:DisplayObject
            protected var contentBounds:Rectangle
            protected var bar:InteractiveObject
            protected var arrowUp:InteractiveObject
            protected var arrowDown:InteractiveObject
            protected var slider:InteractiveObject
            protected var partHold:InteractiveObject
            protected function get eventOrigin():String {
                if (partHold == arrowUp)
                    return ScrollEvent.ARROW_UP
                else if (partHold == arrowDown)
                    return ScrollEvent.ARROW_DOWN
                else if (partHold == bar)
                    return ScrollEvent.BAR
                throw new Error("Unkown event origin.")
            private var mouseOffset:Number
            protected function get maxContentPos():Number {
                if (isVertical)
                    return -(contentBounds.height - windowSize) - 1
                else
                    return -(contentBounds.width - windowSize) - 1
            /// The content's current position, in a scale from 0 to 1
            public function get position():Number {
                if (isVertical)
                    return contentBounds.y / maxContentPos
                else
                    return contentBounds.x / maxContentPos
            public function set position(value:Number) {
                value = Math.min(1, Math.max(value, 0))
                var newContentPos:Number = value * maxContentPos
                setPosition(content, isVertical ? null : newContentPos, isVertical ? newContentPos : null, false, false)
                contentBounds = content.getBounds(this)
                if (isVertical) {
                    bar.height = windowSize - (arrowUp.height + arrowDown.height)
                    slider.height = (windowSize / Math.max(contentBounds.height, windowSize)) * bar.height
                    var newSliderY:Number = arrowUp.height + (-newContentPos / contentBounds.height) * bar.height
                    setPosition(slider, null, newSliderY, false, false)
                } else {
                    bar.width = windowSize - (arrowUp.width + arrowDown.width)
                    slider.width = (windowSize / Math.max(contentBounds.width, windowSize)) * bar.width
                    var newSliderX:Number = arrowUp.width + (-newContentPos / contentBounds.width) * bar.width
                    setPosition(slider, newSliderX, null, false, false)
                updatePartsPositions()
             * Creates a new Scrollbar object to scroll a single Display Object.
             * @param    content    the object to be scrolled
             * @param    windowSize    the height or width of the scrollbar, depending if it's vertical or not; i.e.: the dimension of the content's visible part
             * @param    isVertical    defines if the scrollbar's parts should be placed on the right or bottom of the content, and if the content should be scrolled upways or to the right
             * @param    autoUpdate    automatically checks for dimensions changes in any part and updates accordingly. Use only if the content will be resized
             * @param    contentPadding    the distance between the content and all the other parts
             * @param    bar    the bar object to be used; if null, a default one will be used
             * @param    slider    the slider object to be used; if null, a default one will be used
             * @param    arrowUp    the arrow up/left object to be used; if null, a default one will be used
             * @param    arrowDown    the arrow down/right object to be used; if null, a default one will be used
            public function Scrollbar(content:DisplayObject, windowSize:Number, isVertical:Boolean=true, autoUpdate:Boolean=false, contentPadding:Number=5, bar:InteractiveObject=null, slider:InteractiveObject=null, arrowUp:InteractiveObject=null, arrowDown:InteractiveObject=null) {
                this.content = content
                this.windowSize = windowSize
                this.contentPadding = contentPadding
                this.isVertical = isVertical
                this.bar = bar || createDefaultBar()
                this.arrowUp = arrowUp || createDefaultArrow(false)
                this.arrowDown = arrowDown || createDefaultArrow(true)
                this.slider = slider || createDefaultSlider()
                timer = new Timer(SCROLL_DELAY)
                timer.addEventListener(TimerEvent.TIMER, startScrolling)
                addParts()
                if (autoUpdate)
                    this.addEventListener(Event.ENTER_FRAME, update)
                configureListeners()
                update()
                position = 0
            protected function scroll(e:*= null):void {
                // This nested if forbids the slider to continue moving if the user is
                // "holding" the bar and the slider already reached the mouse position
                if (e && (e is Event) && (Event(e).type == Event.ENTER_FRAME)) {
                    if (partHold == bar) {
                        var sliderBounds:Rectangle = slider.getBounds(this)
                        if (isVertical) {
                            if (mouseY > sliderBounds.top && mouseY < sliderBounds.bottom) {
                                stopScrolling()
                                return
                        } else {
                            if (mouseX > sliderBounds.left && mouseX < sliderBounds.right) {
                                stopScrolling()
                                return
                scrollPixels(movement)
             * Scrolls the content by the specified ammount.
             * @param    number    number of pixels to be scrolled
            protected function scrollPixels(number:Number):void {
                position += number / -maxContentPos
            protected function configureListeners():void {
                slider.addEventListener(MouseEvent.MOUSE_DOWN, startSliderDrag)
                for each (var part:InteractiveObject in [arrowUp, arrowDown, bar]) {
                    part.addEventListener(MouseEvent.MOUSE_DOWN, fixedPart_onMouseDownHandler)
                addEventListener(MouseEvent.MOUSE_WHEEL, mouse_onWheelScrollHandler)
                addEventListener(KeyboardEvent.KEY_DOWN, keyboard_onKeyDownHandler)
            protected function fixedPart_onMouseDownHandler(event:MouseEvent):void
                partHold = InteractiveObject(event.currentTarget)
                if (partHold == arrowUp) {
                    movement = -PIXELS_PER_LINE
                } else if (partHold == arrowDown) {
                    movement = PIXELS_PER_LINE
                } else if (partHold == bar) {
                    var sliderBounds:Rectangle = slider.getBounds(this)
                    if (isVertical) {
                        if (mouseY > (sliderBounds.top + sliderBounds.height / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                    } else {
                        if (mouseX > (sliderBounds.left + sliderBounds.width / 2))
                            movement = windowSize
                        else
                            movement = -windowSize
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, eventOrigin))
                stage.addEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                partHold.addEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                timer.start()
            protected function keyboard_onKeyDownHandler(event:KeyboardEvent):void {
                switch (event.keyCode) {
                    case Keyboard.UP:
                    case Keyboard.LEFT:
                        movement = -PIXELS_PER_LINE
                        break
                    case Keyboard.DOWN:
                    case Keyboard.RIGHT:
                        movement = PIXELS_PER_LINE
                        break
                    case Keyboard.SPACE:
                    case Keyboard.PAGE_DOWN:
                        movement = windowSize
                        break
                    case Keyboard.PAGE_UP:
                        movement = -windowSize
                        break
                    case Keyboard.HOME:
                        movement = 0
                        position = 0
                        break
                    case Keyboard.END:
                        movement = 0
                        position = 100
                        break
                    default:
                        return
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.KEYBOARD))
            protected function startScrolling(e:*=null):void {
                timer.reset()
                this.addEventListener(Event.ENTER_FRAME, scroll)
                movement = (movement * (LINES_PER_SECOND * PIXELS_PER_LINE)) / stage.frameRate
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_START, eventOrigin))
            protected function stopScrolling(e:*=null) {
                timer.stop()
                this.removeEventListener(Event.ENTER_FRAME, scroll)
                stage.removeEventListener(KeyboardEvent.KEY_UP, stopScrolling)
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopScrolling)
                dispatchEvent(new ScrollEvent(ScrollEvent.CONTINOUS_SCROLL_STOP, eventOrigin))
                if (partHold) {
                    partHold.removeEventListener(MouseEvent.MOUSE_OUT, stopScrolling)
                    partHold = null
            protected function mouse_onWheelScrollHandler(event:MouseEvent) {
                // The mouse wheel delta arrives inverted
                var delta:int = -event.delta
                movement = delta * PIXELS_PER_LINE
                scroll()
                dispatchEvent(new ScrollEvent(ScrollEvent.SCROLL, ScrollEvent.MOUSE_WHEEL))
            //{ region Slider Drag functions
            protected function startSliderDrag(event:MouseEvent) {
                if (isVertical)
                    mouseOffset = slider.getBounds(this).y - this.mouseY
                else
                    mouseOffset = slider.getBounds(this).x - this.mouseX
                stage.addEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                stage.addEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_START, ScrollEvent.SLIDER))
            protected function stopSliderDrag(event:MouseEvent) {
                stage.removeEventListener(MouseEvent.MOUSE_UP, stopSliderDrag)
                stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSliderDrag)
                dispatchEvent(new ScrollEvent(ScrollEvent.SLIDER_DRAG_STOP, ScrollEvent.SLIDER))
            protected function onSliderDrag(event:MouseEvent) {
                if (isVertical) {
                    if (bar.height == slider.height)
                        return
                } else {
                    if (bar.width == slider.width)
                        return
                if (isVertical)
                    position = (this.mouseY + mouseOffset - arrowUp.height) / (bar.height - slider.height)
                else
                    position = (this.mouseX + mouseOffset - arrowUp.width) / (bar.width - slider.width)
            //} endregion
            //{ region Visual functions
            /// Adds all required parts to the scrollbar's display list
            protected function addParts():void {
                setPosition(content, 0, 0, false, false)
                addChild(this.bar)
                addChild(this.arrowUp)
                addChild(this.arrowDown)
                addChild(this.slider)
                addChild(this.content)
             * Updates all parts to fit the new dimensions and positions.
            public function update(e:*= null):void {
                contentBounds = content.getBounds(this)
                updatePartsPositions()
                // Ugly, but updates everything that was not update in the above call based on the content's position and size
                position = position
            protected function updatePartsPositions(event:Event = null):void {
                if (isVertical) {
                    // The parts width is divided by 2 because they will be center aligned
                    var newX:Number = contentBounds.width +
                                contentPadding +
                                Math.max(slider.width, arrowUp.width, arrowDown.width, bar.width) / 2
                    setPosition(arrowUp, newX, 0, true, false)
                    setPosition(bar, newX, arrowUp.height, true, false)
                    setPosition(arrowDown, newX, arrowUp.height + bar.height, true, false)
                    setPosition(slider, newX, null, true, false)
                } else {
                    var newY:Number = contentBounds.height +
                                contentPadding +
                                Math.max(slider.height, arrowUp.height, arrowDown.height, bar.height) / 2
                    setPosition(arrowUp, 0, newY, false, true)
                    setPosition(bar, arrowUp.width, newY, false, true)
                    setPosition(arrowDown, arrowUp.width + bar.width, newY, false, true)
                    setPosition(slider, null, newY, false, true)
                updateMask()
            private function updateMask():void {
                if (content.mask && this.contains(content.mask))
                    removeChild(content.mask)
                var contentMask:Sprite = createWindowMask()
                addChild(contentMask)
                content.mask = contentMask
            protected function setPosition(part:DisplayObject, newX:Object=null, newY:Object=null, alignHorizontal:Boolean=false, alignVertical:Boolean=false):void {
                var bounds:Rectangle = part.getBounds(this)
                if (newX is Number)
                    part.x = int(newX) + (part.x - bounds.x) - ((alignHorizontal) ? bounds.width / 2 : 0)
                if (newY is Number)
                    part.y = int(newY) + (part.y - bounds.y) - ((alignVertical) ? bounds.height / 2 : 0)
            //} endregion
            //{ region Functions to draw parts
            private function createDefaultBar():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xFFFFFF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                //image.buttonMode = true
                return image
            private function createDefaultArrow(inverted:Boolean):Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                image.graphics.drawRect(0, 0, DEFAULT_SIDE, DEFAULT_SIDE)
                image.graphics.endFill()
                image.graphics.lineStyle(3)
                if (isVertical) {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(10, 16)
                        image.graphics.lineTo(16, 4)
                    } else {
                        image.graphics.moveTo(4, 16)
                        image.graphics.lineTo(10, 4)
                        image.graphics.lineTo(16, 16)
                } else {
                    if (inverted) {
                        image.graphics.moveTo(4, 4)
                        image.graphics.lineTo(16, 10)
                        image.graphics.lineTo(4, 16)
                    } else {
                        image.graphics.moveTo(16, 4)
                        image.graphics.lineTo(4, 10)
                        image.graphics.lineTo(16, 16)
                image.buttonMode = true
                return image
            private function createDefaultSlider():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(1)
                image.graphics.beginFill(0xBFBFBF)
                if (isVertical)
                    image.graphics.drawRect(0, 0, DEFAULT_SIDE, windowSize - DEFAULT_SIDE * 2)
                else
                    image.graphics.drawRect(0, 0, windowSize - DEFAULT_SIDE * 2, DEFAULT_SIDE)
                image.graphics.endFill()
                image.buttonMode = true
                return image
            private function createWindowMask():Sprite {
                var image:Sprite = new Sprite()
                image.graphics.lineStyle(0)
                image.graphics.beginFill(0x000000, 1)
                if (isVertical)
                    image.graphics.drawRect(0, 0, content.width + 1, windowSize)
                else
                    image.graphics.drawRect(0, 0, windowSize, content.width + 1)
                image.graphics.endFill()
                image.alpha = 0
                return image
            //} endregion
    And this is the ScrollEvent AS file:
    package boppreh.ui
        import flash.events.Event;
         * Events related to the Scrollbar class.
         * Author: Lucas Boppre Niehues ([email protected])
         * Date: 09/02/2010
        public class ScrollEvent extends Event
            /// Dispatched when a scroll movement occurs
            public static const SCROLL:String = "scroll"
            /// Dispatched when the user has clicked and is holding an arrow or the bar
            public static const CONTINOUS_SCROLL_START:String = "continous scroll start"
            /// Dispatched when the user has clicked and dropped an arrow or the bar
            public static const CONTINOUS_SCROLL_STOP:String = "continous scroll stop"
            /// Dispatched when the user starts dragging the slider part
            public static const SLIDER_DRAG_START:String = "slider drag start"
            /// Dispatched when the user stops dragging the slider part
            public static const SLIDER_DRAG_STOP:String = "slider drag stop"
            /// Origin type representing the arrow up part
            public static const ARROW_UP:String = "arrow up"
            /// Origin type representing the arrow down part
            public static const ARROW_DOWN:String = "arrow down"
            /// Origin type representing the bar part
            public static const BAR:String = "part"
            /// Origin type representing the slider part
            public static const SLIDER:String = "slider"
            /// Origin type representing the keyboard
            public static const KEYBOARD:String = "keyboard"
            /// Origin type representing the mouse wheel
            public static const MOUSE_WHEEL:String = "mouse wheel"
            public var origin:String
             * Creates a new ScrollEvent object.
             * @param    type    the object type (first group of declared constants)
             * @param    origin    the object that originated the event (second group of declared constants)
            public function ScrollEvent (type:String, origin:String, bubbles:Boolean = false, cancelable:Boolean = false) {
                this.origin = origin
                super(type, bubbles, cancelable)
    Any help would be appreciated. I've been stuck here all day.

Maybe you are looking for

  • MacBook Air "dead," 3 beeps on turn-on, dark screen

    Pushing the power switch just gives repeating 3-beeps. If I hold the power button down it stops. Nothing on the screen. Any tips to resurrect it, or do I need to take it in to a store? Before it "bricked," within a few hours, twice it froze and I saw

  • Problems in Sql Developer

    Hi, I'm using Sql Developer 1.0.0.14.67 on Mac OS X Version 10.4.6. 1) When I click on a table,I dont Get Information Regarding Columns,Indexes,Constraints,Grants,Statistics,Triggers,SQl ... Only I get Data in the table. Whereas My Frnd who is using

  • HT204380 I do not have Face Time Icon in the Info Section of my Contacts

    I don't have FaceTime, , though I have input their email addresses? How can I get FaceTime? I have an iPhone 4 with the latest OS installed! (this iPhone was purchased overseas, would that be the problem)? Is it an Apple problem or my carrier (AT&T)?

  • Variable Dearness Allowance

    Hello Experts, Variable Dearness Allowance is a fixed amount that needs to be paid to a particular set of employees for my client. I wish to know how variable dearness allowance works. Following are the details I need to understand: 1.  If an employe

  • Does N-Alvorix-RS880 BIOS have a UEFI/Legacy Switch?

    p7-1010. Windows 8.1 64GB Ram Installed an EVGA GTX760 Graphics Card. Card works great in Windows. But I can't interact with the Setup screens for the BIOS update. And I have two bootable CD's that now also have initialization problems.  EVGA suggest