RSS Forums RSS
Please support our Java advertiser: Lunarpages Java Web Hosting
Views: 7271 | Replies: 6
Reply
Join Date: Jul 2005
Posts: 3
Reputation: acunlai is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
acunlai acunlai is offline Offline
Newbie Poster

adding keylistener

  #1  
Jul 17th, 2005
hi guys, i need to write a program about slide show in java, please help me with these wrong code :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class myframe extends JWindow
{

myframe()
{
setLocation(200,200);
setSize(250,150);
addKeyListener(new Listen());
show();


}


class Listen extends KeyAdapter
{
public void keyPressed(KeyEvent e){
if (e.getKeyCode() == e.VK_ENTER)
{

System.exit(0);}
}
}

}

public class key_listener
{
public static void main(String[] args )
{
new myframe();
}
}

thanks in advance
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jun 2004
Location: H4x0rville
Posts: 2,105
Reputation: server_crash is on a distinguished road 
Rep Power: 9
Solved Threads: 18
server_crash's Avatar
server_crash server_crash is offline Offline
Postaholic

Re: adding keylistener

  #2  
Jul 18th, 2005
You have to override all the keylistener methods:

	 public void keyTyped(KeyEvent key) 
	 {
	      
	 }
	 public void keyPressed(KeyEvent ke) 
	 {
	      
	 }
	 public void keyReleased(KeyEvent key) 
	 {
         }
Reply With Quote  
Join Date: Jul 2005
Posts: 3
Reputation: acunlai is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
acunlai acunlai is offline Offline
Newbie Poster

kengs slideshow

  #3  
Jul 18th, 2005
I found a slideshow program written in java at www.geocities.com/kengssoft/slideshow/

but I got that the ' addKeyListener ' didn't run properly , when it executed, it looked likes could not accept the 'Enter' key , I have j2re 1.4.2 on Win Xp
The following lines are the codes :

// SSWindow.java
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

/**
* The Slide Show window
*/
public class SSWindow extends JWindow implements KeyListener,
ActionListener, FileFilter
{

/** The image label */
JLabel imageLabel;

/** The parent */
JFrame parent;

/** The directory */
String direc;

/** List of files in the directory */
String[] filenames;

/** Delay in milliseconds */
int delay;

/** Counter */
int count;

/** The timer that displays the Slide Show */
Timer timer;



/* Constructor */
public SSWindow(JFrame par, String direc, float seconds)
{
super(par);
parent = par;

this.direc = direc;
delay = (int)(seconds*1000);

// Add label to center of screen
Container back = getContentPane();
imageLabel = new JLabel();
back.setBackground(Color.black);
back.add(imageLabel);
imageLabel.setVerticalAlignment(JLabel.CENTER);
imageLabel.setHorizontalAlignment(JLabel.CENTER);

// Display the window
JFrame loading = JFrame();

addKeyListener(this);
setSize(getToolkit().getScreenSize());
setVisible(true);

// Get the names of the files
File[] files = (new File(direc)).listFiles(this);
filenames = new String[files.length];

//System.out.println("Filenames.length = "+filenames.length);

for (int i=0; i<filenames.length; i++) {
filenames[i] = files[i].toString();
}
count = -1;
timer = new Timer(delay, this);
timer.start();
} // End constructor

/** Function that changes the image */
public void updateImage()
{
try {
imageLabel.setIcon(new ImageIcon(filenames[count]));
} catch(Exception ex) {
timer.stop();
}
} // End updateImage()

/** Handle the key released event from the text field. */
public void keyPressed(KeyEvent e)
{
int keyCode = e.getKeyCode();

switch(keyCode)
{
// If ESC is pressed, then quit
case KeyEvent.VK_ESCAPE:
timer.stop();

System.exit(0);
break;

// If ENTER is pressed, then go back to Main Menu
case KeyEvent.VK_ENTER:
timer.stop();
parent.setVisible(true);
SSWindow.this.dispose();
break;
}

} // end keyReleased()

/* These have to implemented */
public void keyTyped(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}

public void actionPerformed(ActionEvent e) {
count++;
/*
// If we have gone past the last file,...
// return to beginning.
if (count > filenames.length) {
count = 0;
}
*/
// System.out.print(new Integer(count).toString()+" ");
updateImage();
} // End actionPerformed()

public boolean accept(File file)
{
String filename = file.toString();
if (filename.endsWith(".tiff") ||
filename.endsWith(".tif") ||
filename.endsWith(".gif") ||
filename.endsWith(".jpeg") ||
filename.endsWith(".jpg")) {
return true;
} else {
return false;
}
} // End accept()

} // End class SSWindow

And here is the main() class :

// SSFrame.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

/**
* The Slide Show's Opening Screen
*/
public class SSFrame extends JFrame
{

JTextField direcText, delayText;
JFileChooser fc;

static final String
WINTITLE="Kengs' Slide Show Viewer",
DIRECTORY="Directory : ",
BROWSE="Browse...",
DELAY="Delay : ",
TIME="2",
SECONDS="seconds",
START="Start SlideShow!",
ADVANCED="Advanced...",
ABOUT="About...",
EXIT="Exit";

public static void main(String args[])
{
SSFrame ss = new SSFrame();
} // End main()

public SSFrame()
{

// Set the title
setTitle(WINTITLE);

Container back = getContentPane();
back.setLayout(new GridLayout(0,1));

back.add(new JLabel(new ImageIcon("images/kss.gif")));

fc = new JFileChooser();
fc.setFileSelectionMode(fc.DIRECTORIES_ONLY);

JPanel p1 = new JPanel();
p1.add(new JLabel(DIRECTORY, new ImageIcon ("images/directory.gif"), JLabel.CENTER));
p1.add(direcText = new JTextField(20));
JButton browseButton = new JButton(BROWSE, new ImageIcon("images/browse.gif"));
browseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int returnVal = fc.showOpenDialog(SSFrame.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
direcText.setText(fc.getSelectedFile().toString());
}
}
});
p1.add(browseButton);

back.add(p1);

JPanel p1e = new JPanel();
p1e.add(new JLabel(DELAY, new ImageIcon("images/delay.gif"), JLabel.CENTER));
p1e.add(delayText = new JTextField(TIME, 5));
p1e.add(new JLabel(SECONDS));
back.add(p1e);

JPanel p2 = new JPanel();
JPanel butPanel = new JPanel();
butPanel.setBorder(BorderFactory.createLineBorder(Color.black));
JButton startButton = new JButton(START, new ImageIcon("images/start.gif"));
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SSFrame.this.hide();
SSWindow s = new SSWindow(
SSFrame.this, direcText.getText(),
new Float(delayText.getText()).floatValue()
);
}
});
butPanel.add(startButton);
p2.add(butPanel);
JButton aboutButton = new JButton(ABOUT, new ImageIcon("images/about.gif"));
aboutButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Should display message box here
}
});
p2.add(aboutButton);
JButton exitButton = new JButton(EXIT, new ImageIcon("images/exit.gif"));
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
p2.add(exitButton);
back.add(p2);

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

pack();
setVisible(true);
} // End constructor

} // End class MainFrame

Please again help me solve this problem. :-|
Thanks for the help. :p
Reply With Quote  
Join Date: Jun 2004
Posts: 604
Reputation: freesoft_2000 is an unknown quantity at this point 
Rep Power: 6
Solved Threads: 6
freesoft_2000 freesoft_2000 is offline Offline
Practically a Master Poster

Re: adding keylistener

  #4  
Jul 19th, 2005
Hi everyone,

First what do you want the program to do when you press enter??

Try this

public class A implements KeyListener
{

public void keyTyped(KeyEvent key) 
{
}
public void keyPressed(KeyEvent key) 
{
int code = key.getKeyCode();

if(code == KeyEvent.VK_ENTER)
{
//Do something here
System.out.println("You pressed enter");
}

}

public void keyReleased(KeyEvent key) 
{
}

}

Try running the above program. If it does not work then most probably it is a bug.

Let me know what happens

Here by the way here is an article on the keylistener with sample code

http://javaalmanac.com/egs/java.awt....KeyEvents.html

I hope this helps you

Yours Sincerely

Richard West
Microsoft uses "One World, One Web, One Program" as a slogan.
Doesn’t that sound like "Ein Volk, Ein Reich, Ein Führer" to you, too?
— Eric S. Raymond

Tell me what type of software do you like and what would you pay for it

http://www.daniweb.com/techtalkforums/thread19660.html
Reply With Quote  
Join Date: Jul 2005
Posts: 3
Reputation: acunlai is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
acunlai acunlai is offline Offline
Newbie Poster

Re: adding keylistener

  #5  
Jul 19th, 2005
Hi everyone,
This listing code doesn't work for me , any suggestion welcome please...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class MyKeyListener extends KeyAdapter
{
public void keyReleased(KeyEvent key)
{ }
public void keyTyped(KeyEvent key)
{ }
public void keyPressed(KeyEvent key)
{
// Check for key characters.
int code = key.getKeyCode();
if(code == KeyEvent.VK_ENTER)
{

System.exit(0);
}
}
}
public class myframe
{
public static void main(String[] args)
{
JWindow wnd = new JWindow();
wnd.setSize(250,150);
wnd.show();
wnd.addKeyListener(new MyKeyListener());
}
}
Reply With Quote  
Join Date: May 2008
Posts: 45
Reputation: TheWhite is an unknown quantity at this point 
Rep Power: 1
Solved Threads: 0
TheWhite TheWhite is offline Offline
Light Poster

Re: adding keylistener

  #6  
May 24th, 2008
instead of extending KeyAdapter, try implementing KeyListener
Reply With Quote  
Join Date: Aug 2007
Location: New Hampshire
Posts: 3,432
Reputation: jasimp will become famous soon enough jasimp will become famous soon enough 
Rep Power: 9
Solved Threads: 34
jasimp's Avatar
jasimp jasimp is offline Offline
Nearly a Senior Poster

Re: adding keylistener

  #7  
May 24th, 2008
3 year old thread. Please do not revive these old threads.
A room without books is like a body without a soul.
Facts are meaningless. They can be used to prove anything that is even remotely true.
Go then, there are other worlds than these.
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes
Forums | Blogs | Tutorials | Code Snippets | Whitepapers | RSS Feeds | Advertising
All times are GMT -4. The time now is 12:47 pm.
Newsletter Archive - Sitemap - Privacy Statement - Acceptable Use Policy - Contact Us
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC