Co-writing with Garageband for iPad: sharing projects between 2 iPads

Hello, all,
I am hoping somebody can help me achieve what something that it strikes me that Garageband on the iPad should be perfect for, but which I just can't seem to figure out!
I am the guitarist in a band, and hoping to use my iPad to co-write songs with the singer, who lives in another town.
We can't always get together for writing sessions, but, since we both have iPads, I assumed that I could start projects by making some instrumental recordings on my iPad, and then share the project with the singer to add vocals on their iPad, and that they could then send the track back to me for further editing, adding extra parts to, etc.
This seems like it would be a great way to develop songs with a co-writer without having to be in the same room -- but I just can't figure out how to do it!
It seems I can send a sound file to email from my iPad's Garageband, but how would the singer import that file into their iPad's Garageband? Surely it can't be that difficult, but I've read a lot online and there just doesn't seem to be a way to do this.
Any suggestions or advice would be very gratefully received!

Hi Zapruder,
On the 'Help' file on my ipod there'sn a section about uploading the file to SoundCloud. Have you checked it out yet?
Steverino1

Similar Messages

  • Problem with GarageBand for iOS 6/7 Iphone 3gs / 4

    Problem with GarageBand for iOS 6/7 Iphone 3gs / 4
    Hello,
    On February 16, bought the GarageBand for iOS which was free and so I find and install it on my 3GS .
    Take the demo: Curtain Call Demo
    and within the instruments :
    audio Recorder
    Sampler
    Smart Drums
    Smart Strings
    Smart Bass
    Smart Keyboard
    Smart Guitar
    Keyboard
    Drums
    Guitar Amp
    1.4.1 is the latest version for ios 6.
    Configure my AppleID on a Iphone 4 and install the program , the version I have the Iphone 4 is the orange ( different from 3gs ) icon and put it on the AppStore : ios 2.0.1 for ios7.
    With these instruments :
    audio Recorder
    Sampler ( to download the instrument )
    Smart Drums ( to download the instrument )
    Smart Strings (Download the instrument )
    Smart Bass ( to download the instrument )
    Smart Keyboard ( to download the instrument )
    Smart Guitar
    Keyboard
    Drums
    Guitar Amp ( to download the instrument )
    and if I give what I need to restore tells me if I bought it I did not restore anything and tells me to buy :
    Complete collection of GarageBand instruments and sound at a price of : € 4.49
    As they are 2 different versions ? More than anything I say because I have to pay for the instruments in the 2.0.1 version of the Iphone 4 ... ?
    And besides not wearing demo Demo Curtain Call : (
    GarageBand 1.x If you are upgrading it using iTunes on a Mac or PC, you can restore the original collection of instruments and sounds. There is no need to buy this collection. Press "You've already purchased?" When displayed on iPhone, iPad or iPod touch.
    this puts on the AppStore but I have tried to restore as I wrote above, and does not work. There is nothing to restore.
    regards

    I've been having the same problem. However, I believe my problem is due to the 3G issues I've been having. I don't have internet access even when the 3G symbol appears, so probably my iphone keeps trying to connect to the network and has its battery drained! Have you been having the same issue?

  • HT4972 hi one of the main important questions which this site didnt answer to it is: whats the latest version of ios which any device work with it for example i have a ipad 1st and i dont know whats is the latest version of ios for this device thanks

    hi one of the main important questions which this site didnt answer to it is: whats the latest version of ios which any device work with it. for example i have a ipad 1st and i dont know whats is the latest version of ios for this device

    Google "iOS versions" and read the first match (Wikipedia)........

  • An example of what you can do with Garageband for iPad

    Hey,
    this is an example of 5 hours of work on Garageband for iPad and Final cut pro X, hope you enjoy!
    http://www.youtube.com/watch?v=MSASlCyUp-Y

    Isn't Garageband part of iLife 11 which comes with every Mac????
    http://www.apple.com/imac/built-in-apps/
    So, no excuses.......  

  • Recording with Garageband for IOS

    I wanted to share a recording or two using the ipad so that people could see that garageband for IOS doesn't suck.  I didn't spend too much time throwing them together, but at the same time they're not too horrible either. They give a pretty decent idea of what a 1st gen ipad with a 5 dollar app is capable of in regards to guitar and shred-type guitar stuff. I'm kind of sick of reading and listening to scathing reviews on how the ipad and Garageband in particular is for non-musicians and noobs who want to sound like they're making music... (ooo that could describe me... yikes!) If I could have had an ipad-like device when I was just getting started, I think that I would be a much better player today. I am totally blown away at the expectations people have of a 5 dollar program, when they haven't spent the time trying to see what it does do well. Anyways, here's hoping that this post helps people out that are trying to find out what the capabilities of an ipad with GB are, especially if they are a guitarist. At the end of the day, it is still the person using the device that either makes it sound horrible, mediocre or amazing...
    So anyways, I decided to make a quick track where I didn't spend too much time on the music, and I used only what was in GB in regards to my tones and stuff; That means all stock amp and pedal combinations. I also wanted a track that focused on guitar parts, and making the best of what the app has to offer. I'm sure with some tweaking and mucking around there could be some much cooler tones generated, but hey... it is what it is. Also, I used a Godin LGXT direct into the ipad with an Apogee Jam. Very inexpensive. Bass and drums were recorded with the Line6 Mobile25. The tablet's screen works too, but I find that the keyboard is a lot more accurate, especially for drums. Obviously, you could go into the drum and guitar parts and edit and tweak the parts further, creating drum parts that feel and sound a bit more lifelike, but I didn't do that here; this one was about direct recorded electric guitar...
    https://soundcloud.com/jayesskerr/ipadgination
    Arguably, you could also record your stuff via microphones also. In this case I used a Roland VS880 as a mixer (It was handy), with 4 CAD microphones connected to it to capture my drum kit. (I'm not much of a drummer, but you get the idea...) I then just lined out of the VS880 into the apogee Jam into the ipad. BANG! This app could work very easily for drummers also... or people who must have their tone and not a digital preset...
    https://soundcloud.com/jayesskerr/just-drums
    I own a couple of good mac boxes loaded with killer software, and I also have some decent interfaces. They are pretty superior in regards to the amount of options that they present, without a doubt. And then when you include all of the 3rd party plugins and loops and stuff that you can get... well, it's very, very nice. The ipad intrigued me because it's self contained, and is extremely portable. It has limitations which force one to be kind of clever in order to work around them. Also, the recording process with an ipad is very, very quick. Setup time is minimal.  So anyways, with just Garageband, and an Apogee Jam (I have the irig connector also, but in my opinion the Jam is so much superior...). The only other thing I'd reccomend is the Line6 Mobilekeys25 which I used here; MUCH easier to enter notes in on bass and drums. Here's some points to sum up my opinions on my experience with the device;
    No it's not better than Logic or Cubase or prottols or something with an interface. It's only a 5 dollar app on a 600 dollar tablet (In my case an outdated 1st generation ipad).
    There's only 8 tracks, but you can bounce and merge.
    The amount of sections is limited, but you can work around that too...
    It's extremely portable. Way less gear to haul and set up, but feel free to use your own stuff with it also...
    GB on a tablet is very, very easy to learn. Super intuitive and quick to use.
    The amount of sections is limited, but again you could always just make another song project and then stitch it together later...
    The amp and pedal emulations aren't as good as Guitar Rig, a line6 Pod Pro hd, or a FAS Axe-FXII. But they aren't horrible, they are certainly pretty good for the price of 5 bucks...
    If you're broke/poor and want to get into recording and sharing your music, this is the ideal way to go about it. Your recording device (The ipad) also makes documents, does email, takes and edits pictures, takes and edits video... The only thing standing in the way of you sounding great is you...
    The 'merge track' option is a powerful tool, especially on your midi tracks.
    No pitch correction. Waaaaaahhh boo hoo! You're gonna have to learn how to sing. Plus, it's only 5 bucks!
    Don't want to use the internal drum sounds? Or want to use your amp's miced sound? Get a small mixer, and connect your mic to that. Then connect the mic to the Apogee Jam (There are other products out there that work better and in stereo, but this would do in a pinch) and you should be good to go.
    I recommend using a small keyboard like the Line6 Mobile Keys 25 to enter your midi/virtual instruments stuff in. For me, using just the pad means more track editing after I enter it...
    The last point is this; there's other software besides just GB. Cubasis anyone?
    Anyways, thanks for checking this out, I hope that it helps, and if anyone else has any opposing viewpoints or points to add, please do.
    http://www.guitarius.net
    http://www.youtube.com/user/Scottulus

    Yes, I do it all the time. The best I have found is the Apogee iMiC. Here is a link.  http://www.apogeedigital.com/products/mic.php

  • AIR crashes on loading swf with 'Imported for runtime sharing' fonts

    Hello everybody,
    I have a trouble with an AIR application developped with Flex but the error seems to come from the Flash/AIR, after some searches a staff member (Flex harUI) said me that I could find more help for my trouble here.
    I'm developping an AIR application which loads an external swf. This swf contains 'Imported for runtime sharing' fonts from another swf to reduce its size.
    When the AIR application has finished to load (see message below) the whole application crashes without giving any error message except the usual "Process terminated unexpectedly" error message.
    End Loading: [SWF] C:\Users\dev02\myProject\index.swf - 83,930 bytes after decompression
    Error Message:
    Process terminated unexpectedly.
    Launch command details:  "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\4.6.0\bin\adl.exe" -runtime "C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\4.6.0\runtimes\air\win" "C:\Users\dev02\Adobe Flash Builder 4\Languages_Editor\bin-debug\Language_Editor-app.xml" "C:\Users\dev02\Adobe Flash Builder 4\Languages_Editor\bin-debug"
    I use Flash Builder 4 (build 272416) with sdk 4.6.
    Full discussion here.
    I tried to load the external swf with the most basics codes, it works with a Flash web app but not with a Flex/AIR app or a Flash/AIR app.
    Thanks for the help !

    Thanks for the anwser.
    In fact, I cannot specify a swc because my main application is an editor of sub-applications where each one has its own library.
    The bug remains when sharing a simple MovieClip too.
    Maybe, if I explain my project it will be a little more clear.
    I'm developping a multi-languages module / application.
    For each module, I have an external xml for texts. So in order to add a new language we don't need to recompile, just to change texts in the xml. But, I had to externalize my fonts, (imagine if each swf contains the whole characters set like latin, cyrillic, etc.).
    And then, I have my main text editor application above the module, which loads texts xmls and a preview of the page where we need to change the text. (This is where it crashes, during the process of loading the preview).
    My editor works great for translating, changing texts, modify images but without the preview, what is really frustrating.
    (not so ergonomic, I know...)
    I hope it will help you to understand my trouble.
    regards

  • Sharing projects between libraries

    I'm looking for a solution to share projects in sync between multiple libraries, without having to export & import projects each time. I'd like the shared projects to be in sync between the libraries.
    I'm putting together a highlights portfolio, so in each of my many libraries, I have a "best of" project for the selects. I'd like each of these "best of" projects to be seen by a separate library which is just used to make my portfolio. Any time I update the best of in a given library, I'd like that to be reflected in the shared project in the portfolio library.
    Is there a solution/workaround for this?
    I found a free script that is supposed to make this possible, but I've had no luck with it thus far...
    http://tinyurl.com/ApertureSpanning
    Thanks!
    GPM
    I'm running 2.1.2

    Thanks a lot for your response, RB -- I read the page you referenced:
    http://photo.rwboyer.com/2008/09/managing-aperture-2-on-multiple-computers/
    And maybe I'm missing something, but I don't believe that either of these two approaches solves my particular problem?
    It seems that both approaches require that you import/export projects, or relocate masters, etc. What I'm looking to do is have projects from multiple libraries synced with each other "live", with out having to import/export or manage anything manually.
    Simplest example: I have one library called "Brazil," and in it I have a project I've named "Best of Brazil". I have another library called "Portfolio," where I pull together all my best work from various projects. What I want is for the "Best of Brazil" project to show up automatically in the "Portfolio" project. And anytime I'm in the Brazil library & add some new shots to the Best of Brazil project, next time I go into my Portfolio library, those new shots or edits should be automatically in the mirrored Best of Brazil project -- inside the Portfolio library.
    It's kind of like seeing & accessing other libraries, but only projects you've designated as shared...
    Any thoughts?
    Thanks a lot!

  • Sharing playlists between iPad and laptop

    I turned on home sharing. My iPad now sees the playlists on my laptop. How do I get my laptop to see playlists mand on the iPad?

    I believe it should just work since sharing is across all computer connected to a particular network regardless of how that actually connect (wireless, Ethernet, power line, etc.).
    Perhaps your friend's desktop is configured differently than the laptop was with respect to the Windows built in Firewall settings? Maybe your friend can go into the Firewall settings on the desktop and then change it (temporarily) to off just to see if it makes a difference? If so, then your friend may only need to make some sort of exception in the Firewall rules to allow iTunes sharing to come through?
    Patrick

  • Sharing projects between macs (iMovie 2014)

    Hi guys, I just want to ask... how can I share my projects between my iMac and my Macbook air? I started one project in one of them and now I must finish it in the other one.
    I found this (in spanish) but is for iMovie '11 and it doesn't work. (iMovie '11: Copiar o mover un proyecto a un disco rígido externo) and I've iMovie 10.0.4.
    Thank you in advance.

    Hey Espartak
    I've retraced my steps and I think I missed a stage in my instuctions above, so here is some revised instructions.  Item 4 has changed from my original
    I am using iMovie 10.0.4
    1. Create a new iMovie library and savedit on an external hard drive with a different name to the current Library. File>open Library>New
    You will then see the new library and the old library in the left hand panel.
    2. Drag your movie events from one library to the other and this then copies the files into the new library.
    3. Ctrl click on the event you have just copied and click “Consolidate Event Media”  this will make sure the files are copies to the new library.
    4. In the left had column there is “ALL PROJECTS” but there is also an item called “UPDATED PROJECTS” mine appears in my library list under 2013 ??  I don’t know why that is, maybe it is when I updated iMovie?  Anyway in here you will find all of the projects again only from here you can move them around.  Select the project that you want to copy and drag and drop it over the name of the event in the new library.  Then when you click on that event you can see that the project is also there.
    5. Once finished click on the new library in the left hand panel Ctrl click and click close library
    6. Plug in your external drive to your other Mac. You can either copy your new library from you external drive or leave it there.  Open iMovie
    7. Find the new library on your external drive/or mac and double clicked it.  This then openes iMovie and it imported all of the projects as well as the events.
    See if that works for you

  • Is there a way to use Dropbox with Garageband for iPad?

    I'd like to be able to Garageband projects on my iPad then upload them so students could download them and work on them and resubmit them.  Does Dropbox work with this?  Also, once I put an iPad project into the desktop version, can the iPad version use it again?  Thanks for your help in advance!

    The only way I see it working for the moment is prepping the tune on GB, sending to the students via email, then the students upload the file to GB via iTunes so they can interact with it.
    I'm still in a hybrid (iPad, PC) so I do not know about using a version of the song modified on GB for Mac.

  • Good speakers or Bluetooth speakers to use with GarageBand for iPad?

    Hey guys,
    I got an electric guitar plugged into my iPad to use as an amp. I play it in a church for a music group who perform for the mass. I need speakers as the ones I am currently using don't play loud enough. If they are bluetooth it would be fine as well. If anyone knows good loud quality speakers please post below!

    Yubz Magnum really has great sound. They come in four colors too.
    Check out the new remodeled MacOSG website! 24-hour Apple-related news & support.
     MacOSG: An Apple User Group  iTunes: MacOSG Podcast  Follow us on Twitter: MacOSG

  • Best way to set up a scratch disc for a shared project?

    I am currently working on a project with 4 seperate computers and users working from a shared external 10TB drive. What is the best way to set up the scratch disc and media cache folders?
    Each worker is editing a sequence and then posting back to the 10TB drive.

    Use the identical path (including drive letter) for Media Cache,
    Preview Files and source media files on all machines.
    Premiere will look to absolute, not relative paths for these files.

  • I am having trouble with loops for my IT project

    I am not shour if this is the correct place to post my question.I am sorry if this is the wrong place.
    I have been given a school project to do in netbeans. Under the tab labeled "Timestable drill" I wrote code that is is supposted to output the timetable of a number requested by the user after they click on the view button.I tried to do this using a loop.
    My problem is that the program only outputs the requested number multiplyed by 12 whilst it is supposed to out put something like this: for example the number requested by the user is 2
    0*2=0
    1*2=2
    2*2=4
    3*2=6
    4*2=8
    5*2=10
    6*2=12
    7*2=14
    8*2=16
    9*2=18
    10*2=20
    11*2=22
    12*2=48
    Is there something wrong with my code for the loop or should I use a diffrent component for the screen?
    Any help would be useful. Thank you
    this is my code
    * calcBMI.java
    * Created on 09 July 2008, 10:55
    * @author  Owner
    public class calcBMI extends javax.swing.JFrame {
        /** Creates new form calcBMI */
        public calcBMI() {
            initComponents();
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
        private void initComponents() {
            Tabs = new javax.swing.JTabbedPane();
            Standard_Calculator = new javax.swing.JPanel();
            Calculatorlbl = new javax.swing.JLabel();
            Screen = new javax.swing.JTextField();
            btn7 = new javax.swing.JButton();
            btn8 = new javax.swing.JButton();
            btn9 = new javax.swing.JButton();
            btn4 = new javax.swing.JButton();
            btn5 = new javax.swing.JButton();
            btn6 = new javax.swing.JButton();
            btn1 = new javax.swing.JButton();
            btn2 = new javax.swing.JButton();
            btn3 = new javax.swing.JButton();
            btn0 = new javax.swing.JButton();
            btnpoint = new javax.swing.JButton();
            btneq = new javax.swing.JButton();
            btnplus = new javax.swing.JButton();
            btnsubtract = new javax.swing.JButton();
            btnmultiply = new javax.swing.JButton();
            btndiv = new javax.swing.JButton();
            btnclear = new javax.swing.JButton();
            BMI_Calculator = new javax.swing.JPanel();
            Scrn = new javax.swing.JTextField();
            BMIlabel = new javax.swing.JLabel();
            weight_btn = new javax.swing.JButton();
            Height_btn = new javax.swing.JButton();
            Clear = new javax.swing.JButton();
            calcBtn = new javax.swing.JButton();
            Tables_Drill = new javax.swing.JPanel();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            timetable = new javax.swing.JTextField();
            Viewbttn = new javax.swing.JButton();
            jScrollPane2 = new javax.swing.JScrollPane();
            viewing_board = new javax.swing.JTextPane();
            jMenuBar1 = new javax.swing.JMenuBar();
            jMenu2 = new javax.swing.JMenu();
            Quit = new javax.swing.JMenuItem();
            jMenu3 = new javax.swing.JMenu();
            jMenu4 = new javax.swing.JMenu();
            jMenuItem1 = new javax.swing.JMenuItem();
            jMenu1 = new javax.swing.JMenu();
            jMenu5 = new javax.swing.JMenu();
            jMenuItem2 = new javax.swing.JMenuItem();
            How_toBMI = new javax.swing.JMenu();
            jMenuItem3 = new javax.swing.JMenuItem();
            jMenuBar2 = new javax.swing.JMenuBar();
            jMenu6 = new javax.swing.JMenu();
            Quit1 = new javax.swing.JMenuItem();
            jMenu7 = new javax.swing.JMenu();
            jMenu8 = new javax.swing.JMenu();
            jMenuItem4 = new javax.swing.JMenuItem();
            jMenu9 = new javax.swing.JMenu();
            jMenu10 = new javax.swing.JMenu();
            jMenuItem5 = new javax.swing.JMenuItem();
            How_toBMI1 = new javax.swing.JMenu();
            jMenuItem6 = new javax.swing.JMenuItem();
            jMenuBar3 = new javax.swing.JMenuBar();
            jMenu11 = new javax.swing.JMenu();
            Quit2 = new javax.swing.JMenuItem();
            jMenu12 = new javax.swing.JMenu();
            jMenu13 = new javax.swing.JMenu();
            jMenuItem7 = new javax.swing.JMenuItem();
            jMenu14 = new javax.swing.JMenu();
            jMenu15 = new javax.swing.JMenu();
            jMenuItem8 = new javax.swing.JMenuItem();
            How_toBMI2 = new javax.swing.JMenu();
            jMenuItem9 = new javax.swing.JMenuItem();
            jMenuBar4 = new javax.swing.JMenuBar();
            jMenu16 = new javax.swing.JMenu();
            Quit3 = new javax.swing.JMenuItem();
            jMenu17 = new javax.swing.JMenu();
            jMenu18 = new javax.swing.JMenu();
            jMenuItem10 = new javax.swing.JMenuItem();
            jMenu19 = new javax.swing.JMenu();
            jMenu20 = new javax.swing.JMenu();
            jMenuItem11 = new javax.swing.JMenuItem();
            How_toBMI3 = new javax.swing.JMenu();
            jMenuItem12 = new javax.swing.JMenuItem();
            jMenuBar5 = new javax.swing.JMenuBar();
            jMenu21 = new javax.swing.JMenu();
            Quit4 = new javax.swing.JMenuItem();
            jMenu22 = new javax.swing.JMenu();
            jMenu23 = new javax.swing.JMenu();
            jMenuItem13 = new javax.swing.JMenuItem();
            jMenu24 = new javax.swing.JMenu();
            jMenu25 = new javax.swing.JMenu();
            jMenuItem14 = new javax.swing.JMenuItem();
            How_toBMI4 = new javax.swing.JMenu();
            jMenuItem15 = new javax.swing.JMenuItem();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            Calculatorlbl.setBackground(new java.awt.Color(0, 204, 255));
            Calculatorlbl.setFont(new java.awt.Font("Heather", 1, 18));
            Calculatorlbl.setForeground(new java.awt.Color(0, 204, 204));
            Calculatorlbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            Calculatorlbl.setText("CALCULATOR");
            btn7.setBackground(new java.awt.Color(204, 204, 204));
            btn7.setForeground(java.awt.Color.magenta);
            btn7.setText("7");
            btn7.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn7ActionPerformed(evt);
            btn8.setBackground(new java.awt.Color(204, 204, 204));
            btn8.setForeground(java.awt.Color.magenta);
            btn8.setText("8");
            btn8.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn8ActionPerformed(evt);
            btn9.setBackground(new java.awt.Color(204, 204, 204));
            btn9.setForeground(java.awt.Color.magenta);
            btn9.setText("9");
            btn9.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn9ActionPerformed(evt);
            btn4.setBackground(new java.awt.Color(204, 204, 204));
            btn4.setForeground(java.awt.Color.magenta);
            btn4.setText("4");
            btn4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn4ActionPerformed(evt);
            btn5.setBackground(new java.awt.Color(204, 204, 204));
            btn5.setForeground(java.awt.Color.magenta);
            btn5.setText("5");
            btn5.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn5ActionPerformed(evt);
            btn6.setBackground(new java.awt.Color(204, 204, 204));
            btn6.setForeground(java.awt.Color.magenta);
            btn6.setText("6");
            btn6.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn6ActionPerformed(evt);
            btn1.setBackground(new java.awt.Color(204, 204, 204));
            btn1.setForeground(java.awt.Color.magenta);
            btn1.setText("1");
            btn1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn1ActionPerformed(evt);
            btn2.setBackground(new java.awt.Color(204, 204, 204));
            btn2.setForeground(java.awt.Color.magenta);
            btn2.setText("2");
            btn2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn2ActionPerformed(evt);
            btn3.setBackground(new java.awt.Color(204, 204, 204));
            btn3.setForeground(java.awt.Color.magenta);
            btn3.setText("3");
            btn3.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn3ActionPerformed(evt);
            btn0.setBackground(new java.awt.Color(204, 204, 204));
            btn0.setForeground(java.awt.Color.magenta);
            btn0.setText("0");
            btn0.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btn0ActionPerformed(evt);
            btnpoint.setBackground(new java.awt.Color(204, 204, 204));
            btnpoint.setForeground(java.awt.Color.magenta);
            btnpoint.setText(".");
            btnpoint.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnpointActionPerformed(evt);
            btneq.setBackground(new java.awt.Color(204, 204, 204));
            btneq.setForeground(java.awt.Color.magenta);
            btneq.setText("=");
            btneq.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btneqActionPerformed(evt);
            btnplus.setText("+");
            btnplus.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnplusActionPerformed(evt);
            btnsubtract.setText("-");
            btnsubtract.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnsubtractActionPerformed(evt);
            btnmultiply.setText("*");
            btnmultiply.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnmultiplyActionPerformed(evt);
            btndiv.setText("/");
            btndiv.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btndivActionPerformed(evt);
            btnclear.setText("C");
            btnclear.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btnclearActionPerformed(evt);
            javax.swing.GroupLayout Standard_CalculatorLayout = new javax.swing.GroupLayout(Standard_Calculator);
            Standard_Calculator.setLayout(Standard_CalculatorLayout);
            Standard_CalculatorLayout.setHorizontalGroup(
                Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                    .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                            .addGap(45, 45, 45)
                            .addComponent(Calculatorlbl, javax.swing.GroupLayout.PREFERRED_SIZE, 237, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                            .addGap(31, 31, 31)
                            .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                                    .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                                            .addComponent(btn7)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn8)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn9))
                                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                                            .addComponent(btn4)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn5)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn6))
                                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                                            .addComponent(btn1)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn2)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btn3))
                                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                                            .addComponent(btn0)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btnpoint)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(btneq)))
                                    .addGap(60, 60, 60)
                                    .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(btnmultiply)
                                        .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(btnclear)
                                            .addComponent(btndiv))
                                        .addComponent(btnsubtract)
                                        .addComponent(btnplus)))
                                .addComponent(Screen, javax.swing.GroupLayout.PREFERRED_SIZE, 277, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addContainerGap(38, Short.MAX_VALUE))
            Standard_CalculatorLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btnclear, btndiv, btnmultiply, btnplus, btnsubtract});
            Standard_CalculatorLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btneq, btnpoint});
            Standard_CalculatorLayout.setVerticalGroup(
                Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(Calculatorlbl, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(Screen, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 4, Short.MAX_VALUE)
                            .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(btn8)
                                .addComponent(btn7)
                                .addComponent(btn9))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(btn4)
                                .addComponent(btn5)
                                .addComponent(btn6))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(btn1)
                                .addComponent(btn3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(btn2))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(Standard_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(btn0)
                                .addComponent(btnpoint)
                                .addComponent(btneq))
                            .addGap(25, 25, 25))
                        .addGroup(Standard_CalculatorLayout.createSequentialGroup()
                            .addComponent(btnplus, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnsubtract)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnmultiply, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btndiv)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(btnclear)))
                    .addGap(37, 37, 37))
            Tabs.addTab("Standard Calculator", Standard_Calculator);
            BMIlabel.setFont(new java.awt.Font("Heather", 1, 18));
            BMIlabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            BMIlabel.setText("BMI Calculator");
            weight_btn.setText("Weight (Kg)");
            weight_btn.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    weight_btnActionPerformed(evt);
            Height_btn.setText("Height (m)");
            Height_btn.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    Height_btnActionPerformed(evt);
            Clear.setText("Clear");
            Clear.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ClearActionPerformed(evt);
            calcBtn.setText("Calculate");
            calcBtn.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    calcBtnActionPerformed(evt);
            javax.swing.GroupLayout BMI_CalculatorLayout = new javax.swing.GroupLayout(BMI_Calculator);
            BMI_Calculator.setLayout(BMI_CalculatorLayout);
            BMI_CalculatorLayout.setHorizontalGroup(
                BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(BMI_CalculatorLayout.createSequentialGroup()
                    .addGroup(BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(BMI_CalculatorLayout.createSequentialGroup()
                            .addGap(40, 40, 40)
                            .addGroup(BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(weight_btn)
                                .addComponent(Height_btn))
                            .addGap(66, 66, 66)
                            .addGroup(BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(calcBtn)
                                .addComponent(Clear)))
                        .addGroup(BMI_CalculatorLayout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(Scrn, javax.swing.GroupLayout.PREFERRED_SIZE, 301, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(BMI_CalculatorLayout.createSequentialGroup()
                            .addGap(29, 29, 29)
                            .addComponent(BMIlabel, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(35, Short.MAX_VALUE))
            BMI_CalculatorLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {Clear, Height_btn, calcBtn, weight_btn});
            BMI_CalculatorLayout.setVerticalGroup(
                BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(BMI_CalculatorLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(BMIlabel, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(9, 9, 9)
                    .addComponent(Scrn, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(34, 34, 34)
                    .addGroup(BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(weight_btn)
                        .addComponent(calcBtn))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(BMI_CalculatorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(Height_btn)
                        .addComponent(Clear))
                    .addContainerGap(100, Short.MAX_VALUE))
            Tabs.addTab("BMI Calculator", BMI_Calculator);
            jLabel1.setText("Tables drill");
            jLabel2.setText("Timetable ");
            Viewbttn.setText("VIEW");
            Viewbttn.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ViewbttnActionPerformed(evt);
            jScrollPane2.setViewportView(viewing_board);
            javax.swing.GroupLayout Tables_DrillLayout = new javax.swing.GroupLayout(Tables_Drill);
            Tables_Drill.setLayout(Tables_DrillLayout);
            Tables_DrillLayout.setHorizontalGroup(
                Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Tables_DrillLayout.createSequentialGroup()
                    .addGroup(Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(Tables_DrillLayout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 387, Short.MAX_VALUE)
                                .addGroup(Tables_DrillLayout.createSequentialGroup()
                                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(41, 41, 41)
                                    .addGroup(Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(timetable, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addComponent(Viewbttn, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(152, 152, 152))))
                        .addGroup(Tables_DrillLayout.createSequentialGroup()
                            .addGap(55, 55, 55)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 256, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap())
            Tables_DrillLayout.setVerticalGroup(
                Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Tables_DrillLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addGroup(Tables_DrillLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(timetable, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(Viewbttn, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(40, 40, 40)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(41, Short.MAX_VALUE))
            Tabs.addTab("Tables Drill", Tables_Drill);
            jMenu2.setText("File");
            Quit.setText("Exit");
            Quit.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    QuitActionPerformed(evt);
            jMenu2.add(Quit);
            jMenuBar1.add(jMenu2);
            jMenu3.setText("Edit");
            jMenu4.setText("Clear");
            jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
            jMenuItem1.setText("Screen");
            jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jMenuItem1ActionPerformed(evt);
            jMenu4.add(jMenuItem1);
            jMenu3.add(jMenu4);
            jMenuBar1.add(jMenu3);
            jMenu1.setText("Help");
            jMenu5.setText("Standard Calculator");
            jMenuItem2.setText("Item");
            jMenu5.add(jMenuItem2);
            jMenu1.add(jMenu5);
            How_toBMI.setText("BMI Calculator");
            How_toBMI.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    How_toBMIActionPerformed(evt);
            jMenuItem3.setText("How to use");
            How_toBMI.add(jMenuItem3);
            jMenu1.add(How_toBMI);
            jMenuBar1.add(jMenu1);
            jMenu6.setText("File");
            Quit1.setText("Exit");
            Quit1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    QuitActionPerformed(evt);
            jMenu6.add(Quit1);
            jMenuBar2.add(jMenu6);
            jMenu7.setText("Edit");
            jMenu8.setText("Clear");
            jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK));
            jMenuItem4.setText("Screen");
            jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jMenuItem1ActionPerformed(evt);
            jMenu8.add(jMenuItem4);
            jMenu7.add(jMenu8);
            jMenuBar2.add(jMenu7);
            jMenu9.setText("Help");
            jMenu10.setText("Standard Calculator");
            jMenuItem5.setText("Item");
            jMenu10.add(jMenuItem5);
            jMenu9.add(jMenu10);
            How_toBMI1.setText("BMI Calculator");
            How_toBMI1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    How_toBMIActionPerformed(evt);
            jMenuItem6.setText("How to use");
            How_toBMI1.add(jMenuItem6);
            jMenu9.add(How_toBMI1);
            jMenuBar2.add(jMenu9);
            jMenu11.setText("File")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          &nbs

    I love when new people think they have to show their entire application when they only have a problem with a little piece.
    If you have a problem with a loop, just post the loop! Why should we need to sift through all your GUI code and other irrelevant nonsense? It's your job to show us the information we need to help you.

  • How do I make a ringtone with GarageBand for my iPhone from rights-protected AAC audio files I purchased from iTunes?

    When I try to import some songs I purchased from iTunes into GarageBand so I can create a customer ringtone a window pops open stating that I cannot import a rights-protected AAC audio file?  I bought the song from iTunes and can play it on my iPhone iPod application.  Does not make sense except from a mercenary perspective why I cannot create  a custom ringtone from the song and play it on my iPhone when the phone rings.  Is there a solution?

    You cannot use DRM protected songs for this as they are drm protected to stop you from doing this.
    Any itunes plus ( all itunes music sold over the past couple of years or so) can be used to make ringtones.

  • I need help with TransparentBackgrounds for a school project

    So i had found the transparentBackground class
    * @(#)TransparentBackground.java
    * @author
    * @version 1.00 2010/2/26
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.text.NumberFormat;
    public class TransparentBackground extends JComponent implements ComponentListener, WindowFocusListener, Runnable{
        private JFrame frame;
        private Image background;
         private long _lastUpdate = 0;
         private boolean _refreshRequested = true;
         public Robot rbt;
         public Toolkit tk;
         public Dimension dim;
         public Point pos;
         public Point offset;
         long total;
         long used;
    public TransparentBackground(JFrame frame) {
        this.frame = frame;
        updateBackground();
        frame.addComponentListener(this);
         frame.addWindowFocusListener(this);
        new Thread(this).start();
    public void updateBackground( ) {
        try {
             total = Runtime.getRuntime().totalMemory();
             used  = (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())/1024;
             System.out.println("updateBackground() Run: Memory Usage: " + used +" MB");
            rbt = new Robot();
            tk = Toolkit.getDefaultToolkit( );
            dim = tk.getScreenSize( );
            background = rbt.createScreenCapture(
            new Rectangle(0,0,(int)dim.getWidth( ),
                              (int)dim.getHeight( )));
        } catch (Exception ex) {
    public void paintComponent(Graphics g) {
         System.out.println("paintComponent() Run");
        pos = this.getLocationOnScreen();
        offset = new Point(-pos.x,-pos.y);
        g.drawImage(background,offset.x,offset.y,null);
    protected void refresh() {
              if (frame.isVisible() && this.isVisible()) {
                   repaint();
                   _refreshRequested = true;
                   _lastUpdate = System.currentTimeMillis();
              System.out.println("refresh() Run");
    // ComponentListener -------------------------------------------------------
         public void componentHidden(ComponentEvent e) {
         public void componentMoved(ComponentEvent e) {
              repaint();
         public void componentResized(ComponentEvent e) {
              repaint();
         public void componentShown(ComponentEvent e) {
              repaint();
         // WindowFocusListener -----------------------------------------------------
         public void windowGainedFocus(WindowEvent e) {
              refresh();
         public void windowLostFocus(WindowEvent e) {
              refresh();
    public void run() {
              try {
                   while (true) {
                        Thread.sleep(10);
                        long now = System.currentTimeMillis();
                        if (_refreshRequested && ((now - _lastUpdate) > 100)) {
                             if (frame.isVisible()) {
                                  Point location = frame.getLocation();
                                  frame.setLocation(-frame.getWidth(), -frame.getHeight());
                                  updateBackground();
                                  frame.setLocation(location);
                                  refresh();
                             _lastUpdate = now;
                             _refreshRequested = false;
                             System.out.println("run() END------------");
              } catch (InterruptedException e) {
                   e.printStackTrace();
    }In have like 8 - 12 of these "panels" in my program. They are not running simultaneously but each one is created everytime I press a button.
    I have A button ing main class (x) and another class (y)
    Class y
    public JFrame Frame;
    public TransparentBackground Panel;
    class y()
    public void makeMe()
    Frame = new JFrame(" ");
         Panel= new TransparentBackground(Frame);
      ///   ....all the combining
       // and then
       frame.setVisible(true);
    public void hideMe()
         frame.setVisible(false);
    }When press A which has only one instanciation of class y:
    it calls
    y.makeMe()
    and then it when I press it again
    it calls
    y.hideMe()
    and then this same process goes on for like 8 times before it starts to show this
    updateBackground() Run: Memory Usage: 248606 MB
    Exception in thread "Thread-25" java.lang.OutOfMemoryError: Java heap space
        at sun.awt.windows.WRobotPeer.getRGBPixels(WRobotPeer.java:46)
        at java.awt.Robot.createScreenCapture(Robot.java:329)
        at TransparentBackground.updateBackground(TransparentBackground.java:45)
        at TransparentBackground.run(TransparentBackground.java:104)
        at java.lang.Thread.run(Thread.java:619)
    paintComponent() Run
    refresh() Run
    paintComponent() RunBTW: the x and y class are just skeletal classes, but the actual ones I use in the programs are filled with Images and all that good stuff..
    So my ulimate question is..
    Why dose it make that error?
    and i also tried to increase the heap space, but it still showed the same error.
    I am just a newbie, so i would appreciate if the explainations are easier to understand for beginners
    thank you for reading and taking interest

    I don't understand you GUI approach at all: you are making a very basic board game. You need not even do an animation loop as a continuously running process. While I have not gone over your code extensively, what your errors and glimpsing at your code says to me is that you don't have your objects being disposed of because they are running--your "while(true)" loop is not being canceled/stopped.
    You need to make a very basic animation loop and look at making your events happen accordingly. You can easily paint your cards/messages over portions of the playing screen and have them age off with a timer or other triggered events--this removes the need of your while(true) loops and runnable objects.
    On the other hand, you do not need to implement runnable nor have a running animation loop with a basic GUI. When you have your "cards" pop up, they need not be objects that implement runnable either, but just basic GUI components.
    Anyways, I'm just at a loss as to your need to have everything implement runnable.

Maybe you are looking for