Do we need "Centrify"?

Hi, we are in the process of doing our Identity Management stack.
So far we're working with DSEE 6.3.1, IDM 8.2 and ISW and so on - a Sun DSEE Stack.
But we have a consultant who wants to keep pushing Centrify on us.
I can't actually understand what Centrify will give us, given that we are not going to use AD for UNIX/Linux/OSX authentication and so on.
AD will end up being just a peer in the realm such that it will handle DS services for MS servers and apps, but not UNIX.
So how do I explain that we do not need Centrify. I also understand that Centrify needs to have a few changes made to AD wrt schema, objectclasses and so on.
Can someone please who is not a marketing weasel explain why I want/do not want Centrify so I can kill it off if we do not need it?
When I try to look on the web for some technical advice regarding the placement of the product in a Solaris world, the feeling I get is that it is all marketing mumbojumbo and I just want the facts!
rachel

Using a solution such as Centrify could actually be a good thing for a number of reasons in that it supports a wide range of OS platforms (ie has agents for a wide range of UNIX, Linux and Mac platforms, something like 190 various variants), so if you have a significant mix of OSes that are not covered by the Sun Directory you may want the agent coverage that Centrify provides. It delivers Kerberos capabilities built in, offers Group Policy support for non-MSFT platforms, and offers privileged user management and user-level auditing. For the record it does not require AD Schema extensions.
That being said, the fundamental question you need to have your organization answer is what role AD provides vis a vis the Sun Directory, what platforms do you want tied into a central directory, what level of functionality to you want beyond authentication, etc. So I agree with the previous post, by creating a set of requirements that your organization needs addressed and is mutually agreed upon, you can then best judge the various solutions to those requirements.

Similar Messages

  • CAC card reader SCR3310 on Yosemite ....need help

    Hi,
    I've been working on my computer for hours trying to get the CAC reader SCR3310 to work on my mac. I've downloaded all the certificates and middle-ware. When I go to About This Mac -> System Report -> Hardware -> USB, I can see that the computer recognizes the USB device:
    SCR33xx v2.0 USB SC Reader:
      Product ID: 0x5116
      Vendor ID: 0x04e6  (Shuttle Technology)
      Version: 3.04
      Speed: Up to 12 Mb/sec
      Manufacturer: SCM Microsystems
      Location ID: 0x14100000 / 13
      Current Available (mA): 500
      Current Required (mA): 100
    But whenever I try going to NKO, I keep on getting an error message. Currently there's no one on base who knows that this reader works on a mac, but this is the only reader sold. I am about to give up.

    I have that card reader working with Centrify Express. Nothing else was required.
    You ou likely need to "pair" the NKO website with the appropriate certificate in Keychain Access By setting an identity preference for the cert.
    Also See Navy/Mac specific info here: https://militarycac.com/Navy.htm#INFORMATION_FOR_APPLE

  • Windows Domain Thuursby and Centrify..which one..both?

    I am looking at have my Mac environment integrate with my Windows environment. I have 30x as many windows clients as Mac's I have the typical Windows office environment...AD, File Servers,Group Policies..etc,
    I rather not have to go through expense of putting a OS X 10.6 server just to control 6 macs. I would like them to authenticate to AD and provide managment of the Mac environment.
    I have done some research on Centrify and Thursby products and they both seem to be a recommeded solution.
    I seems that Thursby does a better job of connecting to shares/DFS and Centrify does a better job of GP/AD integration.
    So is it a one or the other senerio or is one perfed over the other?

    Hi
    Either one or the other. It's your choice as both achieve similar things. AFAIK Thursby's latest product is the only one that supports DFS attached volumes. If you go for Centrify you may need another product such as ExtremzIP for DFS Support? You can connect to any Windows based share without the need for anything beyond what's available in the Go Menu. A 'Mac Server' is not that expensive? Apple's mac mini server with SLS Unlimited may actually be more cost-effective? There are other technologies such as NetBoot and SUS you might consider using that might make the cost viable? If all you want is a means to manage the macs then any hardware that meets SLS minimum requirements will do. This would include laptops although they would not be officially supported for SLS use.
    However:
    Thursby's product does involve the use/support of an application you may not be familiar with? AdmitMac is installed on the Mac Clients. I'm not absolutely certain regarding the pricing/licensing but I think it's a per seat license? Centrify (or Likewise) is installed on the Windows Server. It 'sits' on top of the AD Schema and 'maps' apple-specific Object Classes, attributes and values that correspond with windows-specific ones. GPOs that are applicable to windows workstations can then be applied to mac ones. Everything is done from AD. No need to use/support another management application.
    There are other ways of doing this depending on your skill set and requirements? You could alter the AD Schema itself? Create/add the appropriate Object Classes, attributes and values yourself. All you would need thereafter is WorkGroup Manager installed on a client mac workstation to assign appropriate MCX (or mac-style GPOs). Another way would be to download WorkGroup Manager (free to download) and install it on the mac workstations directly. Create a 'generic' local account separate from a locked down local administrator account and use WorkGroup Manager locally to manage that account or computer. WorkGroup Manager allows for finer 'granular' control beyond the built-in Parental Controls. If users are going to be 'using/sitting at' the same workstations rather than true roaming profiles a similar result can also be achieved.
    These last methods involve no expense at all. Just some time and effort on your part which you would have to invest anyway.
    Tony

  • Adobe CS and Centrify

    Anyone working with Centrify for the mac & found a solution for the Adobe CS to recognize fonts?

    You are correct. I knew that before I posted the original question. What I needed at the time, was someone to do it for me, because I didn't have access to my computer – only the files. But the issue is resolved now that I have my computer again. Thanks.

  • Netapp with Centrify

    We are using Centrify DirectControl v4 for Unix authentication and mapping with AD.  The Filer, v7.3.1, has with LDAP enabled to map the Unix accounts, via Centrify, with AD.  However, some AD accounts does not map with Centrify fromt the Filer.  Centrify has multizones and the Unix account are in more than one zones.  It 'seems' the problem occurs when the Unix accounts are in multiple Centrify zones and but the Filer only checks in one particular zone.  Also, I'm 100% sure if I have ldap configure correctly on the Filer.Any suggestions/assistance appreciated. Here the ldap options.ldap.ADdomain                corp.company.netldap.base                    DC=corp,DC=company,DC=netldap.base.groupldap.base.netgroupldap.base.passwd             CN=Users,OU=Universal,OU=Zones,OU=UNIX,OU=Special Purpose,DC=corp,DC=company,DC=netNELEVEL;OU=UNIX,OU=Special Purpose,DC=corp,DC=company,DC=netNELEVELldap.enable                  onldap.minimum_bind_level      anonymousldap.name                    NetAppQryldap.nssmap.attribute.gecos  gecosldap.nssmap.attribute.gidNumber gidNumberldap.nssmap.attribute.groupname cnldap.nssmap.attribute.homeDirectory homeDirectoryldap.nssmap.attribute.loginShell loginShellldap.nssmap.attribute.memberNisNetgroup memberNisNetgroupldap.nssmap.attribute.memberUid memberUidldap.nssmap.attribute.netgroupname cnldap.nssmap.attribute.nisNetgroupTriple nisNetgroupTripleldap.nssmap.attribute.uid    uidldap.nssmap.attribute.uidNumber uidNumberldap.nssmap.attribute.userPassword userPasswordldap.nssmap.objectClass.nisNetgroup nisNetgroupldap.nssmap.objectClass.posixAccount posixAccountldap.nssmap.objectClass.posixGroup posixGroupldap.passwd                  ******ldap.port                    389ldap.serversldap.servers.preferredldap.ssl.enable              offldap.timeout                 20ldap.usermap.attribute.unixaccount unixaccountldap.usermap.attribute.windowsaccount windowsaccountldap.usermap.baseldap.usermap.enable          on

    hiCan you please see section 2.2 of this whitepaper or the extract below. Specifically on options.ldap.base where its pointing to Centrify zone location (default location is Program Data)  but yours is showing "DC=corp,DC=company,DC=net". If you have trouble accessing this document, please let me know.http://www.centrify.com/downloads/public/resources/centrify_an005_netapp_filers.pdf2.2 Mapping with RFC 2307 and DirectControl 3.0 If you wish to use the new RFC 2307 UNIX schema attributes that are included in Windows Server 2003 R2, you will need to use both Centrify DirectControl and Windows Server 2003 R2.  First, ensure that the Active Directory forest is set to a Windows Server 2003 functional level.  You then need to create an RFC 2307 DirectControl Zone associated with the Active Directory domain that is set up on the Windows Server 2003 R2 domain controller. The NetApp server will be able to access user and group records visible in a specific DirectControl Zone.  Once this is done, start a terminal session on your NetApp server and type in the following to view your current LDAP settings: options ldap To configure the NetApp server to use the RFC 2307 attributes, make the following changes  using these options ldap commands: options ldap.ADDomain ADDOMAIN options ldap.name ldapuser  options ldap.passwd not24get  options ldap.enable on  options ldap.base CN=netappzone,CN=Zones,CN=Centrify,CN=Program Data,DC=addomain,DC=com In the above example, the Active Directory domain is “ADDOMAIN”, the user name of an Active Directory user with directory read permission for the NetApp server to get Active Directory data is “ldapuser”, the password for this user is “not24get” and the Zone name visible to the server containing the RFC-2307 user profile information is “netappzone  If the Active Directory user names and UNIX user names are not the same, then you need to make the same changes to the mapping file mentioned previously.

  • Apple Mini DVI to Video Adapter - do you need cables as well?????????????

    Apple Mini DVI to Video Adapter
    i have this already,but do i need a certain cable to go into the TV. as it only has one port instead of the usual 3 av leads have???
    help please,confused...............

    Look in your question and you'll find the answer...
    Apple mini DVI to Video Adapter
    ...the usual 3 av (audio/video) leads...
    DVI is video only so you only need one port... if you were hooking up audio and video you'd need three (1 for video - 2 for the left/right audio channels)

  • I need to upgrade my external hard drive, any suggestions

    I have an iMac i5 quad core (2010 model), I have been using a Seagate Barracuda 250 GB 7200 RPM from an older iMac 20" G5 in an OWC Mercury Elite Pro Firewire 400/USB 2.0/1.1 enclosure as my backup external HD.  The enclosure has the Oxford 911 chipset and says that it supports up to 750GB.
    Since I have been using Snow Leopard only I have used time machine to backup to this HD.  Now, that I have installed Lion, and partitioned my HD on my computer to have both Lion and Snow Leopard OS, I need to get a larger external HD to install in my OWC enclosure to save money.
    I was looking on the OWC website and found a SeaGate 2.0TB Barracuda Green SATA 6Gb/s 64MB, 5900 RPM for $90.00, or the 7200 RPM for $158.00.
    I am not sure if my enclosure with the Oxford 911 chipset will support this drive, and also the specs for my enclosure says up to 750GB, and that probably rules out these drives anyway.
    I could just keep what I have and use it as a back up of my Lion partition currently using 134 GB.  Snow Leopard using 127 GB on my internal 1TB hard drive.  Then, I could purchase the OWC Mercury Elite Pro 2.0 TB Firewire 400/USB 2.0/1.1 with the Oxford 934 chipset, 5900 RPM, and 64 MB for $150.00. Even thought this would be a little slower, is it worth paying $40.00 more for the 7200 RPM speed?
    On my hard drive now I am only using 261 GB, so after I first back up both partitions on the 2.0 TB external HD, any other backups would not take as long to do.  I have Super Duper, but right now it is not recognizing my Lion HD, and I have not backed up Lion to my current external HD yet since I want to get a larger external HD.  When I get the new HD, I can partition it so that I can backup either Lion partition or SL partition using time machine, it that right?  My current external HD is bootable, but I am confused about Carbon Copy or Super Duper, will that be saved on my external HD?
    Thanks,
    DaisyMay

    DaisyMay wrote:
    Firewire 400/USB 2.0/1.1
    I would recommend not settling for less then USB 3 or hold out for Thunderbolt, if your machine is capable. Firewire 800 minimum.
    MacBook Pro, Mac OS X (10.7), 2.4GHz IntelCore i5 320 HD 8GB RAM ParallelsDesktop6.0

  • How large of a hard drive can I install on dual G5, and do I need more RAM?

    I recently had a situation in which my dual-processor 2.0 G5 was completely refurbished by Apple repair-new logic board, both processors, video card, thermistor, all new. Finally it has been working well after a month of trips back and forth from the Apple store. I have two internal hard drives installed on my G5, both 300GB, one for OS applications, and one for audio. I am running out of space on my main hard drive, and so I recently purchased a Maxtor 1TB hard drive, now manufactured by Seagate, from Fry's. After having my G5 refurbished, I was having an issue with my Samsung 930B monitor going into sleep mode when I boot-up from a CD, but other than that G5 was working fine. I removed the main 300GB hard drive from slot #1 and put it into slot #2, from which I had removed my audio hard drive. I installed the Maxtor drive in slot #1 and reformatted it for Mac using my laptop with ATA/USB cables previously purchased for data transfer. This took about 14 hours as I used the "zeros" option. After that I hooked up the internal cables to both drives and tried to boot up from Leopard in order to install it on the Maxtor drive, but again my monitor went into to sleep mode. We went to the Apple store to try to see if there was an issue with the computer, but everything worked fine with their monitors and CD's, as well as my CD. So there is some kind of issue with my monitor, probably software as it works fine when booting up from the main hard drive, and also was fine when I did its self-test function. While at the Apple store, they installed Leopard from their hard drive which took about 30 minutes.
    My problem is this: When I arrived home, I turned on my G5, which had been set to boot from my new Maxtor drive and complete the Leopard setup process, which we had decided to do at home as it would have taken another 20 minutes in the Apple store. The G5 turned on, chimed, I got the Apple screen with the wheel, but then after that my monitor goes into sleep mode. I can hear Leopard's setup intro playing through the speakers, but the screen is in sleep mode. So I reboot holding down the option key so I can boot up from my old (300GB) main hard drive, now in slot #2. This works and the monitor screen does not go to sleep. However, as I am browsing on the web to check for issues concerning this monitor, the G5 freezes, and I get a screen with black bars with writing in them and various technical language across the screen. This happened several times after rebooting. Finally I shut the computer down. I am going to try removing the new hard drive and putting both old ones back in and see if the G5 stops crashing. I think the monitor issue is a separate issue, and I am more concerned with the crashing, as previous to the new hard drive installation the G5 was working fine, monitor fine, other than the issue when booting up from a CD. Do I need more memory? Is the 1TB hard drive too large for my dual-processor 2.0 G5 and overloading it? Would I be better off with a 500GB drive? Would appreciate advice from persons with experience in this area. Thank you.

    I have replaced my 5 year old G5 with a Mac Pro, as the G5 just had too many issues, even after replacing all major components (logic board, both processors, video card, etc.) Once I took out the 1 TB hard drive from my old G5, it stopped having the kernel panic issue. Nonetheless I had been through a lengthy repair process previous to this issue, so I didn't care to trust an older machine any longer, especially since being told by an Apple tech that the "new" parts were really just older parts stockpiled from a central location. Could be new, could be refurbished. Apple was kind enough to credit the money we had spent on the G5 repairs towards the purchase of my Mac Pro.

  • Stuck: Need Disk repair but DVD drive dead and only have USB 1

    [1 Ghz flat-panel iMac with USB 1 ports (no USB 2) and also Firewire 400]
    I noticed a strange discrepancy (small but concerning) between the size of a folder on hard drive (folder of all mp3's with no subfolders) and the backup of the same folder on a mounted thumb drive.
    (The size difference was not due to any invisible .DS_Store files and both folders are displayed in List view format.)
    Disk Utility reports three things:
    1. Incorrect number of thread records
    2. Volume Bit Map needs minor repair
    3. Checking volume information.
              Volume free block count",0)   [I might have mangled this line]
    (It should be 13438611 instead of 13437937)
    Here is the GOOD (but these are useless as explained under the "Bad"):
    - I have a Tiger 10.4 boot DVD for a repair ==>but see below
    - I also have a Disk Warrior disk (never used)
    Here is the BAD:
    - My built-in optical drive [Pioneer DVD-RW DVR-105] is -- I now discover - defunct and DEAD - it does not run the Tiger Boot DVD (in pristine shape).
    - I bought an external SuperDrive (unopened) but I believe no boot from USB 1 is possible in PowerPC so a SuperDrive with USB 1 is useless.
    Questions:
    1.) Is there any way to boot from some external source (optical drive is DEAD) to run Disk Utility and/or Disk Warrior? -- I see none in this case! (gulp).
    2.) More importantly (and this is my fundamental concern): Do the three Disk Utility hard drive issues constitute any direct threat to the integrity of my files?
    I have almost everything backed up to duplicate thumb drives over these many months as standard practice.
    Are these Disk Utility errors fully isolated to hard drive directory-keeping...or do these directory damage errors pose the possibility of mangling or harming my files or their metadata (filesize, etc.).
    Put another way, when files are backed-up from a hard drive under the Disk Utility reports above, do they remain unharmed and undamaged by the situations reported by Disk Utility?
    Thanks,
    Bill

    Jeff and Michael,
    Thank you both for your generous and thoughtful input.
    Michael: As I slept on it overnight, the exact same idea occurred to me of trying a Target Mode to the iMac from my Lion MacbookPro (I have it but stupidly have yet to use it much!).
    I did buy a Firewire 800 (MBP) to Firewire 400 (iMac) adapter cable a few months ago!
    CONCERN: Would there be potential compatibility issues or risks in running Lion 10.7's Disk Utility against the hard drive of the old OSX 10.4 iMac in Target Disk Mode?
    ==> Assuming an "it's ok" answer to the Target Disk question, would the majority of users agree that the Target Disk Mode would be more prudent than running:
    fsck -fy   in Single User Mode
    I have never done fsck -fy before especially because I was under the impression there were issues with Journaled drived but from what I have read today...it looks ok to do)
    Jeff: Can't thank you enough for the reference to the OTW DVD drive. I might first invest $10 in one of those DVD lens cleaner disks that I've read about. It's probably not the issue or else why would the drive read commercial Music cds perfectly well!
    Thanks,
    Bilil

  • Dear experts help needed in creation of report in hr

    Please check the below code.
    There is one Transaction code PA20 from these i need the fields in my report.
    I tried writing the report but the fields are from structure so please help in creating the report.
    I am a beginner so i donno how to find the below fields are coming from which table.
    when i do F1 on the fields in PA20 i found the fields but they are from structure.
    type-POOLS: SLIS.
    TYPES : BEGIN OF TY_P0001,
            PERNR TYPE PERNR_D,      "Personnel Number
            BEGDA TYPE BEGDA,        "Start Date
            BUKRS TYPE BUKRS,        "Company Code
            ENAME TYPE EMNAM,        "Formatted Name of Employee or Applicant
            END OF TY_P0001.
    TYPES : BEGIN OF TY_P0016,
            PERNR TYPE PERNR_D,      "Personnel Number
            PRBZT TYPE PRBZT,        "Probationary Period
            CTTYP TYPE CTTYP,        "Contract Type
            END OF TY_P0016.
    TYPES: BEGIN OF TY_P9210,
             PERNR TYPE PERNR_D,
            ZTICKET_AMT TYPE ZTICKET_AMT,  "Ticket Amount
            END OF TY_P9210.
    TYPES : BEGIN OF TY_OUTPUT,
             PERNR TYPE PERNR_D,      "Personnel Number
             BEGDA TYPE BEGDA,        "Start Date
             BUKRS TYPE BUKRS,        "Company Code
             ENAME TYPE EMNAM,        "Formatted Name of Employee or Applicant
             PRBZT TYPE PRBZT,        "Probationary Period
             CTTYP TYPE CTTYP,        "Contract Type
             ZTICKET_AMT TYPE ZTICKET_AMT,  "Ticket Amount
            END OF TY_OUTPUT.
    DATA:  T_P0001 TYPE TY_P0001 OCCURS 1,
           W_P0001 TYPE TY_P0001,
           T_P0016 TYPE TY_P0016 OCCURS 1,
           W_P0016 TYPE TY_P0016,
           T_P9210 TYPE TY_P9210 OCCURS 1,
           W_P9210 TYPE TY_P9210,
           T_OUTPUT TYPE TY_OUTPUT OCCURS 1,
           W_OUTPUT TYPE TY_OUTPUT.
        START-OF-SELECTION.
            SELECT PERNR
                   BEGDA
                   BUKRS
                   ENAME FROM P0001 INTO TABLE T_P0001
                   WHERE
                    AND  BUKRS IN S_BUKRS
                    AND  BEGDA < '31032007'.
              SELECT PERNR
                     PRBZT
                     CTTYP
                     FROM P0016 INTO TABLE T_P0016
                     FOR ALL ENTRIES IN T_P0001
                     WHERE PERNR = T_P0001-PERNR
              SELECT PERNR
                     ZTICKET_AMT
                     FROM P920 INTO TABLE T_P920
                     FOR ALL ENTRIES IN T_P920
                     WHERE PERNR = T_P0001-PERNR.

    use logical data base PNP.
    tables: pernr.
    infotypes: 0001, 0016, ....
    start-of-selection.
    get pernr.
    here all tables Pxxxx defined as INFOTYPES are filled for the selected PERNR.

  • Need to a voltage converter to run US-bought 110v HP Printers in 220v Pakistan any recommendations?

    I Purchased Three Printers 
    1. 
    HP LaserJet Enterprise 500 MFP M525dn(CF116A)
    2.
    HP Color LaserJet Enterprise CP4025n Printer(CC489A)
    3.
    HP LaserJet P2055d Printer (CE457A) -
     All of them three operates on 110v USA.  but i need them to use in 220V . Can anyone recommend me any good Voltage converter ?
    This question was solved.
    View Solution.

    Hi,
    Before go out to buy a converter/transformer  (you need over 2KW for all 3 of them), please check the switches at the back, they may have switches to switch from 110V to 220V. I don't know your market, my suggestion: talk with an electrician who knows the real world much better.
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Step-by-Step Help Needed for Deploying Some Adobe Software

    We are a K-12 educational institution.  I am currently working at setting up a computer lab with about 16 MacMini computers.
    I'm VERY new to the realm of servers, deployment, using terminal, etc.
    I've done lots of research to make it to where I am, but just can't wrap my head around what needs done next with the Adobe products.
    I am using Server OSX (v3) and DeployStudio (v 1.6.3) to try and manage the computers.
    Both my server and clients are running Mavericks 10.9.
    I deployed my core images successfully and would like to now send Adobe products only the computers I choose since I have limited licenses.
    We have volume licenses of Adobe InDesign CS6 and Photoshop Elements 12 that we would like to deploy.
    I have been referencing the following sites, but just can't seem to wrap my head around the EXACT steps that need to be taken.
    http://blogs.adobe.com/oobe/2010/10/adobe-provisioning-toolkit-enterprise-edition.html
    http://helpx.adobe.com/creative-cloud/packager/provisioning-toolkit-enterprise.html
    http://helpx.adobe.com/photoshop-elements/kb/silent-install-instructions-photoshop-element s2.html
    http://forums.adobe.com/message/5781663
    For Adobe InDesign CS6 - I've done the following:
    Created an "Installation Package" using Adobe Application Manager Enterprise Edition (AAMEE v6.2.112.0) using the following instructions.
    http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/creativesuite/pdfs/Ad obeApplicationManagerEnterpriseEditionDeploymentGuide_v_3_1.pdf
    If I log into the client computer, put the package ON the client computer, and run it...it takes me through the install and works wonderfully.It's not automated like I wanted/thought I set it up to do. I have to click through the steps of the installer.
    If I try to deploy it using the "Package install" Workflow in DeployStudio...it loads it during the workflow, then skips through it, acts like it installed it, but it isn't actually installed.Is there a setting that I need to possibly change somewhere?
    For Adobe Photoshop Elements 12 - I'm a bit lost and mostly just have questions:
    I know that I can't use AAMEE and need to use APTEE (Adobe Provisioning Toolkit Enterprise Edition).
    How do I deploy the software? Create my own Package using PackageMaker?
    Which computer do I run APTEE on? All the instructions I can find just say, "do this" - but don't specify where.
    Do I have to open terminal and run the commands on each client computer AFTER installing PE12?
    OR
    Do I run the commands BEFORE deployment on my package stored on my server that is ready for deployment?
    It really comes down to me just not 100% understanding how APTEE works.
    I hope that pertrays my dilemma. I've tried to explain best I can.  If you have any questions - let me know!
    Thanks in advance for any insight you can give!

    We are a K-12 educational institution.  I am currently working at setting up a computer lab with about 16 MacMini computers.
    I'm VERY new to the realm of servers, deployment, using terminal, etc.
    I've done lots of research to make it to where I am, but just can't wrap my head around what needs done next with the Adobe products.
    I am using Server OSX (v3) and DeployStudio (v 1.6.3) to try and manage the computers.
    Both my server and clients are running Mavericks 10.9.
    I deployed my core images successfully and would like to now send Adobe products only the computers I choose since I have limited licenses.
    We have volume licenses of Adobe InDesign CS6 and Photoshop Elements 12 that we would like to deploy.
    I have been referencing the following sites, but just can't seem to wrap my head around the EXACT steps that need to be taken.
    http://blogs.adobe.com/oobe/2010/10/adobe-provisioning-toolkit-enterprise-edition.html
    http://helpx.adobe.com/creative-cloud/packager/provisioning-toolkit-enterprise.html
    http://helpx.adobe.com/photoshop-elements/kb/silent-install-instructions-photoshop-element s2.html
    http://forums.adobe.com/message/5781663
    For Adobe InDesign CS6 - I've done the following:
    Created an "Installation Package" using Adobe Application Manager Enterprise Edition (AAMEE v6.2.112.0) using the following instructions.
    http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/creativesuite/pdfs/Ad obeApplicationManagerEnterpriseEditionDeploymentGuide_v_3_1.pdf
    If I log into the client computer, put the package ON the client computer, and run it...it takes me through the install and works wonderfully.It's not automated like I wanted/thought I set it up to do. I have to click through the steps of the installer.
    If I try to deploy it using the "Package install" Workflow in DeployStudio...it loads it during the workflow, then skips through it, acts like it installed it, but it isn't actually installed.Is there a setting that I need to possibly change somewhere?
    For Adobe Photoshop Elements 12 - I'm a bit lost and mostly just have questions:
    I know that I can't use AAMEE and need to use APTEE (Adobe Provisioning Toolkit Enterprise Edition).
    How do I deploy the software? Create my own Package using PackageMaker?
    Which computer do I run APTEE on? All the instructions I can find just say, "do this" - but don't specify where.
    Do I have to open terminal and run the commands on each client computer AFTER installing PE12?
    OR
    Do I run the commands BEFORE deployment on my package stored on my server that is ready for deployment?
    It really comes down to me just not 100% understanding how APTEE works.
    I hope that pertrays my dilemma. I've tried to explain best I can.  If you have any questions - let me know!
    Thanks in advance for any insight you can give!

  • Help Needed: Returning Back to Windows 8 after downgrading to Windows 7

    Hi guys, im just new here.
    I have a MSI GE40 gaming laptop which I bought 2 months back.
    Within those 2 months of usage, I always encounter my laptop to be very slow in shutting down. It always take, maybe up to 10 minutes to fully shut down. The screen goes black but the power button stays on orange color, & as I said, it takes a long time  for the power button to be completely unlit. But for start up, its blazing fast.
    Thinking that windows 8 itself is the culprit of super slow shutting down, I searched the net on how to downgrade to windows 7.
    Of course I did make a back up first on a 16gb usb flash drive using the pre-installed recovery software from MSI which was completed successfully.
    Then I made some tweaks on the bios (ie select legacy & disable secure boot) & boot using windows 7 installation DVD, deleted all partitions (since the notebook comes with GPT partition) to be able to install windows 7. I installed all the drivers which I downloaded from MSI website specific to my notebook.
    But the problem is not solved, it is still very slow in shutting down, & now even boot up becomes very slow too.
    So I downloaded & execute the firmware & bios for windows 7 from msi website (again, specific to my model). But still the same, the notebook is still very slow both in shutting down & start up.
    So I decided to go back again to windows 8, I tried to boot from the flash drive (I adjusted from the bios & make the flash drive to be the first priority) but it did not boot from it. I tried F11 on start up & selected to boot from usb flash drive but again, to no avail.
    So the last one I did was downloaded windows 8, make a bootable flash drive out of it, boot from it and luckily, I succeed - I have now again a windows 8 msi ge40 laptop.
    But I wanted my laptop to be reinstated to factory setting, i.e, all preinstalled softwares are there, the bios is default for windows 8. So I tried to update the bios to the one for windows 8 again (since I downgraded the bios to the one for windows 7 when I downgraded the OS to windows 7). But I could not update the bios, the laptop is not booting from usb flash drive containing the bios.
    I tried also to recover using F3 on start up but the system does not recognize the flash drive (with system back up). I tried also on PC settings but to no avail.
    Now guys, I need your help.
    How can I return back my laptop to default factory settings?
    Thank you.
    (sorry for my not so good English)

    Hello:
    I think it's not only about the OS version, you need to return this back to your shop to repair with the slow shot down issue, because the OS should be shot down in 30 seconds, far from your GE40 times.

  • Need Help to Draw and Drag Triangle - URGENT

    Hi everyone - I am developing various proofs of the pythagora's theorem
    and the following code draws a triangle on screen and the proof follows -
    but i need to know how to drag the triangle such tht 1 angle is always set to 90 degrees.
    i.e. i need to resize the triangle by dragging its vertex points by which the1 angle remains at 90 no matter what the size.
    The proof has got some graphics code hardcoded in it - i.e. LINES AND POLYGONS have been hardcoded
    i need to reconfigure that such that everytime the user increases the size of the triagnle and clicks on next it draws the lines and polygons in the correct area and place
    PLEASE HELP
    the code is as follows
    MAIN CLASS
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.*;
    import java.awt.event.*;
    import java.text.*;
    import javax.swing.*;
    public class TestProof {
        TestControl control;          // the controls for the visual proof
        TestView view;          // the drawing area to display proof
        // called upon class creation
        public TestProof() {
            view = new TestView();
    view.setBackground(Color.WHITE);
            control = new TestControl(view);
            Frame f = new Frame("Pythagoras");
            f.add(view,"Center");
            f.add(control,"South");
            f.setSize(600,600);
            f.setBackground(Color.lightGray);
            f.addMouseMotionListener(
            new MouseMotionListener() { //anonymous inner class
                //handle mouse drag event
                public void mouseMoved(MouseEvent e) {
                    System.out.println("Mouse  " + e.getX() +","  + e.getY());
                public void mouseDragged(MouseEvent e) {
                    System.out.println("Draggg: x=" + e.getX() + "; y=" + e.getY());
            JMenu File = new JMenu("File");
            JMenuItem Exit = new JMenuItem("Exit");
            Exit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ExitActionPerformed(evt);
            JMenuBar menuBar = new JMenuBar();
            menuBar.add(File);
       File.add(Exit);
            f.add(menuBar,"North");
            f.show();
        private JMenuBar getMenuBar() {
            JMenu File = new JMenu("File");
            JMenuItem Exit = new JMenuItem("Exit");
            Exit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ExitActionPerformed(evt);
            JMenuBar menuBar = new JMenuBar();
            menuBar.add(File);
                 File.add(Exit);   
            return menuBar;
        private void ExitActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:
            System.exit(0);
        // for standalone use
        public static void main(String args[]) {
      TestProof TP = new TestProof();
    }Test VIEW
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.text.*;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class TestView extends Canvas {
        int TRANSLUCENT = 1;
        int sequence;          // sequencer that determines what should be drawn
        // notes matter
        int noteX = 100;     // note coordinates
        int noteY = 60;
        int fontSize = 11;     // font size
        int lineSpacing     // space between two consecutive lines
        = fontSize + 2;
        Font noteFaceFont;     // font used to display notes
        // objects matter
        Polygon tri;          // right-angled triangle with sides A, B, and C
        Polygon tri1;
        Polygon sqrA;          // square with side of length A
        Polygon sqrB;          // square with side of length B
        Polygon sqrC;          // square with side of length C
        Polygon parA;          // parallelogram of base A and height A
        Polygon parB;          // parallelogram of base B and height B
        Polygon poly1;
        Polygon poly2;
        Polygon poly3;
        Polygon poly4;
        Polygon poly5;
        Polygon poly6;
        int X0 = 350;          // coordinates of triangle
        int Y0 = 350;
        int A = 90;//60;          // triangle size
        int B = 120;//80;
        int C = 150;//100;
        //CORDS of 2nd triangle
        int X1 = 350;
        int Y1 = 500;
        // notes: three lines per note
        String notes[] = {
            // note 0
            // note 1
            // note 2
            // note 3
            // note 4
            // note 5
            // note 6
            // note 7
            // note 8
            // note 9
            // note 10
            // note 11
            // note 12
            // note 13
            // note 14
        // constructor
        public TestView() {
            addMouseMotionListener(
            new MouseMotionListener() { //anonymous inner class
                //handle mouse drag event
                public void mouseMoved(MouseEvent e) {
                    System.out.println("Mouse  " + e.getX() +","  + e.getY());
                public void mouseDragged(MouseEvent e) {
                    System.out.println("Draggg: x=" + e.getX() + "; y=" + e.getY());
            // set font
            noteFaceFont = new Font("TimesRoman", Font.PLAIN, fontSize);
            // (coordinates specified w.r.t. to P0, unless otherwise specified)
            // create the triangle
            tri = new Polygon();
            tri.addPoint(0, 0);                    // add P0 coordinate
            tri.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            tri.addPoint(C, 0);                    // add C1 coordinate
            tri.translate(X0, Y0);               // place triangle
            tri1 = new Polygon();
            tri1.addPoint(0,0);                    // add P0 coordinate
            tri1.addPoint(A*A/C +38, +A*B/C);          // add A3 coordinate
            tri1.addPoint(C, 0);                    // add C1 coordinate
            tri1.translate(X1, Y1);
            // create square of side A
            sqrA = new Polygon();
            sqrA.addPoint(0, 0);               // add P0 coordinate
            sqrA.addPoint(-A*B/C, -A*A/C);          // add A1 coordinate
            sqrA.addPoint(-A*(B-A)/C, -A*(A+B)/C);     // add A2 coordinate
            sqrA.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            sqrA.translate(X0, Y0);               // place square
            // create square of side B
            // warning: the coordinate of this object are specified relative to C1
            sqrB = new Polygon();
            sqrB.addPoint(0, 0);               // add C1 coordinate
            sqrB.addPoint(B*A/C, -B*B/C);          // add B1 coordinate
            sqrB.addPoint(B*(A-B)/C, -B*(A+B)/C);     // add B2 coordinate
            sqrB.addPoint(-B*B/C, -B*A/C);          // add A3 coordinate
            sqrB.translate(X0 + C, Y0);               // place square
            // create square of side C
            sqrC = new Polygon();
            sqrC.addPoint(0, 0);               // add P0 coordinate
            sqrC.addPoint(C, 0);               // add C1 coordinate
            sqrC.addPoint(C, C);               // add C2 coordinate
            sqrC.addPoint(0, C);               // add C3 coordinate
            sqrC.translate(X0, Y0);               // place square
            poly1 = new Polygon();
            poly1.addPoint(405,279);
            poly1.addPoint(413,350);
            poly1.addPoint(432,500);
            poly1.addPoint(442,571);
            poly1.addPoint(500,500);
            poly1.addPoint(500,350);
            poly2 = new Polygon();
            poly2.addPoint(279,297);
            poly2.addPoint(404,280);
            poly2.addPoint(571,254);
            poly2.addPoint(500,350);
            poly2.addPoint(350,350);
            //Polygon 3
            poly3 = new Polygon();
            poly3.addPoint(404,280);
            poly3.addPoint(350,350);
            poly3.addPoint(414,350);
            poly4 = new Polygon();
            poly4.addPoint(350,350);
            poly4.addPoint(350,500);
            poly4.addPoint(442,572);
            poly4.addPoint(433,500);
            poly4.addPoint(414,350);
            poly5 = new Polygon();
            poly5.addPoint(476,183);
            poly5.addPoint(332,225);
            poly5.addPoint(278,295);
            poly5.addPoint(404,279);
            poly5.addPoint(571,254);
            poly6= new Polygon();
            poly6.addPoint(405,278);
            poly6.addPoint(332,224);
            poly6.addPoint(476,182);
            // create parallelogram of height A
            parA = new Polygon();
            parA.addPoint(0, 0);               // add P0 coordinate
            parA.addPoint(0, C);               // add C3 coordinate
            parA.addPoint(A*A/C, C - A*B/C);          // add Q0 coordinate
            parA.addPoint(A*A/C, -A*B/C);          // add A3 coordinate
            parA.translate(X0,Y0);               // place parallelogram
            // create parallelogram of height B
            // warning: the coordinate of this object are specified from C1
            parB = new Polygon();
            parB.addPoint(0, 0);               // add C1 coordinate
            parB.addPoint(-B*B/C, -B*A/C);          // add A3 coordinate
            parB.addPoint(A*A/C - C, C - A*B/C);     // add Q0 coordinate
            parB.addPoint(0, C);               // add C2 coordinate
            parB.translate(X0 + C, Y0);
            // place parallelogram
        // depending on the sequence number we draw certain objects
        public void paint(Graphics gfx) {
            super.paint(gfx);
            Graphics2D g = (Graphics2D) gfx;
            g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
            // text first, then objects (and animation)
            // we always output some notes
            g.drawString(notes[3*sequence], noteX, noteY);
            g.drawString(notes[3*sequence + 1], noteX, noteY + lineSpacing);
            g.drawString(notes[3*sequence + 2], noteX, noteY + 2*lineSpacing);
            // the object are drawn in an order so that they are properly overlapped
            if(sequence == 13) {
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly2);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.fillPolygon(poly5);
                g.setColor(Color.RED);
                g.setColor(Color.GREEN);
                g.drawLine(413,351,433,499);
                g.setColor(Color.white);
                g.fillPolygon(tri);
                g.fillPolygon(tri1);
                g.fillPolygon(poly6);
            if(sequence == 12 ) {
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly2);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.fillPolygon(poly5);
                g.setColor(Color.BLACK);
            if(sequence == 11){
                g.setColor(Color.green);
                g.fillPolygon(poly1);
                g.fillPolygon(poly3);
                g.fillPolygon(poly4);
                g.setColor(Color.BLACK);
            if(sequence == 8 ){
                g.setColor(Color.green);
                g.fillPolygon(poly5);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            else if (sequence == 9 ){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            if( sequence == 10){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.fillPolygon(poly5);
                g.setColor(Color.black);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
                g.drawArc(250,150,350,250,320,65);
            if(sequence == 7){
                g.setColor(Color.green);
                g.fillPolygon(poly2);
                g.setColor(Color.MAGENTA);
                g.drawString("E",578,254);
                g.drawString("D",268,302);
                g.setColor(Color.black);
            if(sequence == 6){
                g.setColor(Color.yellow);
                g.fillPolygon(poly2);
                g.setColor(Color.green);
                g.fillPolygon(poly3);
                g.setColor(Color.blue);
                g.fillPolygon(poly4);
                g.setColor(Color.black);
                g.drawArc(250,175,350,275,300,65);
                //g.drawArc(250,150,350,250,320,65);
                g.drawLine( 606,309,599,299);
                g.drawLine(592,313, 599,299);
                g.drawString("+90 degrees",605,378);
            if (sequence == 5 ) {
                g.setColor(Color.yellow);
                g.fillPolygon(poly2);
                g.setColor(Color.black);
            if (sequence == 4) {
                g.setColor(Color.YELLOW);
                g.fillPolygon(poly1);
                g.setColor(Color.black);
                g.drawArc(319,310,250,195,89,-35);
                g.drawLine(499,319, 492,312);
                g.drawLine(499,319, 492,325);
                g.drawArc(200,180, 233,238,-120,-60);
                g.drawLine(200,298, 208,309);
                g.drawLine(200,298, 194,313);
                g.drawString("-90 degrees",227,347);
            if (sequence >= 3) {
                g.drawLine(404,279,442,572);
            // draw the squares
            if (sequence >= 2) {
                g.drawLine(278,296,572,254);
            // draw the squares
            if (sequence >= 1) {
                g.drawLine(333,224,476,182);
                g.drawPolygon(tri1);
            // always draw the triangle
            g.drawPolygon(tri);
            g.drawPolygon(sqrA);
            g.drawPolygon(sqrB);
            g.drawPolygon(sqrC);
            g.setColor(Color.MAGENTA);
            g.drawString("C", X0 + C/2 - fontSize/2, Y0 + lineSpacing);
            g.drawString("A",
            X0 + A*A/(2*C) - fontSize*A/B/2,
            Y0 - A*B/(2*C) - lineSpacing*A/B);
            g.drawString("B",
            X0 + C - B*B/(2*C) - fontSize*A/B/2,// the last "-" isn't log.
            Y0 - B*A/(2*C) - lineSpacing*A/B);
        public void redraw(int sequence) {
            this.sequence = sequence;
            repaint();
    }TEST CONTROL
    * TestControl.java
    * Created on 28 February 2005, 11:16
    import java.awt.*;
    import java.awt.event.*;
    import java.text.*;
    import javax.swing.JFrame;
    * @author  Kripa Bhojwani
    public class TestControl extends Panel implements ActionListener {
      TestView view;
      int sequence;                    // event sequence
      // constructor
      public TestControl(TestView view) {
        Button b = null;
        Label label = new Label("A^2 ");
        this.view = view;          // initialize drawble area
        sequence = 0;               // initialize sequence
        b = new Button("Prev");
        b.addActionListener(this);
        add(b);
        b = new Button("Next");
        b.addActionListener(this);
        add(b);
        add(label);
      // exported method
      public void actionPerformed(ActionEvent ev) {
        String label = ev.getActionCommand();
        if (label.equals("Prev")) {
          if (sequence >0) {
         --sequence;
        else {
          if (sequence < 15) {
         ++sequence;
        this.setEnabled(false);          // disable the controls
        view.redraw(sequence);
        this.setEnabled(true);          // enable the controls
    }Please help --- really need to sort this out...
    THANKS

    One of the problems you face is that it is hard to recognise which parts of your code are drawing the triangle. This is because you are writing code in a procedural way rather than an object oriented way.
    In object oriented code you would have a triangle object that could draw itself. You would create the triangle object by specifying its sizes and angles in some way. Then it should be easy to change the triangles sizes and angles and ask all the drawn objects to redraw themselves.

  • Need to convert JApplet to JFrame

    I need to write code for where I have 60 balls bouncing around inside a window. The client will then be able to select a button and it will pull out a ball with the number 1-60 written on it. The user will be able to do this up to 7 times. Each time it is done the past numbers that have already appeared can not reappear. What I am stuck on right now is geting my balls into a JFrame. Can anyone give advice or show how to. I currently have my 60 balls running in a JApplet. Here is the JAVA code and the HTML code. Thanks!
    Here is the JAVA code
    import java.awt.*;
    import java.applet.*;
    import java.util.*;
    import javax.swing.*;
    class CollideBall{
    int width, height;
    public static final int diameter=20;
    //coordinates and value of increment
    double x, y, xinc, yinc, coll_x, coll_y;
    boolean collide;
    Color color;
    Graphics g;
    Rectangle r;
    //the constructor
    public CollideBall(int w, int h, int x, int y, double xinc, double yinc, Color c){
    width=w;
    height=h;
    this.x=x;
    this.y=y;
    this.xinc=xinc;
    this.yinc=yinc;
    color=c;
    r=new Rectangle(150,80,130,90);
    public double getCenterX() {return x+diameter/2;}
    public double getCenterY() {return y+diameter/2;}
    public void alterRect(int x, int y, int w, int h){
    r.setLocation(x,y);
    r.setSize(w,h);
    public void move(){
    if (collide){  
    double xvect=coll_x-getCenterX();
    double yvect=coll_y-getCenterY();
    if((xinc>0 && xvect>0) || (xinc<0 && xvect<0))
    xinc=-xinc;
    if((yinc>0 && yvect>0) || (yinc<0 && yvect<0))
    yinc=-yinc;
    collide=false;
    x+=xinc;
    y+=yinc;
    //when the ball bumps against a boundary, it bounces off
    if(x<6 || x>width-diameter){
    xinc=-xinc;
    x+=xinc;
    if(y<6 || y>height-diameter){
    yinc=-yinc;
    y+=yinc;
    //cast ball coordinates to integers
    int x=(int)this.x;
    int y=(int)this.y;
    //bounce off the obstacle
    //left border
    if(x>r.x-diameter&&x<r.x-diameter+7&&xinc>0&&y>r.y-diameter&&y<r.y+r.height){
    xinc=-xinc;
    x+=xinc;
    //right border
    if(x<r.x+r.width&&x>r.x+r.width-7&&xinc<0&&y>r.y-diameter&&y<r.y+r.height){
    xinc=-xinc;
    x+=xinc;
    //upper border
    if(y>r.y-diameter&&y<r.y-diameter+7&&yinc>0&&x>r.x-diameter&&x<r.x+r.width){
    yinc=-yinc;
    y+=yinc;
    //bottom border
    if(y<r.y+r.height&&y>r.y+r.height-7&&yinc<0&&x>r.x-diameter&&x<r.x+r.width){
    yinc=-yinc;
    y+=yinc;
    public void hit(CollideBall b){
    if(!collide){
    coll_x=b.getCenterX();
    coll_y=b.getCenterY();
    collide=true;
    public void paint(Graphics gr){
    g=gr;
    g.setColor(color);
    //the coordinates in fillOval have to be int, so we cast
    //explicitly from double to int
    g.fillOval((int)x,(int)y,diameter,diameter);
    g.setColor(Color.white);
    g.drawArc((int)x,(int)y,diameter,diameter,45,180);
    g.setColor(Color.darkGray);
    g.drawArc((int)x,(int)y,diameter,diameter,225,180);
    public class BouncingBalls extends Applet implements Runnable {
    Thread runner;
    Image Buffer;
    Graphics gBuffer;
    CollideBall ball[];
    //Obstacle o;
    //how many balls?
    static final int MAX=60;
    boolean intro=true,drag,shiftW,shiftN,shiftE,shiftS;
    boolean shiftNW,shiftSW,shiftNE,shiftSE;
    int xtemp,ytemp,startx,starty;
    int west, north, east, south;
    public void init() {  
    Buffer=createImage(getSize().width,getSize().height);
    gBuffer=Buffer.getGraphics();
    ball=new CollideBall[MAX];
    int w=getSize().width-5;
    int h=getSize().height-5;
    //our balls have different start coordinates, increment values
    //(speed, direction) and colors
    for (int i = 0;i<60;i++){
    ball=new CollideBall(w,h,50+i,20+i,1.5,2.0,Color.white);
    /* ball[1]=new CollideBall(w,h,60,210,2.0,-3.0,Color.red);
    ball[2]=new CollideBall(w,h,15,70,-2.0,-2.5,Color.pink);
    ball[3]=new CollideBall(w,h,150,30,-2.7,-2.0,Color.cyan);
    ball[4]=new CollideBall(w,h,210,30,2.2,-3.5,Color.magenta);
    ball[5]=new CollideBall(w,h,360,170,2.2,-1.5,Color.yellow);
    ball[6]=new CollideBall(w,h,210,180,-1.2,-2.5,Color.blue);
    ball[7]=new CollideBall(w,h,330,30,-2.2,-1.8,Color.green);
    ball[8]=new CollideBall(w,h,180,220,-2.2,-1.8,Color.black);
    ball[9]=new CollideBall(w,h,330,130,-2.2,-1.8,Color.gray);
    ball[10]=new CollideBall(w,h,330,10,-2.1,-2.0,Color.gray);
    ball[11]=new CollideBall(w,h,220,230,-1.2,-1.8,Color.gray);
    ball[12]=new CollideBall(w,h,230,60,-2.3,-2.5,Color.gray);
    ball[13]=new CollideBall(w,h,320,230,-2.2,-1.8,Color.gray);
    ball[14]=new CollideBall(w,h,130,300,-2.7,-3.0,Color.gray);
    ball[15]=new CollideBall(w,h,210,90,-2.0,-1.8,Color.gray);*/
    public void start(){
    if (runner == null) {
    runner = new Thread (this);
    runner.start();
    /* public void stop(){
    if (runner != null) {
    runner.stop();
    runner = null;
    public void run(){
    while(true) {
    Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
    try {runner.sleep(15);}
    catch (Exception e) { }
    //move our balls around
    for(int i=0;i<MAX;i++)
    ball[i].move();
    handleCollision();
    repaint();
    boolean collide(CollideBall b1, CollideBall b2){
    double wx=b1.getCenterX()-b2.getCenterX();
    double wy=b1.getCenterY()-b2.getCenterY();
    //we calculate the distance between the centers two
    //colliding balls (theorem of Pythagoras)
    double distance=Math.sqrt(wx*wx+wy*wy);
    if(distance<b1.diameter)
    return true;
    return false;
    private void handleCollision()
    //we iterate through all the balls, checking for collision
    for(int i=0;i<MAX;i++)
    for(int j=0;j<MAX;j++)
    if(i!=j)
    if(collide(ball[i], ball[j]))
    ball[i].hit(ball[j]);
    ball[j].hit(ball[i]);
    public void update(Graphics g)
    paint(g);
    public void paint(Graphics g)
    gBuffer.setColor(Color.lightGray);
    gBuffer.fillRect(0,0,getSize().width,getSize().height);
    gBuffer.draw3DRect(5,5,getSize().width-10,getSize().height-10,false);
    //paint our balls
    for(int i=0;i<MAX;i++)
    ball[i].paint(gBuffer);
    g.drawImage (Buffer,0,0, this);
    Here is the HTML code
    <html>
    <body bgcolor="gray">
    <br><br>
    <div align="center">
    <applet code="BouncingBalls.class" width="1000" height="650"></applet>
    </div>
    </body>
    </html>

    In the future, Swing related questions should be posted in the Swing forum.
    First you need to convert your custom painting. This is done by overriding the paintComponent() method of JComponent or JPanel. Read the Swing tutorial on [Custom Painting|http://java.sun.com/docs/books/tutorial/uiswing/TOC.html].
    If you need further help then you need to create a [Short, Self Contained, Compilable and Executable, Example Program (SSCCE)|http://homepage1.nifty.com/algafield/sscce.html], that demonstrates the incorrect behaviour.
    Don't forget to use the [Code Formatting Tags|http://forum.java.sun.com/help.jspa?sec=formatting], so the posted code retains its original formatting.

Maybe you are looking for