Explain scroll skin

Copying an example I was able to get a scroll bar to appear.  I can understand the theory that removing this from components will make them lighter weight and the functionality can be added back when needed.  But I would like to know why it looks like it does.  Neither Adobe 4 Training from the Source nor the web sources I looked at nor the one where I copyied it explained it.  Hopefully, someone here can.  Here is the source:
<?xml version="1.0" encoding="utf-8"?>
<s:Skin
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
    alpha.disabled="0.5">
    <fx:Metadata>
        [HostComponent("spark.components.BorderContainer")]
    </fx:Metadata>
    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
    </s:states>
    <s:Rect
        id="backgroundRect"
        left="0" right="0"
        top="0" bottom="0"  >
        <s:fill>
            <s:SolidColor
                id="bgRectFill"
                color="#FFFFFF"/>
        </s:fill>
    </s:Rect>
    <s:Group
        left="0" right="0"
        top="0" bottom="0">
        <s:layout>
            <s:VerticalLayout
                gap="0"
                horizontalAlign="justify" />
        </s:layout>
        <!--- Application Control Bar -->
        <s:Group
            id="topGroup"
            minWidth="0" minHeight="0" >
            <!-- layer 0: control bar highlight -->
            <s:Rect
                left="0" right="0"
                top="0" bottom="1" >
                <s:stroke>
                    <s:LinearGradientStroke
                        rotation="90" weight="1">
                        <s:GradientEntry color="0xFFFFFF" />
                        <s:GradientEntry color="0xD8D8D8" />
                    </s:LinearGradientStroke>
                </s:stroke>
            </s:Rect>
            <!-- layer 1: control bar fill -->
            <s:Rect
                left="1" right="1"
                top="1" bottom="2" >
                <s:fill>
                    <s:LinearGradient rotation="90">
                        <s:GradientEntry color="0xEDEDED" />
                        <s:GradientEntry color="0xCDCDCD" />
                    </s:LinearGradient>
                </s:fill>
            </s:Rect>
            <!-- layer 2: control bar divider line -->
            <s:Rect
                left="0" right="0"
                bottom="0" height="1"
                alpha="0.55">
                <s:fill>
                    <s:SolidColor color="0x000000" />
                </s:fill>
            </s:Rect>
            <!-- layer 3: control bar -->
            <s:Group id="controlBarGroup"
                        left="0" right="0"
                        top="1" bottom="1"
                        minWidth="0" minHeight="0">
                <s:layout>
                    <s:HorizontalLayout
                        paddingLeft="10" paddingRight="10"
                        paddingTop="7" paddingBottom="7"
                        gap="10" />
                </s:layout>
            </s:Group>
        </s:Group>
        <s:Scroller
            id="contentScroller"
            width="100%" height="700"
            minWidth="0" minHeight="0">
            <s:Group
                id="contentGroup"
                width="100%" height="100%"
                minWidth="0" minHeight="0" />
        </s:Scroller>
    </s:Group>
</s:Skin>

The problem is it doesn't explain itself.  The cryptic notes may mean something, but not to me. Example:
<fx:Script fb:purpose="styling">
private var paddingChanged:Boolean;
/* Define the skin elements that should not be colorized. */
static private const exclusions:Array = ["background", "textDisplay"];
So what is being colorized?  The text, if any?  The border, if any?  The background, if any?  Based on the above it isn't possible to know unless you already know in which case it is redundent.  It gets even worse when you have:
*  @private
override public function get contentItems():Array {return contentFill};
"Private" is real helpful in describing a public function.  A wonderful comment full of meaning.
Further, exactly what "contentItmes" are we talking about?  This is from a TextInput skin BTW.  What array of items are in an input?
I could go on, but the point has been made.  The comments are NOT descriptions of the various points in the skin.  This skin is about 200 lines long and it is hopefully going to replace the two lines of CSS that formerly worked.
I think a better place to start with skins is here where someone (so far no one) can explain what the heck is happening in one.  Since there is not a single comment in that entire skin that explains how to use it or what the areas of it mean, I ask the question.

Similar Messages

  • Replace horizontal scroll in a spark list?

    I've gotten myself confused...
    1. I create a new component based on Spark List, "MyList.mxml"
    2. I open it, and in design view I say "create copy of skin"
    3. I open ListSkin1.mxml.
    I want to replace the scroll bar with a custom skinned one. I am not sure where to do this...
    1. I create a new component based on HScrollBar "MyScrollbar.mxml"
    Now what?  Where so I specify in the List component -- or its skin -- do I specify the new scroll bar?

    OK, this is a little crude, but seems to work (and was a lot less complex than I initially thought). My main app looks like this:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/halo">
        <fx:Style>
            @namespace s "library://ns.adobe.com/flex/spark";
            s|List s|Scroller {
                horizontalScrollPolicy: on;
                verticalScrollPolicy: on;
            s|List s|HScrollBar {
                skinClass: ClassReference("TrackThumbOnlyHSBSkin");
        </fx:Style>
        <s:List id="list" width="100" height="100" horizontalCenter="0" verticalCenter="0">
            <s:dataProvider>
                <s:ArrayList>
                    <fx:Object label="The quick brown fox jumps over the lazy dog" />
                    <fx:Object label="One" />
                    <fx:Object label="Two" />
                    <fx:Object label="Three" />
                    <fx:Object label="Four" />
                    <fx:Object label="Five" />
                    <fx:Object label="Six" />
                    <fx:Object label="Seven" />
                    <fx:Object label="Eight" />
                    <fx:Object label="Nine" />
                </s:ArrayList>
            </s:dataProvider>
        </s:List>
    </s:Application>
    And my custom HScrollBar skin, TrackThumbOnlyHSBSkin.mxml, is as follows:
    <?xml version="1.0" encoding="utf-8"?>
    <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
                 xmlns:s="library://ns.adobe.com/flex/spark"
                 xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
                 minWidth="35" minHeight="15"
                 alpha.disabled="0.5" alpha.inactive="0.5">
        <s:states>
            <s:State name="normal" />
            <s:State name="disabled" />
            <s:State name="inactive" />
        </s:states>
        <fx:Metadata>
            <![CDATA[
            [HostComponent("spark.components.HScrollBar")]
            ]]>
        </fx:Metadata>
        <fx:Script fb:purpose="styling">
            <![CDATA[
                /* Define the skin elements that should not be colorized.
                For scroll bar, the skin itself is colorized but the individual parts are not. */
                static private const exclusions:Array = ["track", "thumb"];
                override public function get colorizeExclusions():Array {
                    return exclusions;
                override protected function initializationComplete():void {
                    useBaseColor = true;
                    super.initializationComplete();
            ]]>
        </fx:Script>
        <!--- Defines the skin class for the HScrollBarSkin's track. The default skin class is HScrollBarTrackSkin. -->
        <s:Button id="track" left="0" right="0" width="54"
                  focusEnabled="false"
                  skinClass="spark.skins.spark.HScrollBarTrackSkin"
                  baseColor="haloGreen"/>
        <!--- Defines the skin class for the HScrollBarSkin's thumb. The default skin class is HScrollBarThumbSkin. -->
        <s:Button id="thumb"
                  focusEnabled="false" visible.inactive="false"
                  skinClass="spark.skins.spark.HScrollBarThumbSkin"
                  baseColor="haloBlue"/>
    </s:SparkSkin>
    So I was wrong. I didnt need a custom List skin, or Scroller skin... just the one custom HScrollBar skin (and presumably a custom VScrollBar skin -- and possibly more skins depending on how custom you want the scrollbar left/right top/bottom buttons and/or thumb/track skins).
    Peter

  • Where is the Scroll bar of the page?

    Hello,
    When I start doing my website on Flex 4 using flash builder eclipse plugin, and when I test my pages how they looks I can't see the scroll bar to to see the buttom of the page!! well I thought can be a bug or something but until now I still unable to see the buttom of the pages !
    I read this http://stackoverflow.com/questions/4627659/flex-4-scroller-skin, but I didn't understand what should I do exactely !
    should I create my scroll bar manually to be able to make a scroll ?
    Please I need a solution
    Anyone !

    see an example in action:
    http://trumpboston.com/helpothers/example03521/scroll.html
    it came from this example source code:
    http://blog.flexexamples.com/2010/11/03/adding-scroll-bars-to-an-spark-application-contain er-in-flex-4/
    the first module make it be your application mxml
    the second one, under your src directory, create a "skins" folder and save in there the file:
    skins/CustomScrollingApplicationSkin.mxml
    notice the slider on the top that will increase the height of your content to show the scrollbar jumping around in its height.

  • How do I build a Scroller from scratch in Actionscript?

    I have a hierarchy of objects in my Actionscript.  I use Actionscript because all objects are dynamic, built at run-time on the basis of data from the server.
         Scroller
              Group
                   SxText (my class) is a subclass of RichEditableText which implements IViewPort
    Typical code is:
    public class SxText extends RichEditableText
                sxText = new sxText(....);
                scroller = new Scroller();
                scroller.setStyle("horizontalScrollPolicy","off");
                scroller.setStyle("verticalScrollPolicy","on");  
                group = new Group();
                group.addElement(sxText);
                scroller.viewport = group;
    It looks great and I can control location and size, as well as detect the events that I'm interested in.
    But, the scroll bar thumb fills the vertical space of the bar.
    I've tried many methods to enable or to set viewport content size, but the following code has no effect.
                scrollerSkin = ScrollerSkin(scroller.skin);
                scrollBar = scrollerSkin.verticalScrollBar;
                vbarSkin = VScrollBarSkin(scrollBar.skin);
                thumb = vbarSkin.thumb;
                vbarSkin.addEventListener(MouseEvent.CLICK,scrollBarEvent);
                vbarSkin.setContentSize(sxText.width,sxText.height);
    I'm guessing that I'm missing the one method that will do it.  Thanks.

    After posting, I kept trying.  This works, making the thumb usable.
    This code is called in an event handler of the scroller for UPDATE_COMPLETE
                group.setContentSize( good values for dx and dy );
    Thanks for listening.

  • Need help on these faq's

    Hi,
    Need some info on these questns...pls help
    1.What is the advantages of using ABAP objects in reports?
    2. What does an EXEC SQL statement do in ABAP. What is the disadvantage of using it?
    3. The format of hierarchical sequential ALV?
    4. Explain HOST command? Is it possible to run the host command in SAP environment?
    5. How to backup Sapscript layout set?
    6. Difference between parameters SET and GET?
    7. What is the coding example for filling a BDC table?
    8. What are the components of the SAP menu?
    9. Explain Scroll function?
    10. Steps to set a lock on a record within a DB table?
    11. What are the exceptions in Function Modules?
    12. What are the events driven in a batch job?

    Hi David,
    This is regarding SET & GET Parameters.
    SAP allows you to make use of SPA/GPA technique to fill the input fields of a called transaction with data from the calling program.SPA/GPA parameters are values that the system stores in the global, user-specific SAP memory. SAP memory allows you to pass values between programs. A user can access the values stored in the SAP memory during one terminal session for all parallel sessions. Each SPA/GPA parameter is identified by a 20-character code. You can maintain them in the Repository Browser in the ABAP Workbench. The values in SPA/GPA parameters are user-specific.
    ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETER statements.
    To fill one, use:
    SET PARAMETER ID <pid> FIELD <f>.
    This statement saves the contents of field <f> under the ID <pid> in the SAP memory. The code <pid> can be up to 20 characters long. If there was already a value stored under <pid>, this statement overwrites it. If the ID <pid> does not exist, double-click <pid> in the ABAP Editor to create a new parameter object.
    To read an SPA/GPA parameter, use:
    GET PARAMETER ID <pid> FIELD <f>.
    This statement fills the value stored under the ID <pid> into the variable <f>. If the system does not find a value for <pid> in the SAP memory, it sets SY-SUBRC to 4, otherwise to 0.
    To fill the initial screen of a program using SPA/GPA parameters, you normally only need the SET PARAMETER statement.
    The relevant fields must each be linked to an SPA/GPA parameter.
    On a selection screen, you link fields to parameters using the MEMORY ID addition in the PARAMETERS or SELECT-OPTIONS statement. If you specify an SPA/GPA parameter ID when you declare a parameter or selection option, the corresponding input field is linked to that input field.
    On a screen, you link fields to parameters in the Screen Painter. When you define the field attributes of an input field, you can enter the name of an SPA/GPA parameter in the Parameter ID field in the screen attributes. The SET parameter and GET parameter checkboxes allow you to specify whether the field should be filled from the corresponding SPA/GPA parameter in the PBO event, and whether the SPA/GPA parameter should be filled with the value from the screen in the PAI event.
    When an input field is linked to an SPA/GPA parameter, it is initialized with the current value of the parameter each time the screen is displayed. This is the reason why fields on screens in the R/3 System often already contain values when you call them more than once.
    When you call programs, you can use SPA/GPA parameters with no additional programming overhead if, for example, you need to fill obligatory fields on the initial screen of the called program. The system simply transfers the values from the parameters into the input fields of the called program.
    However, you can control the contents of the parameters from your program by using the SET PARAMETER statement before the actual program call. This technique is particularly useful if you want to skip the initial screen of the called program and that screen contains obligatory fields.
    If you want to set SPA/GPA parameters before a program call, you need to know which parameters are linked to which fields on the initial screen. A simple way of doing this is to start the program that you want to call, place the cursor on the input fields, and choose F1 followed by Technical info. The Parameter ID field contains the name of the corresponding SPA/GPA parameter. Alternatively, you can look at the screen definition in the Screen Painter.
    The SPA/GPA parameter for the input field Company has the ID CAR. Use this method to find the IDs CON, DAY, and BOK for the other input fields.
    The following executable program is connected to the logical database F1S and calls an update transaction:
    REPORT BOOKINGS NO STANDARD PAGE HEADING.
    TABLES SBOOK.
    START-OF-SELECTION.
    WRITE: 'Select a booking',
    SKIP.
    GET SBOOK.
    WRITE: SBOOK-CARRID, SBOOK-CONNID,
    SBOOK-FLDATE, SBOOK-BOOKID.
    HIDE: SBOOK-CARRID, SBOOK-CONNID,
    SBOOK-FLDATE, SBOOK-BOOKID.
    AT LINE-SELECTION.
    SET PARAMETER ID: 'CAR' FIELD SBOOK-CARRID,
    'CON' FIELD SBOOK-CONNID,
    'DAY' FIELD SBOOK-FLDATE,
    'BOK' FIELD SBOOK-BOOKID.
    CALL TRANSACTION 'BOOK'.
    The basic list of the program shows fields from the database table SBOOK according to the user entries on the selection screen. These data are also stored in the HIDE areas of each line.
    Reward If useful.
    Regards,
    Chitra

  • RAM on 8 core.  is 4x4gb or 8x2gb faster?

    I'm adding 16 GB of ram to my new 8 core mac pro. if I add 4 4gb chips, I can later easily expand to 32GB, however, I have a vague memory of someone saying that it will be faster to add eight 2gb chips. Is that true?

    I believe if you get the 2 gigs you will have to get rid of them at some point to upgrade to 32 gig RAM total. That's what I had to do anyway.
    I don't know why 2 gig sticks would be faster than 4 gig ones. What perhaps you heard was the discussion of how many of your RAM slots you should fill. The consensus is six, one without on each side as this Apple PDF explains (scroll down to the 8 core page) : http://manuals.info.apple.com/enUS/Mac_Pro_Early2009_Memory_DIMMDIY.pdf
    Apple gives it's own caveat about filling all the RAM slots and it's true, but I myself haven't found any real world difference in filling all the slots.
    So as far as I can see, the bottom line is there will be no difference between using 2 gig as opposed to 4 gig sticks of RAM, and if you get the 2 gig sticks, you will have to replace them later if you want to add more RAM.
    Good luck.

  • When I turn on my ipad2 it won't scroll in any direction and there is a voice explaining everything i do. How do I get it to scroll and turn the voice off

    When I turn on my Ipad2 it won't scroll in any direction and there is a voice explaining everything you do. How do get it to scroll again and turn off the voice. I have tried to reset it both ways and when I go to settings > general I don't see a reset button.

    Settings>General>Accessibility>VoiceOver>off

  • In the iDVD window, there is a box in the lower left corner.  When I scroll over it, I get the message to hide or show the intro movie.  Checking or unchecking the box seems to do nothing.  Can anyone explain?

    Working with iDVD on a project, there is a box in the lower left corner and sometimes another in the lower right corner.  Scrolling over the one in the lower left corner, I get a message indicating that this box hides or shows the intro movie.  I have checked and unchecked the box, but see nothing different in the project.  Nor can I figure out what is meant by "intro movie."  Can anyone explain?

    Go to iDVD Help and type in Intro Movie, and you will get the full version of this:
    Many iDVD themes have “motion menus” that include animations or video that loop, or play repeatedly, until the viewer clicks a menu button. Themes with motion menus have a motion icon in the lower-right corner.
    In addition to background video, iDVD motion menus may also feature an intro, or short animation, that plays once before the part that loops. Other motion menus also include an “outro” that plays after the viewer clicks a button, serving as a transition between the menu and the selected content.
    An example of an iDVD 6.0 theme with an intro and an outro is Reflection White Main. In this theme, the first drop zones appear in the intro, and the buttons and title appear just before the looping part of the background video. In the outro, everything flies offscreen after the viewer clicks a button.
    iDVD provides tools for viewing these motion menus without going into preview mode, which is especially helpful when you are filling drop zones, and for turning the intro or outro off.
    Here are ways to view and edit the background movie:
    ◼ 
    Drag the diamond-shaped motion playhead along the scrubber bar (shown below), to view the background movie, stopping wherever you like.
    (If you don’t see the motion playhead in iDVD, choose View > Show Motion Playhead.)
    ◼ 
    Deselect the checkboxes at the left and right end of the scrubber bar if you don’t want to use the intro or outro, respectively, in your DVD menu.
    The scrubber bar shows the intro and outro as shaded areas at the beginning and end.
    You can also control the intro and outro from the Menu Info window. With your pointer over the menu (and with no buttons or text objects selected), press Command-I to open that window. Select or deselect the Intro and Outro checkboxes in the Background section of the window.
    NOTE: If you drag your own movie to a motion menu background, the outro is automatically removed. To customize the background and keep the outro, use a still image in the menu background instead of a movie.

  • Please help explain: Difference btw Seekbar in a skin and Seekbar standalone component

    Hi,
    I am confused about the follwing, can someobe please
    enlighten me.
    I noticed that the "Seekbar" component inside any of the
    default skins (e.g StellOverAll.fla) is just a place holder, it has
    2 layers with one layer having just an outline of a rectangle. And
    the SeebarProgress and the SeekbarHandle are place somewhere else
    inside the Skin component. However, if I select the "Seekbar"
    component from the component window and place it on the stage and
    double click to look inside, I can see 4 layers, with the
    SeekbarProgress component in one layer and the SeebarHandle on
    another layer.
    So my question is the following:
    1. Is the "Seekbar" component in the skin DIFFERENT than the
    "Seebar" component from the Component Window?
    2. How does the "Seekbar" component in the skin interact with
    the "SeekbarProgress" and "SeekbarHandle" components in the skin,
    when they are OUTSIDE the "Seekbar" component?
    Any answer will be greatly appreciated.

    20. How Throttling is implemented in OSB?
    SOA Work and Guide: OSB 11g - Throttling
    21. How Transactions are configured in OSB? How you would set the transaction time-outs?
    http://atheek.wordpress.com/2011/04/21/transaction-handling-within-osb/
    Regards
    Nasir

  • Created moving banner but it comes with skins

    Hi,
    There doesn't seem to be an option (DW8) when importing a flash video without it coming with some sort of skin.
    I created a movie (banner across the top of my site - 460 x 120) with Movie Edit Pro and converted it in flash to an .fla file. This part allowed me to choose skins = "none" but when I imported the fla movie into DW it only gave me choices of different skins without a "none" option.
    I don't want a play button for my scrolling movie banner obviously. How can I remove the skin? Keep in mind - I'm much more gui than coder, but I can figure out a few things.
    Thanks,
    Luna13

    gcaLuna13 wrote:
    Thanks again Nancy.
    I understand about the off button... have a link on creating one and how to place it near or on the animation?
    Also can you explain rhe difference between the swf vs fla usages? Why would I prefer 1 over another?
    I can see now that an swf must not need skins so i guess swf is a plus for creating moving banners vs fla.
    First of all, to clarify the file extensions.
    FLA - that's the Flash source file, and is created and edited in Flash
    FLV - that's the Flash video file, I think that's what you meant to say in your original post.
    SWF - the published file from Flash, and many other programs have the ability to export content to this format.
    You're getting into an area where you need to Flash to create the FLA, publish to SWF - then you have complete control of attached FLVs, skins, buttons and anything else you neeed.

  • Scrolling over components

    I am having trouble and this may not even be possible but my aim is to have a scroller similar to a standard html site.
    I have accomplished this by using:
    <s:Scroller id="my_scroller" width="100%" height="100%" horizontalScrollPolicy="auto" verticalScrollPolicy="auto">
            <s:Group>            
               <mx:ModuleLoader id="header_module_loader" left="0" top="0" width="100%" height="150" />
                <s:BorderContainer id='main' width="100%" height="100%" left="0" top="150" skinClass="skins.gradient_background">
                            <mx:ModuleLoader id="main_module_loader"
                                                 top="5"
                                                 bottom="10"
                                                 width="1000"
                                                 height="100%"
                                                 horizontalCenter="0"
                                                 borderVisible="false"
                                                 cornerRadius="10" />
                </s:BorderContainer>
            </s:Group>
        </s:Scroller>
    This works fine except for the fact that the scrolling will not work if the mouse is hovering over some components.  I am not sure exactly which ones do it but I know that <s:TextArea>, <s:List> are 2 of them.  In other words if my mouse pointer is over the background (id='main') it will scroll with no problem, but if  the mouse pointer is over the list in the module (main_module_loader) it will not scroll the bg.  I understand the fact that the component has its own "area" but is there not a way around this?  Sort of like a "scroll whole page" feature?
    Couple Notes:
    The module loader main_module_loader is loading a module with a height of 1000.
    I tried setting the "scroller" attribute of the <s:List> to parentApplication.my_scroller.
    I have been struggling with this on several applications and have ended up redesigning the whole page in order to avoid scrolling in that manner (simple html scrolling).  This project is too big to not have scrolling and I would really like to do it in Flex but if the scrolling doesn't work, then I may have to step back and just do a lot of html/php/javascript/css.
    Thanks for any help.

    I am not sure of the best way to explain the "hovering".  When I say "hovering" I do not mean like onHover.  It is much more simplified than that, I am meaning the exact location of the mouse pointer on your screen.  In other words if I move the mouse pointer over one of the panels on the image in my previous post (and then stop moving the mouse) and then scroll the wheel, the page will not will not scroll based on the outer scroller that is defined in the image above.  I cannot figure out a way to include the component inside the "main" scroller.  This is really hard to explain but when you see it, very easy.  I am not trying to use "hover" as the term we would normally think of it as programmers.
    I am going on a backpacking trip for the weekend and will not be able to respond until Monday.  I greatly appreciate any help you can offer and hope you can help me solve this issue.  Like I said before, not being able to have scrolling similar to standard pages makes some clients hesitant to want a site developed in Flex.
    Thanks,
    Justin

  • How to I get an FLV Skin to display on external sites?

    This is thee most frustrating thing! I've been trying to get
    my FLV skin to display on other sites when embedded, but the video
    is the only thing that shows up. There are no play back controls;
    nothing! I can view things just fine on my site (so that is NOT the
    problem) – it's just not displaying on other sites.
    I am using an FLV component and I do have all the necessary
    files loaded in the same folder. It's just when I try embedding the
    SWF file on an external site, the only thing that shows up is the
    video w/ no controls or skin.
    Is there embedding code to include the second SWF file?
    OR
    Is there a better way in creating a SWF file that includes
    the FLV component? ActionScripting or something that needs to be
    added???
    If so, please explain! I got ALL DAY AND NIGHT! This is
    driving me up the wall. There is NOTHING on the web that talks
    about this.
    Thanks!!!!!

    I found a link which informs that not all servers allow the MIME type for "f4v" files. . .
    http://forums.devshed.com/flash-help-38/how-do-i-make-f4v-files-play-in-a-web-610155.html
    Also, when I tried inserting a FLV object using Media>FLV the menu option only allowed me to insert FLV files, not F4V files.  So that comes back to the issue of what type of container you would be using since the Dreamweaver FLV container does not support F4V.

  • Need help to explain these codes!!! Urgently!!!

    Hi anyone who's here to help...I am doing my Final year project report now...i dunno how to explain these codes in word...can anyone tell me what it means? what are these codes for...? what does each paragraph indicate?
    thanks.
    sorry, maybe i only insert pieces of the codes and its vague...ok, in this source code...what i dun understand is....i have cut and paste the sections of codes which i dun understand as below..
    bcoz this codes are passed down from my seniors who had graduated...and my task is to explain these codes in the form of a report without me having any background on programming...i tried asking some frens...its either they dunno or forgotten...this is my last hope...thanks again...thanks..
    * new added code */
         Thread scroller;     //for looping purpose
         int loopcounter,count;
         // thread is to allow the program to be called every and then.
         public void init()
              /*new added code */
              loopcounter=0;[list]
    **like whats does "thread scroller" means? Looping purpose? what's looping then?
    **also, i've tried on changing the "Loopcounter = 0" to other numbers like 2 and 5...and when i run it on the appletviewer..my image simply runs out of my page...
    [list]
    *And this part...what does it mean?
    /*new added code*/                                      
                public void start() {                    
                if (scroller == null) {               
                scroller = new Thread(this);         
                scroller.start();                          
        } [list]
    for this section here, i really dunno what it says.. "public void start"--start what? scroller again? new Thread(this)?
    [list]
        public void stop() {    
            if (scroller != null) { 
                scroller.stop();   
                scroller = null; 
        } [list]
    I dunno about this section also.. stops wat??
    [list]
        public void run() {                                                           
              try {Thread.currentThread().sleep(100);}                
                catch (InterruptedException e){}
            for (count=0; count <= 400; ) {  
              try {Thread.currentThread().sleep(20);} 
                catch (InterruptedException e){}  
              rm.load();       
        } [list]
    wat is it runing here? try? catch? for? wat does it mean?????
    [list]
        public void destroy(){;}                  
        public void update(Graphics g){paint(g);}
    }[list]
    now this.. wat is it destroying?? updateing wat???
    [list]
    this is my whole program like...
    import java.awt.*;     /*Contains all of the classes for creating user
                   interfaces and for painting graphics and images.*/
    import java.applet.*;     /*Provides the classes necessary to create an applet and the
                   classes an applet uses to communicate with its applet context.*/
    /* Loadable is required for RealMedia so that it know that this code
    can load images and sounds and has the startUp() method
    /* HotSpotListener is required to let HotSpot call hotSpotEvent(HotSpot) when it
    has been clicked
    //runnable is for looping purpose ....to animate the text or images.
    public class LibraryTest extends Applet implements Loadable, HotSpotListener, Runnable
         // RealMedia will load and save images and sounds.
         // It will also give information on the loading process.     
         RealMedia rm;
         // Four buttons that can be clicked on.
         HotSpot hs1,hs2,hs3,hs4;
         // 1 will show image 0 and 1 will show image 1.
         int x =0;
    /* new added code */
         Thread scroller;     //for looping purpose
         int loopcounter,count;
         // thread is to allow the program to be called every and then.
         public void init()
              /*new added code */
              loopcounter=0;
              // We'll place the buttons ourselves.
              setLayout(null);
              setBackground(Color.white);
              // create the RealMedia object
              rm = new RealMedia(this);
              //Start adding all image files you will use
              // image0 called pic_black
              rm.add("pic_black.jpg","image0");
              rm.add("EG3165 Tutorial 1.jpg","image0_1");
              rm.add("Question.jpg","image0_2");
              rm.add("Solution.jpg","image0_3");
              rm.add("Exercise.jpg","image0_4");
              //rm.add("cute.gif","image0_5");
              rm.add("mac-win.gif","image0_6");
              rm.add("walking-floppy.gif","image0_7");
              rm.add("eg3165_t001ver03_00.gif","image1");
              rm.add("eg3165_t001ver03_01.gif","image2");
              rm.add("eg3165_t001ver03_02.gif","image3");
              rm.add("eg3165_t001ver03_03.gif","image4");
              rm.add("eg3165_t001ver03_04.gif","image5");
              rm.add("eg3165_t001ver03_05.gif","image6");
              rm.add("eg3165_t001ver03_06.gif","image7");
              rm.add("eg3165_t001ver03_07.gif","image8");
              rm.add("eg3165_t001ver03_08.gif","image9");
              // Start button with 4 images
              // 1 Default state, mouseOver and mouseClick state.
              rm.add("1st.gif");
              rm.add("1st.gif");
              rm.add("1st.gif");
              // 2 Other button
              rm.add("prev.gif");
              rm.add("prev.gif");
              rm.add("prev.gif");
              // 3
              rm.add("next.gif");
              rm.add("next.gif");
              rm.add("next.gif");
              // 4
              rm.add("last.gif");
              rm.add("last.gif");
              rm.add("last.gif");
              // load the images now
              rm.load();
         public void startUp()
              // button 1
              hs1 = new HotSpot(this);
              hs1.setImage(rm.get("1st.gif"),1);
              hs1.setImage(rm.get("1st.gif"),2);
              hs1.setImage(rm.get("1st.gif"),3);
              hs1.setBounds(200,515,40,38);
              // same for button 2
              hs2 = new HotSpot(this);
              hs2.setImage(rm.get("prev.gif"),1);
              hs2.setImage(rm.get("prev.gif"),2);
              hs2.setImage(rm.get("prev.gif"),3);
              hs2.setBounds(250,515,40,38);
              // same for button 3
              hs3 = new HotSpot(this);
              hs3.setImage(rm.get("next.gif"),1);
              hs3.setImage(rm.get("next.gif"),2);
              hs3.setImage(rm.get("next.gif"),3);
              hs3.setBounds(300,515,40,38);
              // same for button 4
              hs4 = new HotSpot(this);
              hs4.setImage(rm.get("last.gif"),1);
              hs4.setImage(rm.get("last.gif"),2);
              hs4.setImage(rm.get("last.gif"),3);
              hs4.setBounds(350,515,40,38);
              // Place them
              add(hs1);
              add(hs2);
              add(hs3);
              add(hs4);
              // Repaint makes sure they are immediately visible.
              hs1.repaint();
              hs2.repaint();
              hs3.repaint();
              hs4.repaint();
         // Here the images are drawn.
         public void paint(Graphics g)
              g.setColor(Color.white);
              // When it is still loading show a loading message.
              if (!rm.isLoaded())
                   g.drawString("loading file "+rm.getCurrent(),20,20);
                   g.drawString("of "+rm.getTotalFiles(),20,40);
                   g.drawString("Percent: "+rm.getPercent(),20,60);
                   g.fillRect(20,80,rm.getPercent(),20);
              // Otherwise draw image1 or 2
              else
                   if (x == 0)
                        //place images using x-coordinates, y-coordinates.
                        g.drawImage(rm.get("image0"),20,20,this);
                        g.drawImage(rm.get("image0_1"),80+loopcounter,100+loopcounter,this);
                        g.drawImage(rm.get("image0_2"),190+loopcounter,175+loopcounter,this);
                        g.drawImage(rm.get("image0_3"),240+loopcounter,220+loopcounter,this);
                        g.drawImage(rm.get("image0_4"),290+loopcounter,265+loopcounter,this);
                        //g.drawImage(rm.get("image0_5"),150+loopcounter,285+loopcounter,this);
                        g.drawImage(rm.get("image0_6"),400,370,200,100,this);
                        g.drawImage(rm.get("image0_7"),100,300,this);
                        loopcounter+=2;
                        if (loopcounter == 50)
                        loopcounter = 0;
         // if loopcounter+=2, coordinate=x+loopcounter, y+loopcounter.
         /* e.g. round 1, loopcounter=0, coordinate=1,3 */
         /* e.g. round 2, loopcounter=2, coordinate=3,5 */
         /* e.g. round 3, loopcounter=4, coordinate=7,9 */
                   else if (x == 1)
                        g.drawImage(rm.get("image1"),20,20,this);
                   else if (x == 2)
                        g.drawImage(rm.get("image2"),20,20,this);
                   else if (x == 3)
                        g.drawImage(rm.get("image3"),20,20,this);
                   else if (x == 4)
                        g.drawImage(rm.get("image4"),20,20,this);
                   else if (x == 5)
                        g.drawImage(rm.get("image5"),20,20,this);
                   else if (x == 6)
                        g.drawImage(rm.get("image6"),20,20,this);
                   else if (x == 7)
                        g.drawImage(rm.get("image7"),20,20,this);
                   else if (x == 8)
                        g.drawImage(rm.get("image8"),20,20,this);
                   else if (x == 9)
                        g.drawImage(rm.get("image9"),20,20,this);
         // This method is called when a button has been clicked.
         public void hotSpotEvent(HotSpot hs)
              // if it was button 1 show image1.
              if (hs == hs1)
                   x = 1;
              // else show image2
              else if (hs == hs2)
                   {x = x - 1;
                   if ( x <= 1 ) x = 1;
              else if (hs == hs3)
                   {x = x + 1;
                   if ( x >= 9 ) x = 9;
              else
                   x = 9;
              // and repaint to show them.
              repaint();
         // Necessary for RealMedia to load your images
         public Image loadImage(String file)
              return getImage(getCodeBase(),file);
         // Also required but not used this time.
         public AudioClip loadAudio(String file)
              return getAudioClip(getDocumentBase(),file);
    /*new added code*/
         public void start() {
                if (scroller == null) {
                scroller = new Thread(this);
                scroller.start();
        public void stop() {
            if (scroller != null) {
                scroller.stop();
                scroller = null;
        public void run() {
              try {Thread.currentThread().sleep(100);}
                catch (InterruptedException e){}
            for (count=0; count <= 400; ) {
              try {Thread.currentThread().sleep(20);}
                catch (InterruptedException e){}
              rm.load();
        public void destroy(){;}
        public void update(Graphics g){paint(g);}
    }

    Thread scroller;//for looping purpose
    **like whats does "thread scroller" means? Looping purpose? what's looping then?So, you don't know what a variable declaration is, and you don't know what looping is, and you're unable to find out other than by having somebody here tell you (your school has no library, no bookstore, and no access to google--only to the Java forums).
    Either your school is absolutely backwards and useless, or you're a stupid lazy git who deserves to fail the course. Either way, somebody here posting an answer for you is not going to help you.
    The following might.
    Sun's basic Java tutorial
    Sun's New To Java Center. Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    http://javaalmanac.com. A couple dozen code examples that supplement The Java Developers Almanac.
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's Thinking in Java (Available online.)
    Joshua Bloch's Effective Java
    Bert Bates and Kathy Sierra's Head First Java. This one has been getting a lot of very positive comments lately.

  • Surface Pro 3 Type Cover Scrolling Behavior

    I asked the same question in the surface comminity forum, and the support engineer suggested that I relay my question here.
    I've just purchased a surface pro 3 with type cover. It's a great machine and I use it for web developement projects on the go. A major part of the stack I use has to be run in linux, so I run a virtual machine with ubuntu server. I use putty to ssh into
    the vm, and rely on vim for code editing. On my previous machine I was able to get mouse scrolling support working in vim, as the events are relayed over by putty. This works even with 2 finger scrolling on trackpads of various sorts. However, this does not
    work on the type cover for surface pro 3.
    After some observations, I realized that the 2 finger scrolling on type cover's trackpad would trigger a screen scrolling animation when the scrollbars hit the end points, a behavior similar to scrolling via the touch screen. So I am guessing that instead
    of using the traditional mouse wheel events, the new trackpad uses screen scrolling events? Which explains why putty couldn't relay the scrolling to vim.
    I am wonder if this behavior can be optional or not. Perhaps a configuration somewhere would allow me to make the trackpad fire the usual mouse wheel like scrolling events so that my putty + vim combination could still benefit from the trackpad?

    Hi,
    Regarding Surface pro 3 type cover issue, we may first take a look at the following troubleshooting guide:
    Troubleshoot your Surface Cover
    For the type cover usage, please see:
    Type Cover
    Apologize for that we don't have enough materials to check the issue you mentioned here, for the usage of surface Pro 3 and its type cover, for special personal support, please take a try with the
    Contact us.
    Thank you for your understanding.
    Best regards
    Michael Shao
    TechNet Community Support

  • Is there a fix to the scrolling bug in Dreamweaver on Surface Pro 3?

    On my SP3 with the latest update of Dreamweaver CC I experience the code window merging lines over each other when scrolling.  This is hard to explain but say I pull the scroll bar down the lines of code appear to stay where they are but the line numbers move as expected.  This results in say line 30 displaying the contents of line 1.  Does that make any sense when reading...??!?  Anyway it is more than infuriating!  To get over this it sometimes helps to select the text in the window - but not a fullproof solution as it doesn't always work.  Any suggestions appreciated.
    Thanks.

    OK, here goes. Dreamweaver is currently not enabled to support touch devices.
    There isn't much that I can share at this moment except that we have registered this request and are looking towards addressing it in the future.
    Until then, we request you to continue using Dreamweaver similar to how you have been using it previously on your desktop.
    Also feel free to use the Ideas section on this forum to post your request and canvass for it.
    Thanks,
    Preran

Maybe you are looking for