Need help to save my portfolio -- OS 8.6 to 9.2.2 to 10.4.8?

The writing and graphics that constitute my entire professional career are living on borrowed time in a G3 running OS 8.6. It's so old that it doesn't even have USB ports, so I've hooked up a router between the G3 and my newer Mini, which is running OS 10.4.8.
But the two OSes are such distant cousins that they can't communicate, so I still can't transfer my documents into the Mini!
I've been told that I need to upgrade the G3 to OS 9.2.2 in order to make it compatible with the Mini's OS 10.4.8. Several questions:
1. Is that correct? And if so, where can I get OS 9.2.2?
2. How risky is it to do the upgrade -- am I likely to wipe out my documents in the process?
3. Is it possible to print my documents before I try the upgrade, or would the driver issues be insurmountable?
4. If I could get hold of an external CD drive and hook that to the router, would I be able to download everything onto CD? Or would that require software the old G3 doesn't have?
5. Is there any other way to approach this? Anything I haven't thought of?
I could sure use some expert guidance. If I lose all the work I've done over the past 20 years, I may never get a decent job again! HELP!
Many thanks for your time...

There are various ways to move the files. One is to connect two computers via a network. That is what we have been talking about with ethernet. In that situation all you need is a single cable, then follow the directions in some of the links we gave you.
You could also transfer the files to an intermediate medium. One of the big problems is finding something that will work on both computers. In the 8600 days computers talked to things like external hard drives and printers via a SCSI connector. New computers use USB and Firewire. I can't think of any external hard drive enclosure that I have seen that had both SCSI and USB (or Firewire). Things like external Zip drives came with either SCSI or USB connectors. For example you could go the Zip disk route but you would have to buy two drives, a SCSI connector drive for your 8600 and a USB connector drive for your mini. Newer items like flash/stick drives only have USB. That is why I made the second suggestion that you find a second hand PCI card to expand the capabilities of your computer to accept USB. This seems a bit excessive for a temporary use but I believe you can get a PCI card pretty cheaply these days. Most Mac users have computers with built-in USB and there's people like myself with unwanted USB cards from the days when we had computers like the 8600 that needed USB.
Third option would be to find somebody who has a slightly newer computer that can accept multiple drives (that is the main drawback to the mini - you can't put anything into it without taking something out). Take your drive, put it in their computer so they can copy files off it and onto a flash drive or whatever to put things on your mini.
It is hard to give details at this stage because it depends upon which route you choose. I know if it were my 8600 I would go with option 3, but that's because I have a G3 in the other room that bridges the generations and can connect to just about anything, and I have that in the other room whereas I do not own an ethernet crossover cable.

Similar Messages

  • Need help to save CS4 to Flash 8 FLV file

    I have an .flv project done in Flash CS4, and can save as CS3. Can anyone help me save as Flash 8 (from CS3)
    Let me know via email - [email protected]
    Thanks so much.

    I have an .flv project done in Flash CS4, and can save as CS3. Can anyone help me save as Flash 8 (from CS3)
    Let me know via email - [email protected]
    Thanks so much.

  • Need Help With Save As function Very Important

    i working on a project and i have to create a Save As function for it. When you click on Save As its supposed to open a dialog window where u can choose the where you would like to save the file and what you would like to name it. I know there is alot wrong with my code but i'm not sure on how to fix it so any and all help is greatly appreciated
    private void doSaveAs(){
              //display file dialog
              FileDialog fDialog2 = new FileDialog (this, "Save As...", FileDialog.SAVE);
              fDialog2.setVisible(true);
              //Set the file name chosen by user
              String name = fDialog2.getFile();
              // user canceled file selection, return without doing anything.
              if(name == null)
                   return;
              fileName = fDialog2.getDirectory() + name;
              // Try to create a file writer
              FileWriter writer = null;
              try{
                   writer = new FileWriter(fileName);
              } catch (IOException ioe){
                   MessageDialog dialog = new MessageDialog (this, "Error Message",
                             "Error writing the file: "+ioe.toString());
                   dialog.setVisible(true);
                   return;
              BufferedWriter bWriter = new BufferedWriter(writer);
              //Try to write the file
              StringBuffer textBuffer = new StringBuffer();
              try {
                   String textLine = bWriter.write(2);
                   while (textLine != null) {
                        textBuffer.append(textLine + '\n');
                        textLine = bWriter.write(name);
                   bWriter.close();
                   writer.close();
              } catch (IOException ioe){
                   MessageDialog dialog = new MessageDialog (this, "Error Message", "Error writing file: "+ioe.toString());
                   dialog.setVisible(true);
                   return;
         setTitle("JavaEdit " +name);     // reset frame title
         text.setText(textBuffer.toString());
    null

    And again with indentation
       private void doSaveAs(){
       //display file dialog
       FileDialog fDialog2 = new FileDialog (this, "Save As...",     
       FileDialog.SAVE);
          fDialog2.setVisible(true);
       //Set the file name chosen by user
       String name = fDialog2.getFile();
       // user canceled file selection, return without doing anything.
       if(name == null)
          return;
       fileName = fDialog2.getDirectory() + name;
       // Try to create a file writer
       FileWriter writer = null;
          try{
             writer = new FileWriter(fileName);
          } catch (IOException ioe){
          MessageDialog dialog = new MessageDialog (this, "Error Message", "Error writing the file: "+ioe.toString());
                dialog.setVisible(true);
                return;
       BufferedWriter bWriter = new BufferedWriter(writer);
       //Try to write the file
       StringBuffer textBuffer = new StringBuffer();
       try {
          String textLine = bWriter.write(2);
          while (textLine != null) {
             textBuffer.append(textLine + '\n');
             textLine = bWriter.write(name);
          bWriter.close();
          writer.close();
       } catch (IOException ioe){
          MessageDialog dialog = new MessageDialog (this, "Error Message", "Error writing file: "+ioe.toString());
          dialog.setVisible(true);
          return;
       setTitle("JavaEdit " +name); // reset frame title
       text.setText(textBuffer.toString());
    }

  • Urgent : Need help in parsing XML from Sharepoint and save it into DB

    Hi ,
    I am Sharepoint guy and a newbie in Oracle . PL/SQL
    I am using UTL_DBWS Package to call a Sharepoint WebService " and was sucessfull , Now the xml has to be parsed and stored into a Table. I am facing the issue as the XML has a different namesoace and normal XPATH query is not working
    Below is the XML and need help in parsing it
    declare
    responsexml sys.XMLTYPE;
    testparsexml sys.XMLTYPE;
    begin
    responsexml := sys.XMLTYPE('<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
    <GetListItemsResult>
    <listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    <rs:data ItemCount="2">
    <z:row ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Test Title 1" ows_ID="1" ows_owshiddenversion="1" ows_UniqueId="1;#{9C45D54E-150E-4509-B59A-DB5A1B97E034}" ows_FSObjType="1;#0" ows_Created="2009-09-12 17:13:16" ows_FileRef="1;#Lists/Tasks/1_.000"/>
    <z:row ows_MetaInfo="2;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Testing Tasks" ows_ID="2" ows_owshiddenversion="1" ows_UniqueId="2;#{8942E211-460B-422A-B1AD-1347F062114A}" ows_FSObjType="2;#0" ows_Created="2010-02-14 16:44:40" ows_FileRef="2;#Lists/Tasks/2_.000"/>
    </rs:data>
    </listitems>
    </GetListItemsResult>
    </GetListItemsResponse>');
    testparsexml := responsexml.extract('/GetListItemsResponse/GetListItemsResult/listitems/rs:data/z:row/@ows_Title');
    DBMS_OUTPUT.PUT_LINE(testparsexml.extract('/').getstringval());
    end;
    The issue is with rs:data , z:row nodes.... please suggest how to handle these kind of namespaces in Oracle
    I need the parse the attribute "ows_Title" and save it into a DB
    this script would generate "Error occured in XML Parsing"
    Help is appriciated, thanks for looking

    SQL> SELECT *
      FROM XMLTABLE (
              xmlnamespaces ('http://schemas.microsoft.com/sharepoint/soap/' as "soap",
                             '#RowsetSchema' AS "z"
              'for $i in //soap:*//z:row return $i'
              PASSING xmltype (
                         '<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
    <GetListItemsResult>
    <listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
    <rs:data ItemCount="2">
    <z:row ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Test Title 1" ows_ID="1" ows_owshiddenversion="1" ows_UniqueId="1;#{9C45D54E-150E-4509-B59A-DB5A1B97E034}" ows_FSObjType="1;#0" ows_Created="2009-09-12 17:13:16" ows_FileRef="1;#Lists/Tasks/1_.000"/>
    <z:row ows_MetaInfo="2;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Testing Tasks" ows_ID="2" ows_owshiddenversion="1" ows_UniqueId="2;#{8942E211-460B-422A-B1AD-1347F062114A}" ows_FSObjType="2;#0" ows_Created="2010-02-14 16:44:40" ows_FileRef="2;#Lists/Tasks/2_.000"/>
    </rs:data>
    </listitems>
    </GetListItemsResult>
    </GetListItemsResponse>')
    columns ows_MetaInfo varchar2(20) path '@ows_MetaInfo',
             ows_Title varchar2(20) path '@ows_Title',
             ows__ModerationStatus varchar2(20) path '@ows__ModerationStatus'
    OWS_METAINFO         OWS_TITLE            OWS__MODERATIONSTATUS
    1;#                  Test Title 1         0                   
    2;#                  Testing Tasks        0                   
    2 rows selected.

  • How do I save markers to an MP3 file? Need help asap.

    I add the markers to my wav file and save the wav file as my master. Then I save the wav file with the markers as an MP3 file. However, when I open up the MP3 file, there are no markers. I need the tracks to be on the MP3 file for digital downloads. how do I add markers on  an MP3 file so I can either
    use that file to have as a digital download and/or burn a CD. Either way I use the file, I need to have the markers on the MP3 file. I really need help with this. I am working on a project that is time sensitive. Anyone that can help me would be greatly appreciated. Thank you.

    No.
    I've reread portions of the manual and it's kind of coufusing, but I think I figured it out
    The manual states in order to save markers, you have to save non-audio data with the file. It also states it saves this as XMP info in an mp3.
    I don't think the markers are a datatype that get exported with XMP info, at least from what I can tell becuase I have been unable to save an mp3 with the markers.
    But, let's sidestep that. Right now, this isn't your issue. Your issue is you want to preserve track markings so when people download this mp3, they can listen to it as "tracks" rather than a continious MP3. The problem is not all mp3 software supports it, in fact, everything that does has it bolted on. So only a small percentage of people downloading the mp3 will be able to actually use that function. foobar2000 and winamp users, yeah, they could deal with an mp3 using an embedded cue....if you embedded the cuesheet as it required. Windows Media/iTunes people...they have absolutely no support for playing a long mp3 as tracks.
    so, to begin with...what you want to do, is "technically impossible". CUE is not supported by id3v2 and is therefore not offically supported. Don't get angry at me, I did not write the mp3 specifications. You'll likely find that even if you do find a solution googling "embed cuesheet mp3", the results won't work the way you want or be a method thats universal. Regardless of how you do this....audition is not going to embed markers when you save as mp3. You'd have to export the markers to a cue-sheet somehow (which I haven't figured out how to do in audition because it appears it doesn't) and use an external program to embed them...or distribute the cue file with the mp3. milage will vary, majority of users probably wouldn't be able to make use of it.
    The OTHER alternative...which is probably less supported than embedding a cue sheet to an mp3, is you CAN maintain makers and have a layer-3 bitstream...but you have to save the file as a .wav using an ACM WAV and use a layer 3 codec. Technically, you're creating a wav, but since wav can work technically as a container format, the audio content is mpeg layer 3...but, again....since things like Media Player or iTunes or even Winamp don't pay attention to them as they're extra information in the WAV header, this still doesn't give you the track-split function you're looking for.
    there have only been loose standards defined by developers and users for what you want to do. while there are "open" ways of doing it, it's never gained much support.
    the only way you can guarntee you can distrubte track'd mp3's is to split thing in to seperate files to begin with.
    sorry.

  • I would need help with the following please: I need to save some of my email on a disk. I was going to Print, then Save PDF but then I am stuck. Help please. Thanks. Elisabeth

    I would need help with saving some eamil messages to a disk to unclutter my email. How can I do this please?
    Thanks.
    Elisabeth

    Open the email and then from the File menu select Save As Rich Text Format. That'll save it to open in TextEdit. If you want a pdf then open the email and do command-p (Print) and then from the PDF drop down box lower left corner select Save as PDF.

  • NEED HELP AS I CANT SAVE OR SAVE AS

    NEED HELP AS I CANT SAVE OR SAVE AS

    YOur phone is in recovery mode, any data that was on there is already gone, you will have to restore your phone and use whatever backup you to restore to.

  • All of my photos are displayed as BW because somehow I've saved a quick develop preset and it saves as BW.  This is for all of my photos.  I can individually undo them but need help in how to get rid of the preset so it goes to Default. thanks

    All of my photos are displayed as BW because somehow I've saved a quick develop preset and it saves as BW.  This is for all of my photos.  I can individually undo them but need help in how to get rid of the preset so all photos goes to Default or as shot. thanks

    Go to the develop module and highlight all of the images in the filmstrip at the bottom of the screen. Then activate Auto-sync and click on the Reset button. That should reset all of the images to your camera default settings.

  • Hi! I tried to instal whatsapp thro istore and it displayed the terms and conditions page. But the problem is there is no save or agree button. I am stuck in this page. I need help. This is a iphone5. This was after I upgraded to ios7

    Hi! I tried to instal whatsapp thro istore and it displayed the terms and conditions page. But the problem is there is no save or agree button. I am stuck in this page. I need help. This is a iphone5. This was after I upgraded to ios7.

    It is hardly Apple's fault that Epson can't/won't update their driver, but at least Epson suggest that you use the Gutenprint driver, which in any case is far better that what Epson offer.
    You can get it here:
    http://gimp-print.sourceforge.net/
    You can download the latest version from here:
    http://sourceforge.net/projects/gimp-print/
    Have you downloaded the recent Apple update to Epson drivers?
    http://support.apple.com/kb/DL1398

  • Need help: How to key in input array, save in a buffer, and extract them later?

    Hi, I need help. I have several groups of data for input, and need to use them later in the same or different code. When I key in the input data, the code will ask the number of data group first, then in each group, there will be 6 data to key in, each has a specific variable name. The number of group and the data for each group will vary at each time running the code. The data group needs to be numbered sequently. After having all groups of data, these data will be sent to another sub VI to read. This sub VI needs to know each group number and each data of a group.
    I think I should create a 2-D array to read these data in a do loop, but I can't let my do loop read data in each time. Then when I sent the data out, the next sub VI was confused by the sequence of the data group and the sequence of data in each group. Can someone help me or give me some example how to do it? Thank you very much for your help.
    Message Edited by ccyang on 06-06-2006 10:37 AM

    From what I understand of your explanation, an event structure might be
    the way to go (LV 6+ I think).  Events could be based off of
    keypresses in a particular control (a 2D array like you mentioned), and
    once input in that particular field is complete, the user presses say
    the 'enter' key, and you can use the "VKey" of the event data node to
    determine which key is pressed (i.e. VKey = enter?).  From there,
    you would continue to the next portion of data entry or processing of
    entered information.
    Hope this helps.

  • Need help in alignment a form

    Hello,
    I am new in writing HTML code. I need help to align my Form
    and it's text.
    Please view my code and please show me how to align all the
    square boxes (the square box is where the user type the text
    input). Currently I have 2 boxes but they are not aligned. The
    below is my code:
    <FORM name="input" method="get" >
    PROJECTROOT: <INPUT TYPE=TEXT SIZE=50 NAME=proj_root>
    <br>
    FRONTEND: <INPUT TYPE=TEXT SIZE=50 NAME=frontend>
    <br>>
    <BR>
    <INPUT TYPE=SUBMIT VALUE=Submit onclick="save()">
    <BR>
    </FORM>
    Would you please help.
    Thank you very much
    Goober35

    <form name="input" method="get" action=""> <!-- ARE
    YOU SURE YOU NEED "GET"
    and not "POST"? -->
    <table cellspacing="0" cellpadding="0" border="0"
    width="300">
    <tr>
    <td><label for="proj_root">PROJECTROOT:
    </label></td>
    <td><input type="text" size="50" name="proj_root"
    id="proj_root"></td>
    </tr>
    <tr>
    <td><label for="frontend">FRONTEND:
    </label></td>
    <td><input type="text" size="50" name="frontend"
    id="frontend"></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="submit"
    name="submit"
    id="submit" value="Submit" onclick="save()"></td>
    </tr>
    </table>
    </form>
    (your form needs an action attribute value)
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "goober35" <[email protected]> wrote in
    message
    news:gcjmlh$p42$[email protected]..
    > Hello,
    > I am new in writing HTML code. I need help to align my
    Form and it's text.
    > Please view my code and please show me how to align all
    the square boxes
    > (the
    > square box is where the user type the text input).
    Currently I have 2
    > boxes but
    > they are not aligned. The below is my code:
    >
    > <FORM name="input" method="get" >
    > PROJECTROOT: <INPUT TYPE=TEXT SIZE=50
    NAME=proj_root> <br>
    > FRONTEND: <INPUT TYPE=TEXT SIZE=50 NAME=frontend>
    <br>>
    > <BR>
    > <INPUT TYPE=SUBMIT VALUE=Submit onclick="save()">
    <BR>
    >
    > </FORM>
    >
    >
    > Would you please help.
    >
    > Thank you very much
    > Goober35
    >
    >
    > <FORM name="input" method="get" >
    > PROJECTROOT: <INPUT TYPE=TEXT SIZE=50
    NAME=proj_root> <br>
    > FRONTEND: <INPUT TYPE=TEXT SIZE=50 NAME=frontend>
    <br>>
    > <BR>
    > <INPUT TYPE=SUBMIT VALUE=Submit onclick="save()">
    <BR>
    >
    > </FORM>
    >

  • I need help switching back to iPhoto

    In February of this year I switched from iPhoto to Aperture for very specific reasons. My laptop's hard drive was running out of space, as it was housing my photo library that was quickly approaching 25,000 photos and pushing about 30 Gigabytes, and I wanted to take advantage of Aperture's ability to store photo masters on an external drive.
    So why switch back? When I described why I had switched and my experiences doing so back in February I had said that I ran into many problems all of which I was able to solve save two:
    "The two things I have yet to solve, which are rather large things: 1) Spotlight can no longer find my photos since switching to [edit: from] iPhoto. I am really not sure where to start with fixing this so I think I’m just going to have to ask someone. 2) Reorganizing my keywords in Aperture (since I had them set up in iPhoto) is impossible. When I bring up the Keywords HUD, I’m greeted with all of my keywords residing subordinately to a master keyword of 'iPhoto'. When I try to access the keywords that are “below” iPhoto Aperture freezes. Perhaps I have too many keywords (I do have an awful lot). I’m not sure how to solve this one yet either. Maybe there is a raw .plist file that I can manually edit (and I am willing to do so)." -- Me.
    After using Aperture for the past 3+ months I've yet to resolve either of these issues. Recently there was an update to Aperture from Apple that, according to the documentation for the update, was supposed to help resolve my second issue with having too many keywords for Aperture to handle - but it hasn't helped much. So since switching to Aperture I've not tagged more than maybe fifty photos, which is discouraging because I know that once I switch back to iPhoto I'm going to be busy tagging photos again.
    So I suppose you could say I'm switching back for two main reasons. First, I want it to be much easier to tag my photos since that is probably the single most important thing to me and the experience with iPhoto and Keyword Manager ( http://www.bullstorm.se/KeywordManager.php ) is far superior to that of using keywords in Aperture. Second, I want my photos to start showing up in Spotlight searches again. I'm more than willing to deal with the caveat, albeit a rather large one, that I won't have my photos with me wherever I go anywhere but that they'll forever reside on my firewire drive.
    What I need help with...
    When I open iPhoto I see all of the previews for the photos that I had the day I switched to Aperture. However, the originals have been moved by Aperture onto my firewire drive - so when I click on each photo all I get is a ( ! ) symbol. The previews still reference a file that does not exist yet the iPhoto database still retains all of the relevant metadata (date/time, keywords, comments, etc) that I had worked so hard to put into iPhoto. I need to retain this information and somehow get the originals back into place so that iPhoto sees them again.
    What I thought about doing was this: 1) Somehow restore the originals for the almost 25,000 photos into the place where iPhoto thinks they should be. 2) Move the entire library to my external firewire drive. 3) Import the remaining images that I've taken since switching to Aperture into iPhoto.
    Since I have Aperture store my photos by date - importing only the images that I've imported into Aperture should be a piece of cake. I do not need to retain any metadata from Aperture since I've only tagged a few photos in Aperture and all of the other information I may need should be on the original file (like date taken, etc.). I know I'm going to lose a lot of edits that I've done like cropping, rotating, color balancing, red-eye reduction, etc. but I'm more than willing to lose all of that if it means that I can pick up where I left off and get back into the swing of things in iPhoto.
    I've Googled like crazy and haven't found someone doing exactly what I'm trying to accomplish so any help with my current situation is greatly appreciated. I've also posted this on my blog http://cdevroe.com/notes/back-to-iphoto/

    cvdevroe
    2) Reorganizing my keywords in Aperture (since I had them set up in iPhoto) is impossible. When I bring up the Keywords HUD, I’m greeted with all of my keywords residing subordinately to a master keyword of 'iPhoto'.
    Bear with me, my terminology may not be right. I'm heading in the opposite direction, and one of the advantages i see to Aperture is that I've got the same advantages in Keyword management as I have with KM in iPhoto.
    Have you tried re-organising them using the control bar: Below the thumbs there's a drop down menu, by default it shows Photo Descriptors. Click on it and Select 'Edit Buttons'. You can merrily re-organise your Keywords in this window, and even have your changes reflected in live in the HUD.
    As to the Spotlight searching, I'm afraid someone else will need to help on that one. Personally - and it's a regular on the iPhoto forums - I've never had much luck getting Spotlight to search within iPhoto for keywords, apart, of course, from using the search window in the iPhoto Window. I suspect a system-based search of iPhoto keywords is simply not possible.
    What I thought about doing was this: 1) Somehow restore the originals for the almost 25,000 photos into the place where iPhoto thinks they should be.
    That will work, but they'll need to be exactly as they were.
    2) Move the entire library to my external firewire drive.
    Easily done, after you've copied it over launch iPhoto holding down the option (or alt) key and choose 'Locate'. Navigate to the new location and that''ll be your default iPhoto Library Folder thereafter.
    3) Import the remaining images that I've taken since switching to Aperture into iPhoto.
    That should work too.
    But the key is, can you return the iPhoto Library Folder exactly as it was, otherwise you'll need to create and populate a new library - and that will inevitable mean losing your keywords in iPhoto too.
    FWIW, I need to keep iPhoto going for others in the household who are daunted by Aperture. My solution is a referenced library pointing towards the iPhoto Library Folder / Originals folder.
    Regards
    TD

  • TS3212 So I tried downloading the newest version of iTunes but it wont download it will just say iTunes is safe and won't download I NEED HELP?

    I need Help! i tried syncing my ipod then it said i neededthe nwer version of itunes so i downloaded it like 8 times! it still didnt work so i uninstalled it and it wont download at all when i try a window willl pop up and say would you like to save this file? and i will click save file and it would download but its nowhere on my computer?!?!

    Hi DJBentley2011,
    Welcome to Apple Support Communities.
    It sounds like there is an issue burning CD's in iTunes. Is the playback issue only occurring on a specific device and does the disc show up correctly in iTunes? The article linked below should help you resolve optical drive issues, it walks you through identifying potential issues and provides troubleshooting suggestions.
    iTunes for Windows: iTunes Diagnostics, CD/DVD Drive Tests
    http://support.apple.com/kb/HT1567
    I hope this helps.
    -Jason

  • Need help to start with some file and text manipulation

    Hello script mavens,
    I need help with starting a script that does the following:
    -within a base folder it takes an inventory (list?) of all the files (which happen to be image files).
    -creates a new folder inside the base folder and calls it imagesX where X increases by one every time the script is run
    -moves all the files into the images folder
    -within the base folder it creates a new text file and calls it imagesX.js
    -writes a "//-" into imagesX.js
    -then writes the list of filenames into the imagesX.js twice, separated by an empty line, and adds a semicolon to the end of each filename and saves imagesX.js
    -from a folder a level above the base folder it copies a file called index.html into the base folder and renames in indexX.html
    -in indexX.html it replaces a string "replaceThis" with "imagesX.js"
    The task is more complex but this would help me tremendously do the rest.
    If I am asking for too much on this forum please let me know

    This should get you started.
    The description of how you want to write the data isn't clear, but the rest should work (untested):
    property imageNum : 0 -- last used ImageNumber
    -- within a base folder it takes an inventory (list?) of all the files (which happen to be image files).
    -- get the folder:
    set baseFolder to (choose folder)
    -- now get the files within it:
    tell application "Finder"
    set fileList to every file of folder baseFolder as alias list
    end tell
    --creates a new folder inside the base folder and calls it imagesX where X increases by one every time the script is run
    tell application "Finder"
    set imageNum to imageNum + 1
    set newImageFolder to make new folder at baseFolder with properties {name:"images" & imageNum}
    -- moves all the files into the images folder
    move every file of folder baseFolder to newImageFolder
    --within the base folder it creates a new text file and calls it imagesX.js
    set textFile to (open for access file (baseFolder as text) & "images" & imageNum & ".js" with write permission)
    --writes a "//-" into imagesX.js
    write "//-" to textFile
    -- then writes the list of filenames into the imagesX.js twice, separated by an empty line, and adds a semicolon to the end of each filename and saves imagesX.js
    -- need more info here
    -- a blank line between each instance of the file name? or all file names, blank line, all file names again?
    -- an example, please
    close access textFile
    --from a folder a level above the base folder it copies a file called index.html into the base folder
    --and renames in indexX.html
    --in indexX.html it replaces a string "replaceThis" with "imagesX.js"
    -- the easiest way of doing this is to read the file and write a new copy with the changes - that's easier than changing it in situ:
    set indexHTML to (read file "index.html" of folder (container of baseFolder))
    set {oldTIDs, my text item delimiters} to {my text item delimiters, "replaceThis"}
    set indexHTML to text items of indexHTML
    set my text item delimiters to "imagesX.js"
    set indexHTML to indexHTML as text
    set my text item delimiters to oldTIDs
    set indexFile to (open for access file ("index" & imageNum & ".html") with write permission)
    write indexHTML to indexFile
    close access indexFile
    end tell

  • Warning this is very long code but i need help to see if I am on right trac

    I have done all the following code myself and it is the buisiness layer for my application. I have tried to follow recommendations on previous posts and I would like to be told where I can clean up my code and how? This is not complete and it looks very long to me but I need help in order to be better. There are 4 button vlivks and I have not completed them all. The criteria for application is that phonebook will accept new entries if they have names surnames and phone numbers that are not longer than 10 characters for display purposes but can change this. No duplicates are allowed. No editing of a existing entry must lead to a duplicate entry either. No new entry or edit may result in a new contact having no phone numbers.
    Many thanks for your time in advance,.....
    import javax.swing.JOptionPane;
    import java.util.ArrayList;
    public class Contact
    {// Start of the Contact class
         ArrayList<ContactDetails> phoneList = new ArrayList<ContactDetails>();          // To hold all the contacts
         ArrayList<ContactDetails> searchList = new ArrayList<ContactDetails>();          // To hold all contacts that return true on search
         ArrayList<ContactDetails> list = new ArrayList<ContactDetails>();
         String newName;                                                                                // To hold the new name
         String newSurname;                                                                           // to hold the new surname
         String newHome;                                                                                // To hold the new home number if any
         String newWork;                                                                                // To hold the new work number
         String newCell;                                                                                // To hold the new cell number
         final int MAX_LENGTH = 10;
         public boolean addToPhoneList;                                                            // Sets to false if there is an invalid entry
         public boolean addToSearchList;                                                            // Sets to false if there is an invlid search
         public boolean modifyContact;                                                            // Sets to false if there is an invalid modification
         // Method to create a new contact
         public void createNew()
         {// Start of create new()
              addToPhoneList = true;                                                                 // Set boolean to true each time the method is executed
              getNewContactsName();                                                                 // Get new name
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsSurname();                                                            //Get new surname
              if(addToPhoneList == false)
                   createNew();
                   return;
              String checkName = newName;                                                            //Creates copies to be used in the checkIfDuplicate method
              String checkSurname = newSurname;
              addToPhoneList = checkIfDuplicate(checkName, checkSurname);                    //Check if the entries are duplicate
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsHomeNum();                                                            // Get new home number
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsWorkNum();                                                            // Get new work number
              if(addToPhoneList == false)
                   createNew();
                   return;
              getNewContactsCellNum();                                                            // Get new cell number
              if(addToPhoneList == false)
                   createNew();
                   return;
              checkAtLeastOneNumEntered();                                                       // Check that at least one phone number was entered
              if(addToPhoneList == true)
                   updateListWithNew();
         }// End of createNew()
         // Method to search for an existing contact
         public void searchExisting()
         {// Start of searchExisting()
              addToSearchList = true;                                                                 // Set the boolean true
              searchList.clear();                                                                      // Clear list from any previous searches
              if(phoneList.size() > 0)                                                            // Check if any contacts are in the list
                   getExistingDetailsAndSearch();                                                  // If there are entries then continue to search
              else
                   JOptionPane.showMessageDialog(null,"There are no contacts to search for. Please use this option when you have added a contact to the list.","Error",JOptionPane.ERROR_MESSAGE);
         }// End of searchExisting()
         // Method to modify an existing contact
         public void modifyExisting()
         {// Start of modifyExisting()
              modifyContact = true;                                                                 // Set the boolean to true
              if(phoneList.size() <= 0)                                                            // Check if the phonelist is not empty
                   JOptionPane.showMessageDialog(null,"There are no contacts to modify. Please use this option when there have been contacts added to the list.","Error",JOptionPane.ERROR_MESSAGE);
              else
                   getExistingDetailsAndModify();                                                  // If phonelist not emty continue to modify method
         }// End of modifyExisting()
         //Method to delete a contact from the list
         public void deleteExisting()
         //Method to get new contacts name
         public void getNewContactsName()
              newName = JOptionPane.showInputDialog("Please enter the new contacts name or press cancel to exit without saving.");
              if(newName == null)
                   finish();
              if(newName.trim().length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                   addToPhoneList = false;
                   return;
              addToPhoneList = checkLengthValid(newName, "name");
         //Method to get a new contacts surname
         public void getNewContactsSurname()
              newSurname = JOptionPane.showInputDialog("Please enter the new contacts surnname or press cancel to exit without saving.");
              if(newSurname == null)
                   finish();
              addToPhoneList = checkLengthValid(newSurname, "surname");
         //Method to get a new contacts home number
         public void getNewContactsHomeNum()
              newHome = JOptionPane.showInputDialog("Please enter the new contacts home number or press cancel to exit without saving.");
              if(newHome == null)
                   finish();
              if(newHome.trim().length() > 0)
                   try
                        Long homeNum = Long.parseLong(newHome);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid phone number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newHome, "home number");
         //Method to get a new contacst work number
         public void getNewContactsWorkNum()
              newWork = JOptionPane.showInputDialog("Please enter the new contacts work number or press cancel to exit without saving");
              if(newWork == null)
                   finish();
              if(newWork.trim().length()> 0)
                   try
                        Long workNum = Long.parseLong(newWork);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newWork, "work number");
         //Method to get a new contacts cell number
         public void getNewContactsCellNum()
              newCell = JOptionPane.showInputDialog("Please enter the new contacts cell number or press cancel to exit without saving");
              if(newCell == null)
                   finish();
              if(newCell.trim().length() > 0)
                   try
                        Long cellNum = Long.parseLong(newCell);
                   catch(Exception e)
                        JOptionPane.showMessageDialog(null,"You may only use numbers for a valid number. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                        addToPhoneList = false;
                        return;
              addToPhoneList = checkLengthValid(newCell, "cell number");
         //Method to get the details for an existing contact
         public void getExistingDetailsAndSearch()
              String existingName = getExistingName("search for");
              if(existingName == null)
                   addToSearchList = false;
                   return;
              if(existingName.length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name please try again","Error",JOptionPane.ERROR_MESSAGE);
                   addToSearchList = false;
                   searchExisting();
              String existingSurname = getExistingSurname();
                   if(existingSurname == null)
                        return;
              if(addToSearchList == true)
                   searchAndAddIfFound(existingName, existingSurname);
         //Method to get existing details and modify contact
         public void getExistingDetailsAndModify()
              String existingName = getExistingName("modify");
              if(existingName == null)
                   modifyContact = false;
                   return;
              if(existingName.length()<=0)
                   JOptionPane.showMessageDialog(null,"You have not entered a name please try again","Error",JOptionPane.ERROR_MESSAGE);
                   modifyContact = false;
                   modifyExisting();
              String existingSurname = getExistingSurname();
                   if(existingSurname == null)
                        return;
              if(modifyContact == true)
                   getContactBySearch(existingName.trim().toUpperCase(), existingSurname.trim().toUpperCase());
         //Method to get the contact from list and modify details
         public void getContactBySearch(String currentName, String currentSurname)
              int count = 0;
              int numFound = 0;
              for(ContactDetails cd: phoneList)
                   cd = phoneList.get(count);
                   if((cd.name.equals(currentName))&&(cd.surname.equals(currentSurname)))
                        numFound ++;
                        changeDetails(cd);
                   count ++;
              if(numFound <= 0)
                   JOptionPane.showMessageDialog(null,"No contacts matching the name and surname you entered found. Press the modify button to try again.","Information",JOptionPane.INFORMATION_MESSAGE);
         //Method to get existing contacts name
         public String getExistingName(String whatWasClicked)
              String name = JOptionPane.showInputDialog("Please enter the contacts name that you wish to "+whatWasClicked);
              return name;
         //Method to get an existing contacts surname
         public String getExistingSurname()
              String surname = JOptionPane.showInputDialog("Please enter the contacts surname.");
              return surname;
         //Method to change the details of contact
         public void changeDetails(ContactDetails conToChange)
              String currentName = conToChange.name;
              String currentSurname = conToChange.surname;
              String currentHome = conToChange.home;
              String currentWork = conToChange.work;
              String currentCell = conToChange.cell;
              String newNameForContact = getNewModName(currentName);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newSurnameForContact = getNewModSurname(currentSurname);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newHomeForContact = getNewModHome(currentHome);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newWorkForContact = getNewModWork(currentWork);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              String newCellForContact = getNewModCell(currentCell);
              if(modifyContact == false)
                   modifyExisting();
                   return;
              if(modifyContact == true)
                   conToChange.name = newNameForContact;
         //Method to get the modified name
         public String getNewModName(String currentName)
              String newModifiedName = JOptionPane.showInputDialog("Please enter the new name for contact or press cancel to keep it as is.");
              if(newModifiedName == null)
                   return currentName;
              if(newModifiedName.trim().length() <= 0)
                   JOptionPane.showMessageDialog(null,"You may not replace the existing name with a blank name. Please try again.","Error",JOptionPane.ERROR_MESSAGE);
                   modifyContact = false;
                   return currentName;
              modifyContact = checkLengthValid(newModifiedName, "modified name");
              return newModifiedName;
         //Method to get the modified surname
         public String getNewModSurname(String currentSurname)
              String newModifiedSurname = JOptionPane.showInputDialog("Please enter the new surname for the contact or press cancel to keep it as is.");
              if(newModifiedSurname == null)
                   return currentSurname;
              modifyContact = checkLengthValid(newModifiedSurname, "modified surname");
              if(modifyContact == false)
                   JOptionPane.showMessageDialog(null,"Surname not changed.","Information",JOptionPane.INFORMATION_MESSAGE);
                   return currentSurname;
              modifyContact = checkLengthValid(newModifiedSurname, "modified surname");
              return newModifiedSurname;
         //Method to search and update the list with a succesfull search
         private void searchAndAddIfFound(String name, String surname)
              int count = 0;
              int numFound = 0;
              for(ContactDetails cd: phoneList)
                   cd = phoneList.get(count);
                   if(cd.name.equals(name.trim().toUpperCase()))
                        numFound ++;
                        searchList.add(cd);
                   count ++;
              if(numFound <= 0)
                   JOptionPane.showMessageDialog(null,"No contacts were found matching the dat you entered.","Information",JOptionPane.INFORMATION_MESSAGE);
              else
                   list.clear();
                   list.addAll(searchList);
         //Method that check all entries are a valid logical length
         //Method is based on assumption that a normal name, surname, and phone numbers are not longer than 10 characters long.
         //IF This method is changed please change the layout in the GUI as this is also set to fit with the layout that gives a neat //apperance
         private boolean checkLengthValid(String detailEntered, String whatWasEntered)
              boolean validLength = true;
              if(detailEntered.trim().length() >= MAX_LENGTH)
                   JOptionPane.showMessageDialog(null,"The " +whatWasEntered+" you entered is too long. Please try again and use a "+whatWasEntered+" that is less than "+MAX_LENGTH+" characters long.","Error",JOptionPane.ERROR_MESSAGE);
                   validLength = false;
              return validLength;
         private void finish()
              System.exit(0);
         //Method to update the list with a new entry
         private void updateListWithNew()
              try
                   ContactDetails cd = new ContactDetails();
                   cd.name = newName.trim().toUpperCase();
                   cd.surname = newSurname.trim().toUpperCase();
                   cd.home = newHome.trim();
                   cd.work = newWork.trim();
                   cd.cell = newCell.trim();
                   phoneList.add(cd);
                   JOptionPane.showMessageDialog(null,"Contact succesfully entered. To save this change press exit to save or use the save option in the toolbar menu.","Information",JOptionPane.INFORMATION_MESSAGE);
              catch(Exception e)
                   JOptionPane.showMessageDialog(null,"Failed to add contact to list. If problem persists please contact the software developer.","Error",JOptionPane.ERROR_MESSAGE);
              list.clear();
              list.addAll(phoneList);
         //Method to check for duplicate
         public boolean  checkIfDuplicate(String nameToCheck, String surnameToCheck)
              int count = 0;
              boolean valid = true;
              for(ContactDetails cd : phoneList)
                   cd = phoneList.get(count);
                   if(((nameToCheck.trim().toUpperCase()).equals(cd.name))&&((surnameToCheck.trim().toUpperCase()).equals(cd.surname)))
                        JOptionPane.showMessageDialog(null,"You may not enter a duplicate contact. Please try again and change the name and surname.","Error",JOptionPane.ERROR_MESSAGE);
                        valid = false;
                        break;
                   count ++;
              return valid;
         //Method to check that at least one phone number exists for contact
         public void checkAtLeastOneNumEntered()
              if((newHome.trim().length()<=0)&&(newWork.trim().length()<=0)&&(newCell.trim().length()<=0))
                   JOptionPane.showMessageDialog(null,"You have not entered any phone number at all. You must enter at least one phone number for a new contact.","Error",JOptionPane.ERROR_MESSAGE);
                   addToPhoneList = false;
         //Method that returns the list to the GUI
         public ArrayList<ContactDetails> getList()
              return list;
    }

    Should I start over from scratch? Can I get help with links to tutorials on following? How to create a java CRUD application (google not useful) and how to layer in java(google not useful)
    This is my pres layer as is is this wrong too?
         Filename:     ContactsListInterface.java
         Date:           16 March 2008
         Programmer:     Yucca Nel
         Purpose:     Provides a GUI for entering names and contact numbers into a telephone directory.
                        Also allows options for searching for a specific name and deleting of data from the record
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    public class Phonebook1 extends JFrame implements ActionListener
    { //start of class
         // construct fields, buttons, labels,text boxes, ArrayLists etc
         JTextPane displayPane = new JTextPane();
         JLabel listOfContacts = new JLabel("List Of Contacts");               // creates a label for the scrollpane
         JButton createButton = new JButton("Create");
         JButton searchButton = new JButton("Search");
         JButton modifyButton = new JButton("Modify");
         JButton deleteButton = new JButton("Delete");
         Contact c = new Contact();
         ArrayList<ContactDetails> contactList = c.getList();
         // create an instance of the ContactsListInterface
         public Phonebook1()
         { // start of cli()
              super("Phonebook Interface");
         } // end of cli()
         public JMenuBar createMenuBar()
         { // start of the createMenuBar()
              // construct and populate a menu bar
              JMenuBar mnuBar = new JMenuBar();                              // creates a menu bar
              setJMenuBar(mnuBar);
              JMenu mnuFile = new JMenu("File",true);                         // creates a file menu in the menu bar which is visible
                   mnuFile.setMnemonic(KeyEvent.VK_F);
                   mnuFile.setDisplayedMnemonicIndex(0);
                   mnuFile.setToolTipText("File Options");
                   mnuBar.add(mnuFile);
              JMenuItem mnuFileExit = new JMenuItem("Save And Exit");     // creates an exit option in the file menu
                   mnuFileExit.setMnemonic(KeyEvent.VK_X);
                   mnuFileExit.setDisplayedMnemonicIndex(1);
                   mnuFileExit.setToolTipText("Close Application");
                   mnuFile.add(mnuFileExit);
                   mnuFileExit.setActionCommand("Exit");
                   mnuFileExit.addActionListener(this);
              JMenu mnuEdit = new JMenu("Edit",true);                         // creates a menu for editing options
                   mnuEdit.setMnemonic(KeyEvent.VK_E);
                   mnuEdit.setDisplayedMnemonicIndex(0);
                   mnuEdit.setToolTipText("Edit Options");
                   mnuBar.add(mnuEdit);
              JMenu mnuEditSort = new JMenu("Sort",true);                    // creates an option for sorting entries
                   mnuEditSort.setMnemonic(KeyEvent.VK_S);
                   mnuEditSort.setDisplayedMnemonicIndex(0);
                   mnuEdit.add(mnuEditSort);
              JMenuItem mnuEditSortByName = new JMenuItem("Sort By Name");          // to sort entries by name
                   mnuEditSortByName.setMnemonic(KeyEvent.VK_N);
                   mnuEditSortByName.setDisplayedMnemonicIndex(8);
                   mnuEditSortByName.setToolTipText("Sort entries by first name");
                   mnuEditSortByName.setActionCommand("Name");
                   mnuEditSortByName.addActionListener(this);
                   mnuEditSort.add(mnuEditSortByName);
              JMenuItem mnuEditSortBySurname = new JMenuItem("Sort By Surname");     // to sort entries by surname
                   mnuEditSortBySurname.setMnemonic(KeyEvent.VK_R);
                   mnuEditSortBySurname.setDisplayedMnemonicIndex(10);
                   mnuEditSortBySurname.setToolTipText("Sort entries by surname");
                   mnuEditSortBySurname.setActionCommand("Surname");
                   mnuEditSortBySurname.addActionListener(this);
                   mnuEditSort.add(mnuEditSortBySurname);
              JMenu mnuHelp = new JMenu("Help",true);                                        // creates a menu for help options
                   mnuHelp.setMnemonic(KeyEvent.VK_H);
                   mnuHelp.setDisplayedMnemonicIndex(0);
                   mnuHelp.setToolTipText("Help options");
                   mnuBar.add(mnuHelp);
              JMenuItem mnuHelpHelp = new JMenuItem("Help");                              // creates a help option for help topic
                   mnuHelpHelp.setMnemonic(KeyEvent.VK_P);
                   mnuHelpHelp.setDisplayedMnemonicIndex(3);
                   mnuHelpHelp.setToolTipText("Help Topic");
                   mnuHelpHelp.setActionCommand("Help");
                   mnuHelpHelp.addActionListener(this);
                   mnuHelp.add(mnuHelpHelp);
              JMenuItem mnuHelpAbout = new JMenuItem("About");                         // creates a about option for info about api
                   mnuHelpAbout.setMnemonic(KeyEvent.VK_T);
                   mnuHelpAbout.setDisplayedMnemonicIndex(4);
                   mnuHelpAbout.setToolTipText("About this program");
                   mnuHelpAbout.setActionCommand("About");
                   mnuHelpAbout.addActionListener(this);
                   mnuHelp.add(mnuHelpAbout);
              return mnuBar;
         } // end of the createMenuBar()
         // create the content pane
         public Container createContentPane()
         { // start of createContentPane()
              //construct and populate panels and content pane
              JPanel labelPanel = new JPanel(); // panel is only used to put the label for the textpane in
                   labelPanel.setLayout(new FlowLayout());
                   labelPanel.add(listOfContacts);
              JPanel displayPanel = new JPanel();// panel is used to display all the contacts and thier numbers
                   setTabsAndStyles(displayPane);
                   displayPane = addTextToTextPane();
                   displayPane.setEditable(false);
              JScrollPane scrollPane = new JScrollPane(displayPane);
                   scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // pane is scrollable vertically
                   scrollPane.setWheelScrollingEnabled(true);// pane is scrollable by use of the mouse wheel
                   scrollPane.setPreferredSize(new Dimension(400,320));
              displayPanel.add(scrollPane);
              JPanel workPanel = new JPanel();// panel is used to enter, edit and delete data
                   workPanel.setLayout(new FlowLayout());
                   workPanel.add(createButton);
                        createButton.setToolTipText("Create a new entry");
                        createButton.addActionListener(this);
                   workPanel.add(searchButton);
                        searchButton.setToolTipText("Search for an entry by name number or surname");
                        searchButton.addActionListener(this);
                   workPanel.add(modifyButton);
                        modifyButton.setToolTipText("Modify an existing entry");
                        modifyButton.addActionListener(this);
                   workPanel.add(deleteButton);
                        deleteButton.setToolTipText("Delete an existing entry");
                        deleteButton.addActionListener(this);
              labelPanel.setBackground(Color.red);
              displayPanel.setBackground(Color.red);
              workPanel.setBackground(Color.red);
              // create container and set attributes
              Container c = getContentPane();
                   c.setLayout(new BorderLayout(30,30));
                   c.add(labelPanel,BorderLayout.NORTH);
                   c.add(displayPanel,BorderLayout.CENTER);
                   c.add(workPanel,BorderLayout.SOUTH);
                   c.setBackground(Color.red);
              // add a listener for the window closing and save
              addWindowListener(
                   new WindowAdapter()
                        public void windowClosing(WindowEvent e)
                             int answer = JOptionPane.showConfirmDialog(null,"Are you sure you would like to save all changes and exit?","File submission",JOptionPane.YES_NO_OPTION);
                             if(answer == JOptionPane.YES_OPTION)
                                  System.exit(0);
              return c;
         } // end of createContentPane()
         protected void setTabsAndStyles(JTextPane displayPane)
         { // Start of setTabsAndStyles()
              // set Font style
              Style fontStyle = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
              Style regular = displayPane.addStyle("regular", fontStyle);
              StyleConstants.setFontFamily(fontStyle, "SansSerif");
              Style s = displayPane.addStyle("bold", regular);
              StyleConstants.setBold(s,true);
         } // End of setTabsAndStyles()
         public JTextPane addTextToTextPane()
         { // start of addTextToTextPane()
              int numberOfEntries = contactList.size();
              int count = 0;
              Document doc = displayPane.getDocument();
              try
              { // start of tryblock
                   // clear previous text
                   doc.remove(0,doc.getLength());
                   // insert titles of columns
                   doc.insertString(0,"NAME\tSURNAME\tHOME NO\tWORK NO\tCELL NO\n",displayPane.getStyle("bold"));
                   for(ContactDetails cd : contactList)
                        cd = contactList.get(count);
                        doc.insertString(doc.getLength(),cd.name+"\t"+cd.surname+"\t"+cd.home+"\t"+cd.work+"\t"+cd.cell+"\n",displayPane.getStyle("regular"));
                        count ++;
              } // end of try block
              catch(BadLocationException ble)
              { // start of ble exception handler
                   System.err.println("Could not insert text.");
              } // end of ble exception handler
              return displayPane;
         } // end of addTextToTextPane()
         // code to process user clicks
         public void actionPerformed(ActionEvent e)
         { // start of actionPerformed()
              String arg = e.getActionCommand();
              // user clicks create button
              if(arg.equals("Create"))
                   c.createNew();                                                  // method to create a new Contact
                   addTextToTextPane();
              if(arg.equals("Search"))
                   c.searchExisting();                                             // method to search for an existing entry
                   addTextToTextPane();
              if(arg.equals("Modify"))
                   c.modifyExisting();                                             // method to modify contact
                   addTextToTextPane();
              if(arg.equals("Delete"))
                   c.deleteExisting();
                   addTextToTextPane();
              if(arg.equals("Exit"))
         } // end of actionPerformed()
         // method to create a new contact
         public static void main(String[] args)
         { // start of main()
              // Set look and feel of interface
              try
              { // start of try block
                   UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              } // end of try block
              catch(Exception e)
              { // start of catch block
                   JOptionPane.showMessageDialog(null,"There was an error in setting the look and feel of this application","Error",JOptionPane.INFORMATION_MESSAGE);
              } // end  of catch block
              Phonebook1 pb = new Phonebook1();
              pb.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
              pb.setJMenuBar(pb.createMenuBar());
              pb.setContentPane(pb.createContentPane());
              pb.setSize(520,500);
              pb.setVisible(true);
              pb.setResizable(false);
         } // end of main()
    } //end of class

Maybe you are looking for

  • How to Reclaim Hard Drive Space

    Hi there, I have deleted several GB of messages, folder by folder from Entourage as I have the complete set in Mail. However, I had restarted my iMac and there seems to be too small amount of hard drive space available after this delete has been comp

  • In LabVIEW for Linux, cannot link to a shared library file (.so).

    Hello all, I'm having trouble using the Call Library Function Node within LabVIEW for Linux (using Ubuntu).  I can configure my Node correctly, and it sees the available function within it with all the proper parameters, but when I close the Call Lib

  • .fla into swf files

    Okay here is the deal. I downloaded a template for oscommerce that has a flash header (this flash file is main.swf). I am able to make the adjustments that are needed in Flash 8 but once I try to save it as .swf it tells me that I am unable to save i

  • Problem using Handler chain with JAXWS

    Hi, I want to use handler chain on a web service and I'm not sure if I understood correctly how it works. In every example I found on the web the handler chain is applied on the client side (the binding is made on the generated client side). So, when

  • How to register Essbase server with Shared Services?

    Hello All, How to register Essbase server with Shared Services?