Needing help: using Keylistener to change images

I am trying to using the arrow keys to switch between pictures i have but i cant get it to work... mind that im relativly new at java. Here is what i trying to do:
starts at pic1: press up: frame now has pic2: press down: frame now shows pic1
my code so far:
public class test2 {
static JFrame frame;
static int position = 0;
public static void main(String args[]){
JFrame.setDefaultLookAndFeelDecorated(true);     
frame = new JFrame("Frame Title");
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("File");
JMenu menuHelp = new JMenu("Help");
JMenuItem menuFileExit = new JMenuItem("Exit");
JMenuItem menuFilePlay = new JMenuItem("New");
JMenuItem menuFileAbout = new JMenuItem("About");
JMenuItem menuFileHelp = new JMenuItem("Help");
menuFile.add(menuFilePlay);
menuHelp.add(menuFileAbout);
menuHelp.add(menuFileHelp);
menuFile.add(menuFileExit);
menuBar.add(menuFile);
menuBar.add(menuHelp);
     frame.setJMenuBar(menuBar);
frame.setSize(1025, 769);
JLabel temp3 = new JLabel(new ImageIcon("EQ2_000000.gif"));     
JPanel temp4 = new JPanel();
temp4.add(temp3);
frame.getContentPane().add(temp4);
frame.setVisible(true);
frame.setIconImage(new ImageIcon("bear.gif").getImage());
menuFileExit.addActionListener
new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
menuFileAbout.addActionListener
new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame About = new JFrame("About");
About.setSize(200, 200);
About.setIconImage(new ImageIcon("bear.gif").getImage());
                    JLabel temp = new JLabel(new ImageIcon("bear.gif"));     
                    JPanel temp2 = new JPanel();
                    temp2.add(temp);
                    About.setContentPane(temp2);
                    About.setVisible(true);
menuFileHelp.addActionListener
new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame About = new JFrame("Help");
About.setSize(200, 200);
About.setIconImage(new ImageIcon("bearr.gif").getImage());
                    About.setVisible(true);
     frame.addWindowListener
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
frame.addKeyListener
new KeyAdapter() {
public void keyPressed(KeyEvent ke) {
                    switch (ke.getKeyCode()) {
               case KeyEvent.VK_LEFT:
               break;
case KeyEvent.VK_RIGHT:
break;
                    case KeyEvent.VK_UP:
                         frame.getContentPane().removeAll();
                         position = position + 1;
                         JLabel temp7 = new JLabel(new ImageIcon("pics/EQ2_00000" + position + ".gif"));     
                    JPanel temp8 = new JPanel();
                    temp8.add(temp7);
                    frame.getContentPane().add(temp8);
                    System.out.print(" u, " + position );
               break;
case KeyEvent.VK_DOWN:
     frame.getContentPane().removeAll();
position = position - 1;
                         JLabel temp5 = new JLabel(new ImageIcon("pics/EQ2_00000" + position + ".gif"));     
                    JPanel temp6 = new JPanel();
                    temp6.add(temp5);
                    frame.getContentPane().add(temp6);
                         System.out.print(" d, " + position);
}

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class KeyControl
    BufferedImage[] images;
    int imageIndex;
    JLabel label;
    public KeyControl()
        loadImages();
        imageIndex = 0;
        label = new JLabel(new ImageIcon(images[0]));
        //label.requestFocusInWindow();
        registerKeys(label);
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(label);
        f.setSize(400,400);
        f.setLocation(200,200);
        f.setVisible(true);
    private void changeImage(int index)
        label.setIcon(new ImageIcon(images[index]));
        label.repaint();
    private Action up = new AbstractAction()
        public void actionPerformed(ActionEvent e)
            imageIndex = (imageIndex - 1) % images.length;
            if(imageIndex < 0)
                imageIndex = images.length - 1;
            changeImage(imageIndex);
    private Action down = new AbstractAction()
        public void actionPerformed(ActionEvent e)
            imageIndex = (imageIndex + 1) % images.length;
            changeImage(imageIndex);
    private void registerKeys(JComponent c)
        c.getInputMap().put(KeyStroke.getKeyStroke("UP"), "UP");
        c.getActionMap().put("UP", up);
        c.getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "DOWN");
        c.getActionMap().put("DOWN", down);
    private void loadImages()
        String[] fileNames = { "greathornedowl.jpg", "mtngoat.jpg" };
        images = new BufferedImage[fileNames.length];
        for(int j = 0; j < images.length; j++)
            try
                URL url = getClass().getResource("images/" + fileNames[j]);
                images[j] = ImageIO.read(url);
            catch(MalformedURLException mue)
                System.err.println("url: " + mue.getMessage());
            catch(IOException ioe)
                System.err.println("read: " + ioe.getMessage());
    public static void main(String[]args)
        new KeyControl();
}

Similar Messages

  • I need helping using iAds in my application.

    I need helping using iAds in my application. I currently am not using any storyboards. I am using Sprite builder for my UI.
    I attatched an image ot show all the different file name I have.
    Everyone is being used & they all work fully.
    The "iAdViewController.h & .m" files are just example codes I looked up and was messing with so that my iAd can work.

    I wouldn't even be able to use the Mathscript node in an executable? 
    What I am trying to do is make a user configurable data stream. 
    They tell me how many bytes are in the stream and what parameters they
    want to be put in to it.  Currently I have to make vi's that are
    called dynamicaly to make the parameters.   Then recompile
    the code and send it to them.  This is somewhat of how the config
    file is set up so I know how to make the data.
    Data_Type  foo
    Bytes 30
    parameter_name        
    function           
       byte#          format
    sync              
    foo_sync            
    29               int
    time                              
    foo_time             
    1,2,3,4       double
    If I can't use MathScript to allow the user to make there own functions
    is there another way that I might be able to do this so I do not have
    to recompile the code atleast?  Were I might just be able to make
    the new function and send that to them.
    Any Idea would be great.

  • Please help me!--rendering makes the images or video blurry (very pixelated) deteriorates the image  Adobe Premier Elements 13  need help!  .jpg and mpeg images,  but I have never "rendered" before since I got APE 13 about 6 weeks ago.  I am desperate for

    Please help me!--rendering makes the images or video blurry (very pixelated) deteriorates the image  Adobe Premier Elements 13  need help!  .jpg and mpeg images,  but I have never "rendered" before since I got APE 13 about 6 weeks ago.  I am desperate for assistance!

    That's going to be a ridiculous waste of money and energy.
    First of all, the current ATI drivers don't support multiple GPUs, so at the moment even a single 4870X2 would be only a 'normal' 4870 (which is quite a speed beast already). GFX drivers evolve rapidly, so things might look different next month, but when it comes to Linux and hardware there's one Golden Rule: stay away from the newest stuff and wait for proper support to get coded.
    I also wonder what power supply could possibly cope with the differences between idle and full load; that's way beyond 400W. But then, I'm one of those "quiet&green" types where >100W idle is already a bit much.
    I kind of understand that you want to get it done and not worry about hardware for the next 10 years or so, but that's simply not how the hardware world works and never did. At least not for the average consumer.

  • Re: Beginner needs help using a array of class objects, and quick

    Dear Cynthiaw,
    I just read your Beginner needs help using a array of class objects, and quick of Dec 7, 2006 9:25 PM . I really like your nice example.
    I also want to put a question on the forum and display the source code of my classe in a pretty way as you did : with colors, indentation, ... But how ? In html, I assume. How did you generate the html code of your three classes ? By help of your IDE ? NetBeans ? References ?
    I already posted my question with six source code classes ... in text mode --> Awful : See "Polymorphism did you say ?"
    Is there a way to discard and replace a post (with html source code) in the Sun forum ?
    Thanks for your help.
    Chavada

    chavada wrote:
    Dear Cynthiaw,
    I just read your Beginner needs help using a array of class objects, and quick of Dec 7, 2006 9:25 PM . I really like your nice example.You think she's still around almost a year later?
    I also want to put a question on the forum and display the source code of my classe in a pretty way as you did : with colors, indentation, ... But how ?Just use [code] and [/code] around it, or use the CODE button
    [code]
    public class Foo() {
      * This is the bar method
      public void bar() {
        // do stuff
    }[/code]

  • HT5622 i need help using the icloud it is not making any since to me can some one call me and help me with it please don't try to help me through email i need to talk and listen i don't understand instruction by reading

    i need help using the icloud it is not making any since to me can some one call me and help me with it please don't try to help me through email i need to talk and listen i don't understand instruction by reading.
    <Phone Number Edited by Host>

    You aren't addressing anyone from Apple here.  This is a user forum.
    You might want to call a neaby Apple store to see if they have a free class you could attend.

  • Need help using dbms_scheduler to submit an immediate job on the database

    Hi. I need help using dbms_scheduler to submit an immediate job on the database. Essentially I want to issue a one-time call to an Oracle Stored Procedure - this procedure will then send an email. I've never used dbms_scheduler before, but here's what I have so far.
    So my Program is a stored database procedure named 'TTMS.dropperVacationConflict_Notify', but my problem is that I need to pass 3 parameter values to this job each time I run it. This is what I can't figure out. The procedure expects an 'Id' as number(5), begin_dt as a date, and end_dt as a date.
    How do I pass these values when I run my job? Can anyone help?
    begin
        dbms_scheduler.create_program(program_name=> 'PROG_DROPVACCONFLICTS_NOTIFY',
         program_type=> 'STORED_PROCEDURE',
         program_action=> 'TTMS.dropperVacationConflict_Notify',
         number_of_arguments => 3,
         enabled=>true,
         comments=> 'Procedure to notify PCM of a Dropper Vacation Conflict. Pass in Dropper Id, Begin_dt, and End_dt');
    end;
    begin
        dbms_scheduler.create_schedule
        (schedule_name=> 'INTERVAL_EVERY5_MINUTES',
         start_date=> trunc(sysdate)+18/24,
         repeat_interval => 'freq=MINUTELY;interval=5',
         end_date => null
         comments=> 'Runtime: Every day all 5 minutes, forever'
    end;
    begin
        dbms_scheduler.create_job
        (job_name => 'JOB_DROPVACCONFLICTS_NOTIFY',
         program_name => 'PROG_DROPVACCONFLICTS_NOTIFY',
         schedule_name => 'INTERVAL_EVERY5_MINUTES',
         enabled => true,
         auto_drop => true,
         comments => 'Job to notify PCM of Dropper Vacation Conflicts'
    end;
    /And I use this to execute the job as needed...
    begin
        dbms_scheduler.run_job('JOB_DROPVACCONFLICTS_NOTIFY',true);
    end;
    /

    Duplicate Post
    Need help using dbms_scheduler to submit an immediate job on the database

  • Need help using LabVIEW 7.1 and data socket to transfer images

    I need help transferring images across a company network using: LV 7.1, IMAQ 3.0 and a PCI 1407 image aquisition card. I am trying to use datasocket to transfer video image across a company network. I have attached sample vis. Thanks in advance for your help.
    I. Cyr
    Attachments:
    Vibration Chamber Vision_Cyr.llb ‏129 KB

    Hello –
    Something that you need to consider is the fact that when you are sending an image over Data Socket, it is not really the image what is being transferred but a pointer to the image. Please take a look into this Knowledgebase.
    Also, you might find this Example Program useful.
    Hope this helps.
    S Vences
    Applications Engineer
    National Instruments

  • Need help using 1440x1080 footage in a SD 4:3 timeline

    Hi Folks,
    I need to use some AVCHD footage in a normal SD 4:3 timeline destined for a dvd. I'm trying to figure out the best workflow. The client provided a usb hard drive with some files extracted from a Sony hdr-sr5. I know the first problem is ingesting these files. I'm on a PPC G5 so I know using the L&T window isn't an option. I have experimented with using Toast to convert the files to ProRes 422 and that seems to work to some degree. I'm probably not doing it correctly because the footage shows up in FCP looking somewhat squished down and with letterbox bars above and below. In Toast the files indicate that they are h.264 1440x1080. When viewing in the Toast Video Player they get 'expanded' to 1920x1080. So I'm not sure why the footage gets letterboxed when converted to ProRes. So I guess that's the first part of the problem.
    The second issue is that I just need to use the center crop of the image in a SD timeline. It's just talking head stuff so there's no problem cropping down. But I'm just not sure I understand the correct procedure for doing that once I have the footage ingested in the proper format.
    I could definitely use some guidance here as the whole AVCHD thing is new to me.
    Thanks,
    Chris

    Can't help with your first question, but create an sd 4:3 timeline. Drop your hd footage into it. It will come in letterboxed. In the motion tab, remove any distortion, scale and position to your liking

  • I need help with searching for an image inside another image

    I need to write a program that checks for a specific image (a jpg) inside another, larger, image (a jpg). If so, it returns a value of true. Can anyone help me?
    Winner takes all. First person to solve this gets 10 dukes.
    Please help.

    Hi,
    I would use a full screen image Sequence made with png for transparency and put your article behind. no auto play, stop at first and last image. and information for swipe to display article.

  • Need help with full screen slideshow image quality

    I am looking to display some images with full screen slideshow. The images I add are very large, over 5000 wide. When I publish the site some images retain their quality while others lose it and look like crap. Why would this be and how can I fix it. I tried to resize them to the 2560x1707 that muse does, and then add them. This doesn't change the end result of poor quality.

    Go to Assets Panel and locate the image you want to use at original size. Right click the image and chose 'Import Larger Size'.
    See if that helps retain quality for that image, since Muse does not resize/interpolate that image for you.
    Cheers,
    Vikas

  • Need help using WEB module in Lightroom 2 for .mac/mobile me accounts

    Hello,
    I need help in finding the Server path information for Lightroom 2.  I am trying to use the Web module of Lightroom and build a website and instead of going through another hosting service, I want to use my Mobile ME account, can't I do that?
    I have the user name and password obviously but what is the server path, protocol, path?
    Help please!
    Thanks
    Ray

    For those Mac Users using iWeb, MobileMe, and Lightroom 2, here are step-by-step instructions on how to create a web gallery in Lightroom, upload the gallery to MobileMe, and finally, how to link the uploaded files to the wesite you created in iWeb.
    1. In the Lightroom Library module, create a collection of photos you want to display in your web gallery.  For illustration purposes, we will call your collection Sunsets.  Once created, it will be listed under Collections in the left panel of Lightroom.
    2. Switch to the Lightroom Web module and select the Sunsets collection (from the panel on the left of the screen.)
    3. Chose whichever template you like (from the list of Templates in the left panel).
    4. Fine tune the appearance of the gallery using the controls in the right hand panel of Lightroom 2.
    5. When you are satisfied with the gallery’s appearance, use your keyboard to type Command-S.  That will save your template settings (give it a unique name when saving).
    6. Open up Finder on your Mac.  Inside your username folder, create a new folder… I'll call it Web Files.  (You can choose any name you like, and locate the file anywhere on your Mac HD.)  You have just created the folder username/Web Files.
    7. Back in the Lightroom Web module, chose Export, at the bottom of the right panel, and export your gallery to the folder you just made (e.g. export to username/Web Files).  By doing so, you will have created /username/Web Files/Sunsets.
    8. Once again open Finder on your Mac.  Go to /username/Web Files/Sunsets and you will see 3 files in the Sunsets folder: bin, index.html, and resources.
    9. Open a second Finder window and in it, click on your iDisk icon.  You will soon see all of the files on your iDisk.
    10. In iDisk, click on the folder called /Web.  You will now see the /Sites folder inside the /Web folder.  I.e., /Web/Sites.
    11. Drag the Sunsets file from your Mac HD to the /Sites folder on your iDisk.  E.g, drag Sunsets from /username/Web Files/Sunsets on your Mac HD to the /Sites folder in iDisk /Web/Sites.  The Sunsets folder (and the three files it contains) will now upload to your iDisk on MobileMe.
    12. Open iWeb on your Mac. Add a new page to your website.  Call it “Galleries,” or anything you like. (You can also use an existing page if you wish.)
    13.  On that “Galleries” web page (or on an existing web page), create a picture icon, or a word, or a symbol, or anything else that you will activate as a hyperlink to your iDisk web files - specifically, you will link it to the Sunsets folder you just uploaded to iDisk.
    14. Activate the hyperlink in iWeb’s Inspector.  In the URL box, type:
    http://web.me.com/username/Sunsets  (Don’t forget to substitute your name for “username” and the name of your gallery for “Sunsets.”)
    15. Save your website in iWeb, and then publish your site.
    You will NOT see your gallery in iWeb – you will see only the link to the gallery that you uploaded to iDisk..  To view your gallery, either make hyperlinks active, using the Inspector in iWeb and click on he link to the gallery, or visit your website on the internet.  If you want to edit your gallery, you will have to do that in Lightroom… then repeat steps 7 – 11.  You cannot edit your gallery in iWeb, but you can use iWeb to change the appearance of the link to your gallery, or to change it’s location within your website.

  • I need help using Premier Pro CS5 to create a short time-lapse video . . .

    Hello I am new to Prremier Pro and need help creating a short time-lapse video. I have a Sony CyberShot TSC-70 and a Canon ZR930 to capture images and video but none do time-lapse automatically (I think). I also have Premier Elements 9 and Photoshop CS5 if needed.
    I am late completely this project and need help. Suggestions urgently needed.
    Thanks,
    billy

    Nice to know Elements has that function! I don't have elements, and did a one hour into 15 seconds timelapse in Premiere by importing my one hour clip into the timeline, then using the time tool within the effects panel to speed the file up by 1000% (maximum allowable in a timeline, apparently...) Then I nested that sped up sequence within a new sequence, and did it again... I think I had to do it twice, but I got a nice  15 second sunset timelapse out of a one-hour shoot by using that route.

  • Need help using Apple Remote Desktop for remote family members

    I am new to ARD and need help. I know there are solutions to do what I am trying to do through LogMeIn and Teamviewer - but I have LogMein right now and the free edtition is going away and I think Teamviewer will do the same sooner or later. I have remote desktop but hadnt used it, so I thought it would be a good thing to implement so I wont have to worry about paying fees for services like LogMein or teamviewer down the road.  Long story short I need to be able to remote help friends and family members with their macs and using applications, mostly through screen sharing and control and file sharing. All of the folks id like to help have home ( not business style ) internet service whith DHCP and non-static IP's.  I have set this up for myselft to test it and I can be at work and search my homes IP address and I can see all the macs with ARD on them and it all works perfectly.  I have a mac mini running Lion Server so the ports are forwarded to that server at my home - this is the only think I can think of that is making my home work and my friends not.  But when I try to help my friends and family after I type in their IP and it scans it sees their computer - ( it shows a grayed out icon and their IP ) but nothing else.  I cannot control or screen share. It says it cannot verify.  I helped my friends put the ARD client ( most up to date client ) on their macs as well.  I was hoping that using ARD would mean not haivng to set up my friends and family's routers for port fowarding and all those details.  Is there anything I can do using ARD to be able to type in my friends IP address have it scan and then see all their MACS at their home and pick the one that needs attention/ help, without port forwarding or heavy set up ?  I guess the root question here is how or what is best way to set up ARD to be used to help people remotley when they are all home users as well, no port forwarding, no static-IP, that kinda thing.
    Any help is appreciated - Im trying to use ARD and not a 3rd party app since im afraid even if they are free now they wont stay that way. Please let me know throughts and sugesstions ;p)

    I poked around a bit and the file seems to be:
    /Library/Application Support/Macromedia/mms.cfg
    I'd like to get some confirmation from Adobe that this is the correct file to push, though (it seems like it as it only contains this):
    AutoUpdateDisable=0
    SilentAutoUpdateEnable=1

  • Need Help using WRT54GL as Wireless Bridge for Xbox

    Hi.
    I need help configuring my WRT54GL as a wireless bridge for my xbox.
    I have a Billion BiPAC 7404VGO currently in service as my main router/modem. i.e. I have my ADSL connection and PC connected to this. I also connect to this with a laptop.
    I have an original xbox at the other end of the house (cat5 NOT an option).
    Basically I want to connect my xbox to the rest of network. I have a WRT54GL I can use for this. I just dont know how to set it up.
    The WRT54GL has Firmware Version: v4.30.7 (out of the box).
    My Wireless network is using WPA.
    I have a VPN setup through to work via the Billion.
    The idea is to stream media from my PC to the xbox (media centre).
    Any help would be HUGELY appreciated.
    Thanks in advance.
    Katman

    A wireless router is a device which requires its own wired internet connection. A wireless router is not a wireless access point like the Linksys WAPs. A wireless router does not connect wireless to other wireless routers/APs with standard Linksys firmware. With Linksys firmware you need a WAP54G or similar. The WAPs support wireless bridging and repeater mode.
    If you already have a WRT54GL then you have to install a 3rd party firmware which adds wireless bridging capabilities. Read the wikipedia article on "WRT54G" for information about which WRT models support 3rd party firmware and an overview of projects and links.
    Remember, however, that you may brick your router if you install a 3rd party firmware incorrectly and you probably void the warranty if you install 3rd party firmware (it is even possible to find out after you restore the original Linksys firmware if you don't clear the NVRAM before).

  • I have a TBI and need help using ADOBE products

    I was injured/blown up by a suicide bomber in Iraq.  I have a brain injury.  I am no longer the sharpest knife in the draw.  My brain does not follow along like it used to, and I need someone with some patience to help me go through some Adobe proucts to that I may learn them, and yes.. I can learn them... if someone will help me.  The tutorials are exceedingly difficult/impossible for me to follow and make my head want to come from together.
    I have the following products that I need help with please:
    CS5 Premium
    Photoshop Elements 2.0
    Creative Suite 5
    Visual Communicator 3
    Acrobat 9.0 pro
    I am not rich.. I am on a fixed income but am willing to pay whatever I can if you will help me.
    [email protected]

    First, you have my thanks and respect.  I wish I had time to dedicate to helping you.
    I do try to treat my own customers in my business as I would want to be treated.  It's amazing the number of people who come back after I answer their queries with comments like "Wow, it's nice to get a real person to answer, and quickly too!"
    -Noel

Maybe you are looking for

  • Adobe Media Encoder CS4 Encoding Error

    I got an error when Adobe Media Encoder CS4 encoding which is the crash of ImporterProcessServer. It crashes the halfway of the encoding process. I restarted my comp and tried several times before but the results still the same. Sometimes ImporterPro

  • Freehand - The Adobe Makeover.

    Is it just me or do you find yourself banging your head on the desk every time you try and use Illustrator. I can't do anything without heading to the help files every 10 mins, then giving up and heading back to FreeHand. Don't get me wrong, I am lov

  • How do I eliminate snap.do from Firefox

    Getting rid of this damned snap.do is driving me up a wall. Sure hope someone can help. I've run Regedit and eliminated one instance of snap.do. I've deleted the snap.do or snapdo cookies from Firefox many times but the cookies keep coming back. My p

  • IDT HD Audio device missing. Drivers don't install.

    Product Name:  HP Pavilion HPE h8-1214 Desktop PC Product Number: QW701AA OS: Windows 8 Pro x64 No audio Device installed. (unless i connect any usb audio devices or my hdmi from graphics card). When any of those are connected it does recognize them.

  • B&W jpeg - change date (also master) - unsupported image format

    Seeing postings for unsupported image format I found one to be reproducible: - scan a picture in black & white, store it as B&W jpeg (I use Vuescan for that) - import it into aperture - change the date of the picture to the past (I scan old postcards