Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

JPanel is not getting Keylistener

843806Oct 27 2007 — edited Oct 29 2007
Hi,
I have a JApplet window in that window I have added a JPanel. In that JPanel I had drawn a image. I added the keyListener to the JPanel. But the Key listener is not working


2. If i click the empty panel after i press "1" the key listener is working? why it happen?

Any one knows please tell me ?

My code is
package fingerprints.fingerprintscapture;
import fingerprints.fingerprint.scanners.*;
import summary.*;
import demographic.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import annwyn.webservice.*;
import java.util.*;
import javax.swing.BorderFactory;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import com.jniwrapper.*;
import com.jniwrapper.jawt.*;
import com.jniwrapper.win32.ui.Wnd;
import java.net.*;
import java.io.*;
import java.awt.image.*;
import javax.media.jai.operator.*;
import javax.media.jai.*;
import com.sun.media.jai.codec.*;
import javax.comm.*;
import java.awt.image.BufferedImage;
import javax.media.jai.widget.ScrollingImagePanel;
import java.awt.image.renderable.ParameterBlock;
import javax.imageio.ImageIO;

public class FingerPrint extends JPanel
{
JPanel fingerpanel,button_panel,template_panel,quality_panel;
Panel live_panel=null ;
JRadioButton button1 = null,button2=null,button3=null;
JButton start,match,settings,clear;
ButtonGroup buttongroup=null;
JPanel right_empty,live_empty,left_empty,right_title,left_title,live_title;

Int usb_ok=new Int(0);

ButtonListener blistener=null;
public FingerPrint()
{
buttongroup = new ButtonGroup();
button1=new JRadioButton(new ImageIcon(getClass().getResource("image/Blue_thumb_R.gif")));
button2=new JRadioButton(new ImageIcon(getClass().getResource("image/Blue_index_R.gif")));
buttongroup.add(button1);
buttongroup.add(button2);
setBackground( Color.gray );
setLayout(new BorderLayout());
fingerpanel = new JPanel();
add(fingerpanel,BorderLayout.NORTH);
fingerpanel.setFocusable(true);
fingerpanel.addKeyListener(new MyKeyListener());
fingerpanel.addFocusListener(new FocusListener());
System.out.println(" fingerPanelfocusable ? " + fingerpanel.isFocusable());
try
{

ImageIcon icnn=new ImageIcon(getClass().getResource("image/newright.gif"));
Image im=icnn.getImage();
ImagePanel rightPanel = new ImagePanel(im);

right_empty=new JPanel();
right_empty.setBackground(new Color(74,125,181));
right_empty.setLayout(new BorderLayout());
right_title=new JPanel();
JLabel ri_label=new JLabel("Right Finger");
ri_label.setForeground(Color.white);
ri_label.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,13));
right_title.add(ri_label);
right_title.setBackground(Color.blue);
right_empty.add(right_title,BorderLayout.NORTH);
right_empty.add(rightPanel,BorderLayout.CENTER);
fingerpanel.setLayout(new GridLayout(1,3,20,20));
rightPanel.setBackground(new Color(74,125,181));
fingerpanel.setBackground(new Color(74,125,181));
rightPanel.add(button1);
button1.setBounds(7,104,45,47);

rightPanel.setFocusable(true);
rightPanel.addKeyListener(new MyKeyListener());




System.out.println(" rightPanelfocusable ? " + rightPanel.isFocusable());
rightPanel.addFocusListener(new FocusListener());
blistener = new ButtonListener();
button1.addActionListener(blistener);


fingerpanel.add(right_empty);

live_panel=new Panel();
live_panel.setBackground(Color.white);
live_empty=new JPanel();
live_empty.setBackground(new Color(74,125,181));
live_empty.setLayout(new BorderLayout());
live_title=new JPanel();
JLabel li_label=new JLabel("Live Finger");
li_label.setForeground(Color.white);
li_label.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,13));
live_title.add(li_label);
live_title.setBackground(Color.blue);
live_empty.add(live_title,BorderLayout.NORTH);
live_empty.add(live_panel,BorderLayout.CENTER);
live_panel.setFocusable(true);
live_panel.addKeyListener(new MyKeyListener());
live_panel.addFocusListener(new FocusListener());
fingerpanel.add(live_empty);

ImageIcon icn=new ImageIcon(getClass().getResource("image/newleft.gif"));
Image imag=icn.getImage();
ImagePanel lefttPanel = new ImagePanel(imag);
left_empty=new JPanel();
left_empty.setBackground(new Color(74,125,181));
left_empty.setLayout(new BorderLayout());
left_title=new JPanel();
JLabel le_label=new JLabel("Left Finger");
le_label.setForeground(Color.white);
le_label.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,13));
left_title.add(le_label);
left_title.setBackground(Color.blue);
left_empty.add(left_title,BorderLayout.NORTH);
left_empty.add(lefttPanel,BorderLayout.CENTER);
lefttPanel.add(button2);
button2.setBounds(255,100,40,47);
lefttPanel.setFocusable(true);
lefttPanel.addKeyListener(new MyKeyListener());
lefttPanel.addFocusListener(new FocusListener());
fingerpanel.add(left_empty);



}
catch(Exception ex)
{
ex.printStackTrace();
}


}

class FocusListener implements java.awt.event.FocusListener
{
public void focusGained(FocusEvent e)
{
System.out.println("focusGained1 " + e);
}

public void focusLost(FocusEvent e) {
System.out.println("focusLost1 " + e);
}
}


class ButtonListener implements java.awt.event.ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button1)
{
System.out.println("You Pressed button1");
}
}
}

public class MyKeyListener extends KeyAdapter
{
public void keyTyped(KeyEvent ke)
{
System.out.println("KeyTyped");

char code = ke.getKeyChar();

if(code == '1')
{
System.out.println("Pressed 1");

}

}
}

class ImagePanel extends JPanel //implements KeyListener
{
private Image img;
public ImagePanel(String imag)
{

this(new ImageIcon(imag).getImage());
setSize(img.getWidth(this),img.getWidth(this));


}
public ImagePanel(Image img)
{
this.img = img;
Dimension size = new Dimension(321,375);


setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
//this.setFocusable(true);
//this.addKeyListener(new MyKeyListener());
}

public void paintComponent(Graphics g)
{
g.drawImage(img, 0, 0,321,375,this);

}



}

}

Regards
Saravanan
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 26 2007
Added on Oct 27 2007
3 comments
272 views