ActionPerformed not working ??

Hi all, I have written this program to display a box for user to enter a value and display the computed value :-
import java.awt.*;
import javax.swing.*;
import java.text.*;
import java.awt.event.*;
public class ConvertMachine extends JFrame implements ActionListener
//class and instance variable declaration;
public static void main(String[] args)
new ConvertMachine();
public MetricMachine()
// Layout statements
ButtonToLeft.addActionListener(this);
ButtonToRight.addActionListener(this);
} //ConvertMachine statement
public void actionPerformed(ActionEvent evt)
if ( evt.getSource() == ButtonToLeft )
CmNumber = InchesNumber * 2.54;
nameField.setText("CM =" + CmNumber);
else if ( evt.getSource() == ButtonToRight )
InchesNumber = CmNumber / 2.54;
     nameField.setText("Inches =" + InchesNumber);
After I've complied , I set a breakpoint at
" ButtonToLeft.addActionListener(this) ". When I run the program and hit the breakpoint , it proceeds to the next statement and return to
" new ConvertMachine(); " and exit.
I could not understand why the ActionListener did not call the actionPerfomed fuinction.
Can anyone assist me?
Thanks

Sorry for all the trouble. Here is the code :-
import java.awt.*;
import javax.swing.*;
import java.text.*;
import java.awt.event.*;
public class ConvertMachine extends JFrame implements ActionListener
JPanel panel = (JPanel)this.getContentPane();
JPanel panel1 = new JPanel();
JButton ButtonToLeft = new JButton("<");
JButton ButtonToRight = new JButton(">");
GridBagLayout gridlayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JTextArea cmTextBox = new JTextArea();
JTextArea InchesTextBox = new JTextArea();
double CmNumber = 0.0;
double InchesNumber = 0.0;
public ConvertMachine()
{    ...................                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • ActionPerformed() not working correctly

    This class, ClassExplorer, displays information on a class. Can you tell me why the actionPerformed() method of class ExplorerButton is not working?
    import java.lang.reflect.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    public class ClassExplorer extends JFrame {
        private JPanel basicPanel = new JPanel();
        private JPanel methodPanel = new JPanel();
        private JPanel packagePanel = new JPanel();
        private JPanel innerPanel = new JPanel();
        public ClassExplorer( Class obj ) {
            setContentPane( new JTabbedPane() );
            JTabbedPane content = (JTabbedPane) getContentPane();
            content.addTab( "Basic", basicPanel );
            content.addTab( "Methods", methodPanel );
            content.addTab( "Package", packagePanel );
            String className = obj.toString();
            basicPanel.add( new JTitledLabel( "Name", className ) );
            String superclass = obj.getSuperclass().toString();
            basicPanel.add( new JTitledLabel( "Super-class", superclass ) );
            ExplorerButton superclassExplore = new ExplorerButton(
                "Explore Superclass...",
                obj.getSuperclass() );
            basicPanel.add( superclassExplore );
            String packageName = obj.getPackage().getName();
            packagePanel.add( new JTitledLabel( "Name", packageName ) );
            String packageVendor = obj.getPackage().getImplementationVendor();
            packagePanel.add( new JTitledLabel( "Vendor", packageVendor ) );
            String packageVersion = obj.getPackage().getImplementationVersion();
            packagePanel.add( new JTitledLabel( "Version", packageVersion ) );
            String packageTitle = obj.getPackage().getImplementationTitle();
            packagePanel.add( new JTitledLabel( "Title", packageVersion ) );
            pack();
            setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            setVisible( true );
        public static void main( String [] args ) {
            try {
                new ClassExplorer( Class.forName( "javax.swing.JButton" ) );
            } catch ( ClassNotFoundException cnfe ) {}
    class JTitledLabel extends JLabel {
        public JTitledLabel( String title, String text ) {
            super( text, SwingConstants.RIGHT );
            setBorder( new TitledBorder( new EtchedBorder(), title,
                TitledBorder.LEFT, TitledBorder.TOP ) );
    class ExplorerButton extends JButton implements ActionListener {
        private Class exploreTo;
        public void actionPerformed( ActionEvent ae ) {
            new ClassExplorer( exploreTo );
        public ExplorerButton( String text, Class c ) {
            super( text );
            exploreTo = c;
    }Please ant thank you in advance.

    You have not added the listener to the button.
    Add a constructor to the ExplorerButton class like so...
    class ExplorerButton extends JButton implements ActionListener
        private Class exploreTo;   
        public ExplorerButton()
           super();
           addActionLisener(this);  //THIS IS WHAT YOU ARE MISSING
        public void actionPerformed( ActionEvent ae )
            new ClassExplorer( exploreTo );   
        public ExplorerButton( String text, Class c )
            super( text );       
            exploreTo = c;   
    }This tells the class that it is listening to itself.
    N35Sy

  • Swing components in applet not working in web browser

    Hi Guys,
    I've created an applet which makes use of some swing components, but unfortunately, not all of them function properly in my web browser (internet explorer or Mozilla Firefox). Its mainly the buttons; the last buttons works and displays the correct file within the broswer, but the first 5 buttons do not work...
    any help please on how I can sort this problem out?
    Heres the code for my applet:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.applet.*;
    public class MainAppWindow extends JApplet
    int gapBetweenButtons = 5;
    final JPanel displayPanel = new JPanel(new BorderLayout());
    public void init()
       //Panel for overall display in applet window.
       JPanel mainPanel = new JPanel(new BorderLayout());
       mainPanel.add(new JLabel(new ImageIcon(getClass().getResource("images/smalllogo2.gif"))),BorderLayout.NORTH);
       //sub mainPanel which holds all mainPanels together.
       JPanel holdingPanel = new JPanel(new BorderLayout());
       //Panel for displaying all slide show and applications in.
       displayPanel.setBackground(Color.white);
       displayPanel.add(new JLabel(new ImageIcon(getClass().getResource("images/IntroPage.jpg"))),BorderLayout.CENTER);
       displayPanel.setPreferredSize(new Dimension(590,400));
       JPanel buttonPanel = new JPanel(new GridLayout(6,1,0,gapBetweenButtons));
       buttonPanel.setBackground(Color.white);
       JButton button1 = new JButton("User guide");
       button1.addActionListener(
         new ActionListener() {
              public void actionPerformed(ActionEvent e)
                   if(displayPanel.getComponents().length > 0)displayPanel.removeAll(); // If there are any components in the mainPanel, remove them and then add label
                   displayPanel.setBackground(Color.white);
                   displayPanel.add(new JLabel(new ImageIcon("images/UserGuide.jpg")));
                   displayPanel.revalidate(); // Validates displayPanel to allow changes to occur onto it, allowing to add different number images/applicaions to it.
       JButton button2 = new JButton("What is a Stack?");
       button2.addActionListener(
       new ActionListener() {
               public void actionPerformed(ActionEvent e)
                   if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
                   displayPanel.setBackground(Color.white);
                   displayPanel.add(new JLabel(new ImageIcon("images/WhatIsAStack.jpg")));
                   displayPanel.revalidate();
       JButton button3 = new JButton("STACK(ADT)");
       button3.addActionListener(
       new ActionListener() {
             public void actionPerformed(ActionEvent e)
                   if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
                   displayPanel.setBackground(Color.white);
                   displayPanel.add(new JLabel(new ImageIcon("images/StackADT.jpg")));
                   displayPanel.revalidate();
       JButton button4 = new JButton("Stacks in the Real World");
       button4.addActionListener(
       new ActionListener() {
             public void actionPerformed(ActionEvent e)
                   if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
                   displayPanel.setBackground(Color.white);
                   displayPanel.add(new JLabel(new ImageIcon("images/StacksInTheRealWorld.jpg")));
                   displayPanel.revalidate();
       JButton button5 = new JButton("DEMONSTRATION");
       button5.addActionListener(
       new ActionListener() {
             public void actionPerformed(ActionEvent e)
                 if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
                 Demonstration app = new Demonstration();
                 JPanel appPanel = app.createComponents();//gets the created components from Demonstration application.
                 appPanel.setBackground(Color.pink);
               displayPanel.add(appPanel);
               displayPanel.revalidate();
       JButton button6 = new JButton("Towers Of Hanoi");
       button6.addActionListener(
       new ActionListener() {
             public void actionPerformed(ActionEvent e)
                     if(displayPanel.getComponents().length > 0)displayPanel.removeAll();
                     TowerOfHanoi app = new TowerOfHanoi();
                     JPanel appPanel = app.createComponents();//gets the created components from Towers of Hanoi
                     JPanel mainPanel = new JPanel();//panel used to centralise the application in center
                     mainPanel.add(appPanel);
                     mainPanel.setBackground(Color.pink); //sets mainPanel's background color for 'Towers Of Hanoi'
                     displayPanel.add(mainPanel);
                     displayPanel.revalidate();
       //adding buttons to the buttonPanel.
       buttonPanel.add(button1);
       buttonPanel.add(button2);
       buttonPanel.add(button3);
       buttonPanel.add(button4);
       buttonPanel.add(button5);
       buttonPanel.add(button6);
       JPanel p = new JPanel(); // Used so that the buttons maintain their default shape
       p.setBackground(Color.white);
       p.add(buttonPanel);
       holdingPanel.add(p,BorderLayout.WEST);
       holdingPanel.add(displayPanel,BorderLayout.CENTER);
       //Positioning of holdingPanel in mainPanel.
       mainPanel.add(holdingPanel,BorderLayout.CENTER);
       //indent mainPanel so that its not touching the applet window frame.
       mainPanel.setBorder(BorderFactory.createEmptyBorder(10,20,10,20));
       mainPanel.setBackground(Color.white);
       mainPanel.setPreferredSize(new Dimension(850,600)); //size of applet window
       mainPanel.setOpaque(false); // Needed for Applet
       this.setContentPane(mainPanel);
    }

    Thanks for the response. I don't quite understand what you're talking about though. I have, in my humble knowledge, done nothing with packages. I have put the applet class (WiaRekenToolActiz.class is the applet class) in the jar file wia_actiz_archive.jar. From what I read on the tutorial, java looks for the applet class in all the jar files specified. Since I put my CODEBASE as the main url, I thought it baiscally didn't matter where you out the html file.
    I shall include the complete html page complete with applet tag to perhaps illuminate a bit more what I mean...
    <html>
    <head>
    <title>Wia Rekenmodule hello!</title>
    </head>
    <body bgcolor="#C0C0C0">
    <applet
    CODEBASE= "http://www.creativemathsolutions.nl/test"
    ARCHIVE= "Actiz/wia_actiz_archive.jar, Generic/wia_archive.jar"
    CODE="WiaRekenToolActiz.class" 
    WIDTH=915 HEIGHT=555
    >
    <PARAM NAME = naam VALUE = "Piet Janssen">
    <PARAM NAME = gebdag VALUE = "01">
    <PARAM NAME = gebmaand VALUE = "06">
    <PARAM NAME = gebjaar VALUE = "1970">
    <PARAM NAME = geslacht VALUE = "man">
    <PARAM NAME = dienstjaren VALUE = "10">
    <PARAM NAME = salaris VALUE = "56500">
    <PARAM NAME = deeltijdpercentage VALUE = "100">
    <PARAM NAME = accountnaam VALUE = "Zorginstelling 'De Zonnebloem'">
    </applet>
    </body>
    </html>

  • SetUncaughtExceptionHandler() not working

    Hi there,
    using java 1.5... and using setDefaultUncaughtExcepion!handler() and setUncaughtExceptionHandler() to trap all uncaught exception in my (big) program. I'm observing that my 2 handlers are correctly called when a uncaught exception happens... in most cases !!!!
    I have one specific example where the handler is not called when the exception occurs. I checked carefully the properties on the thread and threadgroup to ensure all is correclty set... and everything sounds ok:
    here the part where the code is throwing an exception (volunteer in this case); this is executed in the EDT (when the user press a "submit" button):
       public void submit() {
            CUtils.trace(LOG_PRIORITY_INFO, LOG_PANEL, LOG_PANELCREATETESTCASE_LABEL, "submit pressed");      
            String testcaseIndex = createTestcaseForm.getFormItemValue(0);
            System.out.println(" **************** " + Thread.currentThread().getName());
            System.out.println(" **************** " + Thread.currentThread().getId());
            System.out.println(" **************** " + Thread.currentThread().getUncaughtExceptionHandler().toString());
            int toto = Integer.parseInt("p");
            System.out.println(" toto = " + toto);With this code and a handler that displays a JDialog containing the stacktrace etc... I'm getting the following traces:
        [main           ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [form          ]  form constructed
        [main           ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [form          ]  form contains 3 items
        [main           ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [panel         ]  getting core...
    Exception occurred during event dispatching:
    java.lang.NumberFormatException: For input string: "p"
         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
         at java.lang.Integer.parseInt(Integer.java:447)
         at java.lang.Integer.parseInt(Integer.java:497)
         at com.xqual.xstudio.gui.module.editing.create.CPanel_CreateTestcase.submit(CPanel_CreateTestcase.java:110)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
        [main           ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [controlbar    ]  actionPerformed(javax.swing.JButton[,163,5,85x25,alignmentX=0.0,alignmentY=0.5,border=com.sun.java.swing.plaf.windows.XPStyle$XPEmptyBorder@19977bd,flags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=javax.swing.ImageIcon@842d9a,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Submit,defaultCapable=true])
        [main           ] [AWT-EventQueue-0#13] [CDefaultExceptionHandler] [panel crt case]  submit pressed
    **************** AWT-EventQueue-0
    **************** 13
    **************** com.xqual.xstudio.gui.CMain$CDefaultExceptionHandler@1c20611The handler's uncaughtException() method is not called at all !
    Additional point#1: the handler works well in all the other cases (main thread, EDT events etc...) just this case is not working
    Additional point#2: I used setDefaultUncaughtExceptionHandler() (used for all classes) but it sounds I needed to use a setUncaughtExceptionHandler() on the EDT to have it working for awt.
    any ideas ? or someone got the same problem ?
    Cheers,
    Eg\\

    Hi there,
    using java 1.5... and using
    setDefaultUncaughtExcepion!handler() and
    setUncaughtExceptionHandler() to trap
    all uncaught exception in my (big) program. I'm
    observing that my 2 handlers are correctly called
    when a uncaught exception happens... in most cases
    I have one specific example where the handler is not
    called when the exception occurs. I checked carefully
    the properties on the thread and threadgroup to
    ensure all is correclty set... and everything sounds
    ok:
    here the part where the code is throwing an exception
    (volunteer in this case); this is executed in the EDT
    (when the user press a "submit" button):
       public void submit() {
    CUtils.trace(LOG_PRIORITY_INFO, LOG_PANEL,
    G_PANEL, LOG_PANELCREATETESTCASE_LABEL, "submit
    pressed");      
    String testcaseIndex =
    eIndex = createTestcaseForm.getFormItemValue(0);
    System.out.println(" **************** " +
    **** " + Thread.currentThread().getName());
    System.out.println(" **************** " +
    **** " + Thread.currentThread().getId());
    System.out.println(" **************** " +
    **** " +
    Thread.currentThread().getUncaughtExceptionHandler().t
    oString());
    int toto = Integer.parseInt("p"); //NOT "p" USE "123" or any integer number
    System.out.println(" toto = " +
    to = " + toto);With this code and a handler that displays a JDialog
    containing the stacktrace etc... I'm getting the
    following traces:
        [main           ] [AWT-EventQueue-0#13]
    [CDefaultExceptionHandler] [form          ]  form
    constructed
    [main           ] [AWT-EventQueue-0#13]
    #13] [CDefaultExceptionHandler] [form          ]
    form contains 3 items
    [main           ] [AWT-EventQueue-0#13]
    #13] [CDefaultExceptionHandler] [panel         ]
    getting core...
    Exception occurred during event dispatching:
    java.lang.NumberFormatException: For input string:
    "p"
    at
    t
    java.lang.NumberFormatException.forInputString(NumberF
    ormatException.java:48)
         at java.lang.Integer.parseInt(Integer.java:447)
         at java.lang.Integer.parseInt(Integer.java:497)
    at
    t
    com.xqual.xstudio.gui.module.editing.create.CPanel_Cre
    ateTestcase.submit(CPanel_CreateTestcase.java:110)
    at
    t
    java.awt.EventDispatchThread.pumpEvents(EventDispatchT
    hread.java:157)
    at
    t
    java.awt.EventDispatchThread.pumpEvents(EventDispatchT
    hread.java:149)
    at
    t
    java.awt.EventDispatchThread.run(EventDispatchThread.j
    ava:110)
    [main           ] [AWT-EventQueue-0#13]
    #13] [CDefaultExceptionHandler] [controlbar    ]
    actionPerformed(javax.swing.JButton[,163,5,85x25,alig
    nmentX=0.0,alignmentY=0.5,border=com.sun.java.swing.pl
    af.windows.XPStyle$XPEmptyBorder@19977bd,flags=296,max
    imumSize=,minimumSize=,preferredSize=,defaultIcon=java
    x.swing.ImageIcon@842d9a,disabledIcon=,disabledSelecte
    dIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,
    left=14,bottom=2,right=14],paintBorder=true,paintFocus
    =true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,
    rolloverSelectedIcon=,selectedIcon=,text=Submit,defaul
    tCapable=true])
    [main           ] [AWT-EventQueue-0#13]
    #13] [CDefaultExceptionHandler] [panel crt case]
    submit pressed
    **************** AWT-EventQueue-0
    **************** 13
    com.xqual.xstudio.gui.CMain$CDefaultExceptionHandler@1
    c20611The handler's uncaughtException() method
    is not called at all !
    Additional point#1: the handler works well in
    all the other cases (main thread, EDT events etc...)
    just this case is not working
    Additional point#2: I used
    setDefaultUncaughtExceptionHandler()(used for all classes) but it sounds I needed to use
    a setUncaughtExceptionHandler() on the
    EDT to have it working for awt.
    any ideas ? or someone got the same problem ?
    Cheers,
    Eg\\May be you need more array index than you decleare.

  • Links not working in executable jar

    I have a problem with my java application
    html and images files do not work in executable jar
    though the application works normally
    I tried some suggestion but I received an exception thread indicating problem at
    ImageIcon iChing = new ImageIcon(imageURL);
    Please could you help me thank you so much
    here is the class
    public class Main extends JFrame
    * objects required for the GUI: JFrame,JLabel, JButton, ImageIcon, JPanel,
    * Dimension
    private static final long serialVersionUID = 1L;
    JButton jbEnter;
    ImageIcon iChing, logo;
    JPanel buttonPanel, ImagePanel;
    JLabel jlbIching;
    Dimension dim;
    URL imageURL;
    File fileName;
    // Class constructor to create the GUI
    public Main()
    Container container = getContentPane();
    URL imageURL = this.getClass().getClassLoader().getResource("src/myFiles/iching.gif");
    ImageIcon iChing = new ImageIcon(imageURL);
    jlbIching = new JLabel(iChing);
    // button to go to the Title class
    jbEnter = new JButton("Enter ");
    jbEnter.setBorderPainted(false);
    jbEnter.setFont(new Font("Edwardian Script ITC", Font.BOLD, 42));
    jbEnter.setBackground(new Color(0, 0, 50));
    jbEnter.setForeground(Color.YELLOW);
    jbEnter.addActionListener(new ActionListener() {
    // method to render the current frame invisible and trigger the
    // Welcome Menu
    public void actionPerformed(ActionEvent e)
    setVisible(false);
    // this line does not work...............
    new Title();
    } // close the actionPerformed(ActionEvent e) Method
    }); // close the addActionListener(new ActionListener() method
    // Panel holding the decorative image and Button
    ImagePanel = new JPanel();
    ImagePanel.add(jlbIching);
    ImagePanel.setBackground(new Color(0, 0, 50));
    buttonPanel = new JPanel();
    buttonPanel.add(jbEnter);
    buttonPanel.setBackground(new Color(0, 0, 50));
    // setting up of the panels position
    container.add(ImagePanel, BorderLayout.CENTER);
    container.add(buttonPanel, BorderLayout.SOUTH);
    dim = Toolkit.getDefaultToolkit().getScreenSize();
    dim.width = dim.width / 2 - 300;
    dim.height = dim.height / 2 - 250;
    setBounds(dim.width, dim.height, 400, 400);
    setSize(600, 500);
    setResizable(false);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //To set the icon for the application. Top left hand corner.
    //this.setIconImage(Image);
    setIconImage(new ImageIcon("src/myFiles/ichingRose.gif").getImage());
    } // close the Constructor
    * the main method for the program.
    * @param args
    * The command-line arguments.
    public static void main(String[] args)
    new Main();
    } // close the main method
    } // close the Main class

    Thank you very much for your quick reply and really hope you can help me a little more
    it's so frustrating
    I do not really know about the relative path but here is my xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <project default="jar">
    <!-- Compile and zip the source code into a jar -->
    <target name="jar">
    <!-- Make the folders we'll need -->
    <mkdir dir="ant"/>
    <mkdir dir="work"/>
         <mkdir dir="ant/myFiles"/
    <!--
    Compile all the .java files into .class files
    debug = yes Include debug information in the .class files
    destdir Where to put the .class files
    source and target Use Java version 1.6.0_06
    -->
    <javac
    debug="yes"
    destdir="ant"
    source="1.6"
    target="1.6">
    <!-- Folders that have trees of .java files to compile -->
    <src path="src"/>
    </javac>
         <copy todir="ant/myFiles"><fileset dir="src/myFiles"></fileset></copy>
    <!--
    Zip files together to make a jar
    jarfile Where to make the .jar file, overwrite something there
    basedir Find the files to zip in the jar here
    -->
    <jar
                   jarfile="work/BookOfChanges.jar"
    basedir="ant"
    >
    <!-- Write a manifest inside the jar -->
    <manifest>
    <!-- The class Java will run when the user double-clicks the jar -->
    <attribute name="Main-Class" value="iChing.Main"/>
    </manifest>
    </jar>
    </target>
    </project>

  • Web Cam applet is not working in great consistency

    Hi... My video capturing applet is not working very well.
    The image stream is displayed on the web page in JPEG format with 0.5 quality. However, it crashes after a while and the it does not release the vfw resource.
    I have to restart my machine in order to execute it again.
    Can anyone please help?
    Thanks.
    Carter

    Ok. Thanks.
    Sender Applet
    import javax.swing.*;
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    /*<applet code="myGUIApplet.class" width="300" height="300"></applet>*/
    public class myGUIApplet extends JApplet implements ActionListener
         private JPanel bottom=new JPanel();
         private JPanel centVisual=new JPanel();
         private JPanel connectionAddress=new JPanel();
         private JButton capture=new JButton("Start Capturing");
         private JButton stops=new JButton("Stop");
         private JMenuBar menubar=new JMenuBar();
         private JMenu file=new JMenu("file");     
         private JMenuItem fileItem1=new JMenuItem("Exit");
         private JLabel serverip=new JLabel("Server IP");
         private JTextField setIP=new JTextField();
         public static JTextField ServerInfo=new JTextField();
         private MyTransmitter mytrans;
         private String ip;
         public static final String DEFAULT_MULTICAST_IP="226.10.10.20";
         public static final String DEFAULT_PORT="80";
         public void init()
              //setSize(400,400);               
              setLayout(new BorderLayout());
              menubar.add(file);
              file.add(fileItem1);
              bottom.setLayout(new BorderLayout());
              bottom.setBackground(Color.black);
              bottom.add("West",capture);
              bottom.add("East",stops);
              connectionAddress.setLayout(new BorderLayout());
              connectionAddress.add("North",serverip);
              connectionAddress.add("South",setIP);
              ServerInfo.setEditable(false);
              connectionAddress.add("Center",ServerInfo);
              setIP.addActionListener(this);
              setIP.setText("");
              capture.setBackground(Color.lightGray);
              capture.addActionListener(this);
              stops.addActionListener(this);
              fileItem1.addActionListener(this);
              add("South",bottom);
              add("North",menubar);     
              add("Center",connectionAddress);          
         public void actionPerformed(ActionEvent ae){
              Object source=ae.getSource();
              if(source==capture){
              if(setIP.getText().equals(""))
                        ip=DEFAULT_MULTICAST_IP;
              else{
                   ip=setIP.getText();
                   if(mytrans!=null){
                        mytrans.stopTransmitter();
                        mytrans=null;                         
                   System.out.println(" - Connecting to "+ip+" port: "+DEFAULT_PORT);
                   ServerInfo.setText(" - Connecting to "+ip+" port: "+DEFAULT_PORT);
                   mytrans=new MyTransmitter(ip,DEFAULT_PORT,ServerInfo);
                   mytrans.start();               
              if(source==stops){
                   if(mytrans!=null)
                        mytrans.stopTransmitter();
                   System.exit(0);
              if(source==fileItem1){
                   if(mytrans!=null)
                        mytrans.stopTransmitter();     
                   System.exit(0);
         public void destroy(){
              if(mytrans!=null){
                   mytrans.stopTransmitter();
    import java.awt.*;
    import javax.swing.*;
    import java.io.*;
    import java.util.*;
    import java.net.InetAddress;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.rtp.*;
    import javax.media.rtp.rtcp.*;
    import javax.media.rtp.*;
    import java.io.InputStream;
    import javax.media.rtp.RTPManager;
    public class MyTransmitter extends Thread
         private MediaLocator videoLocator;
         private String ipAddress;
         private int basePort;
         private Integer stateLock=new Integer(0);
         private boolean failure;
         private Processor processor;
         private DataSource videoDataInput,videoDataOutput;
         private RTPManager rtpMgrs[];
         private VideoFormat JPEG_VIDEO=new VideoFormat(VideoFormat.JPEG_RTP);
         private SendStream sendStream;
         private SourceDescription descriptionList[];
         private JTextField infoField;
         public MyTransmitter(String ips,String ports,JTextField ServerInfo){
              infoField=ServerInfo;
              ipAddress=ips;
              Integer bPort=Integer.valueOf(ports);
              if(bPort!=null)
                   basePort=bPort.intValue();
         public void run()
              initializeVideo();
              if(videoLocator!=null){
                   createMyProcessor();
                   createMyManager();
              // May be should put inside the if..else statements
              //createMyTransmitter();
         // Initailize the video
         public void initializeVideo()
              // Stre the devices in a vector
              VideoFormat format=new VideoFormat(VideoFormat.RGB);
              Vector deviceList=CaptureDeviceManager.getDeviceList(format);
              CaptureDeviceInfo deviceInfo=null;
              // If there is more than one device detected
              if(deviceList.size()>0){
                   // Set the first device to device Info
                   // GEt the media locator of the devie
                   deviceInfo=(CaptureDeviceInfo)deviceList.elementAt(0);
                   videoLocator=deviceInfo.getLocator();
              }else{
                   System.out.println(" --X No device found...");
                   infoField.setText(" --X No device found...");
         public void createMyProcessor()
              boolean result=false;
              DataSource ds=null;
              // Check if the media locator is null
              if(videoLocator==null){
                   System.out.println(" --X No video locator..");
                   infoField.setText(" --X No video locator...");
              System.out.println(" - Trying to create a Processor..");
              infoField.setText(" - Trying to create a Processor..");
              // Attempt to create DataSource from media locator
              try{
                   ds=Manager.createDataSource(videoLocator);
              }catch(Exception ex){
                   System.out.println(" --X Unable to create dataSource : "+ex.getMessage());
              System.out.println(" - Video data source is created..");
              infoField.setText(" - Video data source is created..");
              // Try to create Processor from DataSource
              try{
                   processor=Manager.createProcessor(ds);
              }catch(NoProcessorException npe){
                   System.out.println(" --X Unable to create Processor: "+npe.getMessage());
                   infoField.setText(" --X Unable to create Processor: "+npe.getMessage());
              catch(IOException ioe){
                   System.out.println(" --X IOException creating Processor..");
                   infoField.setText(" --X IOException creating Processor..");
              // Wait for the processor to be configured
              result=waitForState(processor,Processor.Configured);
              if(result==false){
                   System.out.println(" --X Could not configure processor..");
                   infoField.setText(" --X Could not configure processor..");
              // Set the track controls for processor
              TrackControl []tracks=processor.getTrackControls();
              if(tracks==null || tracks.length<1){
                   System.err.println(" --X No track is found..");
                   infoField.setText(" --X No track is found..");
              // Set the content description of processor to RAW_RTP format
              // This will limit the supported formats to reported from
              // Track.getSupportedFormats() to valid RTP format
              ContentDescriptor cdes=new ContentDescriptor(ContentDescriptor.RAW_RTP);
              processor.setContentDescriptor(cdes);
              Format []supported;
              Format chosen=null;
              boolean atLeastOneTrack=false;
              for(int i=0;i<tracks.length;i++){
                   Format format=tracks.getFormat();
                   if(tracks[i].isEnabled()){
                        supported=tracks[i].getSupportedFormats();
                        // WE've set the output content to RAW_RTP.
                        // So, all the supporte formats should work with RAW_RTP.
                        // We will pick the first one.
                        if(supported.length>0){
                             if(supported[0] instanceof VideoFormat){                              
                                  chosen=checkVideoSize(tracks[i].getFormat(),supported[0]);
                             }else
                                  chosen=supported[0];
                             tracks[i].setFormat(chosen);
                             System.out.println(" Track "+i+" is transmitted in "+chosen+" format.. ");
                             infoField.setText(" Track "+i+" is transmitted in "+chosen+" format.. ");
                             atLeastOneTrack=true;
                        }else{
                             // If no format is suitable, track is disabled
                             tracks[i].setEnabled(false);
                   }else
                        tracks[i].setEnabled(false);          
              if(!atLeastOneTrack)
                   System.out.println("atLeastOneTrack: "+atLeastOneTrack);
                   System.out.println(" --X Could Not find track to RTP format..");
                   infoField.setText("atLeastOneTrack: "+atLeastOneTrack);
                   infoField.setText(" --X Could Not find track to RTP format..");
              result=waitForState(processor,Controller.Realized);
              if(result==false){
                   System.out.println(" --X Could NOT realize processor...");
                   infoField.setText(" --X Could NOT realize processor...");
              // Set the JPEG Quality to value 0.5
              setJPEGQuality(processor,0.5f);
              // Set the output Data Source
              videoDataOutput=processor.getDataOutput();
              //Start the processor
              processor.start();          
         public void setJPEGQuality(Processor p,float values)
              Control []cs=p.getControls();
              QualityControl qc=null;
              VideoFormat JPEGFmt=new VideoFormat(VideoFormat.JPEG);
              // Loop through the ocntrols to find the Quality control for the JPEG encoder
              for(int i=0;i<cs.length;i++){
                   if(cs[i] instanceof QualityControl && cs[i] instanceof Owned){
                        Object owner=((Owned)cs[i]).getOwner();
                        // Check if the owner is the Codec
                        // Check the format of output as well
                        if(owner instanceof Codec){
                             Format fmts[]=((Codec)owner).getSupportedOutputFormats(null);
                             // Loop through the supported format and set the quality to 0.5
                             for(int j=0;j<fmts.length;j++){
                                  qc=(QualityControl)cs[i];
                                  qc.setQuality(values);
                                  System.out.println(" - Quality is set to "+values+" on "+qc);
                                  infoField.setText(" - Quality is set to "+values+" on "+qc);
                                  break;
                   if(qc!=null)
                        break;
         public Format checkVideoSize(Format originalFormat,Format supported)
              int width,height;
              Dimension size=((VideoFormat)originalFormat).getSize();     
              Format jpegFormat=new Format(VideoFormat.JPEG_RTP);
              Format h263fmt=new Format(VideoFormat.H263_RTP);
              if(supported.matches(jpegFormat)){
                   width=(size.width%8 == 0 ? size.width:(int)(size.width%8)*8);
                   height=(size.height%8 == 0 ? size.height:(int)(size.height%8)*8);
              }else if(supported.matches(h263fmt)){
                   if(size.width<128){
                        width=128;
                        height=96;
                   }else if(size.width<176){
                        width=176;
                        height=144;
                   }else{
                        width=352;
                        height=288;
              }else{
                   // Unknown format, just return it.
                   return supported;
              return (new VideoFormat(null,new Dimension(width,height),Format.NOT_SPECIFIED,null,Format.NOT_SPECIFIED)).intersects(supported);
         public boolean waitForState(Processor p,Integer status)
              p.addControllerListener(new StateListener());
              failure=false;
              if(status==Processor.Configured){
                   p.configure();               
              }else if(status==Processor.Realized){
                   p.realize();
              //Wait until an event that confirms the success of the method, or failure of an event
              while(p.getState()<status && !failure){
                   synchronized(getStateLock()){
                        try{
                             // Wait
                             getStateLock().wait();
                        }catch(InterruptedException ie){
                             return false;
              if(failure)
                   return false;
              else
                   return true;
         public Integer getStateLock(){
              return stateLock;
         public void setFailure(){
              failure=true;
         public void createMyManager()
              SessionAddress destAddress;
              InetAddress ipAddr;
              int port;
              SourceDescription srcDesList[];
              PushBufferDataSource pbds=(PushBufferDataSource)videoDataOutput;
              PushBufferStream pbss[]=pbds.getStreams();          
              rtpMgrs=new RTPManager[pbss.length];          
              for(int a=0;a<pbss.length;a++){
              try{
                   // RTP Managers or RTP Manager?????
                   rtpMgrs[a]=RTPManager.newInstance();
                   port=basePort;
                   ipAddr=InetAddress.getByName(ipAddress);
                   SessionAddress localAddr=new SessionAddress(InetAddress.getLocalHost(),port+20);
                   destAddress=new SessionAddress(ipAddr,port,1);
                   Integer myipprefix=Integer.valueOf(ipAddress.substring(0,3));
                   if((myipprefix.intValue()>223) && (myipprefix.intValue()<240)){
                        rtpMgrs[a].initialize(destAddress);
                   }else{
                        rtpMgrs[a].initialize(localAddr);
                   rtpMgrs[a].addTarget(destAddress);
                   System.out.println(" Created RTP session: "+ipAddress+" "+port+" to "+destAddress);
                   infoField.setText(" Created RTP session: "+ipAddress+" "+port+" to "+destAddress);
                   if(videoDataOutput!=null){
                        sendStream=rtpMgrs[a].createSendStream(videoDataOutput,0);
                        sendStream.start();
                        System.out.println(" RTP stream is started..");
                        infoField.setText(" RTP stream is started..");
              }catch(UnsupportedFormatException ex){
                   System.out.println(" --X Unsupported Format : "+ex);
                   infoField.setText(" --X Unsupported Format : "+ex);
              catch(IOException ioe){
                   System.out.println(" --X IOException : "+ioe.getMessage());
                   infoField.setText(" --X IOException : "+ioe.getMessage());
              catch(Exception ex){
                   System.out.println(" --X Unable to create RTP Manager...");
                   System.out.println(ex.getMessage());
                   infoField.setText(" --X Unable to create RTP Manager..."+ex.getMessage());
         /*public void createMyTransmitter()
         try{
              if(videoDataOutput!=null){
                   sendStream=rtpMgrs[i].createSendStream(videoDataOutput,0);
                   sendStream.start();
         }catch(UnsupportedFormatException ex){
                   System.out.println(" --X Unsupported Format : "+ex);
                   infoField.setText(" --X Unsupported Format : "+ex);
         catch(IOException ioe){
                   System.out.println(" --X IOException : "+ioe.getMessage());
                   infoField.setText(" --X IOException : "+ioe.getMessage());
         public void stopTransmitter(){
              if(processor!=null){
                   processor.stop();
                   processor.close();
                   processor=null;
                   // Loop through RTP Managers and close all managers..
                   // Dispose them for garbage collection
                   for(int i=0;i<rtpMgrs.length;i++){
                        rtpmgrs[i].removeSendStream(this);
                        rtpMgrs[i].removeTargets("Session ended..");
                        rtpMgrs[i].dispose();
                   //rtpMgrs.removeTargets("Session ended..");
                   //rtpMgrs.dispose();
         * StateListener class to handle Controller events
         class StateListener implements ControllerListener{
              public void controllerUpdate(ControllerEvent ce){
                   if(ce instanceof ControllerClosedEvent){
                        processor.close();
                   /* Handle all controller events and notify all
                   waiting thread in waitForState method */
                   if(ce instanceof ControllerEvent){
                        synchronized(getStateLock()){
                             getStateLock().notifyAll();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Client Applet
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.control.BufferControl;
    import javax.media.control.*;
    import javax.media.format.*;
    import javax.media.rtp.*;
    import javax.media.rtp.rtcp.*;
    import javax.media.rtp.event.*;
    import com.sun.media.rtp.RTPSessionMgr;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.io.*;
    import java.net.*;
    import java.net.URL;
    import java.net.Socket;
    /*<applet code="clientPlayerApplet.class" width="400" height="300">
         <param name=ServerIPS value="192.168.0.9">
         <param name=ServerPort value="80">
         <param name=TimeToLive value="1">
         <param name=archive value="clientPlayerApplet.jar">
    </applet> */
    public class clientPlayerApplet extends JApplet implements ControllerListener, ReceiveStreamListener,SessionListener
         String sessions[]=null;
         RTPManager rtpmgrs[]=null;     
         boolean dataReceived=false;
         Object myDataSync=new Object();
         private Player player;
         //private String serveripadd="226.10.10.20";
         //private int serverPort=2020;
         //private int timeToLive=1;
         private JPanel panel;
         private Vector currentParticipant;
         public void init()
              panel=new JPanel();
              setLayout(new BorderLayout());
              add("Center",panel);
              //String[] urls;
              /*urls[0]=getParameter("ServerIPS");
              urls[1]="/";
              urls[2]=getParameter("ServerPort");*/
              String []urls={new String(getParameter("ServerIPS")+"/"+getParameter("ServerPort")+"/"+getParameter("TimeToLive"))};
              sessions=urls;          
              initializePlayer();
         public void initializePlayer(){
              try{
                   InetAddress ipAddr;
                   SessionAddress localAddr=new SessionAddress();
                   SessionAddress destAddr;
                   rtpmgrs=new RTPManager[sessions.length];
                   currentParticipant=new Vector();
                   //rtpmgrs=new RTPManager();
                   SessionLabel session=null;
                   //Open RTP session
                   for(int i=0;i<sessions.length;i++){
                        try{
                             session=new SessionLabel(sessions[i]);
                             //session=new SessionLabel(sessions);
                        }catch(IllegalArgumentException iae){
                             System.out.println(" --X Unable to parse the sesion address given");     
                        System.out.println(" - Open RTP session for "+session.port);
                        rtpmgrs[i]=(RTPManager) RTPManager.newInstance();               
                        rtpmgrs[i].addSessionListener(this);
                        rtpmgrs[i].addReceiveStreamListener(this);
                        ipAddr=InetAddress.getByName(session.addr);
                        if(ipAddr.isMulticastAddress()){
                             localAddr=new SessionAddress(ipAddr,session.port,session.ttl);
                             destAddr=new SessionAddress(ipAddr,session.port,session.ttl);
                        }else{
                             localAddr=new SessionAddress(InetAddress.getLocalHost(),session.port);     
                             destAddr=new SessionAddress(ipAddr,session.port);
                        rtpmgrs[i].initialize(localAddr);
                        BufferControl bc=(BufferControl)rtpmgrs[i].getControl("javax.media.control.BufferControl");
                        if(bc!=null)
                             bc.setBufferLength(600);
                        rtpmgrs[i].addTarget(destAddr);
              }catch(Exception ex){
                   System.out.println(" --X Cannot create RTP Session "+ex.getMessage());
              long currentTime=System.currentTimeMillis();
              long waitingDuration=10000;
              try{
                   synchronized(myDataSync){
                        while(!dataReceived && (System.currentTimeMillis() - currentTime < waitingDuration)){
                             if(!dataReceived){
                                  myDataSync.wait(1000);
              }catch(Exception ex){
                   System.out.println(" --X myDataSync interrupted...");
              if(!dataReceived){
                   System.out.println(" No RTP Stream Data is received.." );               
         public void destroy()
              for(int i=0;i<currentParticipant.size();i++){
                   //if(player!=null)
                        ((MyPlayList)currentParticipant.elementAt(i)).close();
              // Loop through the RTP Managers
              // -> Remove the stream listener
              // -> Remove the target address
              // -> Dispose the RTP Manager for garbage collection
              currentParticipant.removeAllElements();
              for(int i=0;i<rtpmgrs.length;i++){
                   if(rtpmgrs[i]!=null){
                        rtpmgrs[i].removeReceiveStreamListener(this);
                        rtpmgrs[i].removeTargets(" Closing session..");
                        rtpmgrs[i].dispose();
                        rtpmgrs[i]=null;
         MyPlayList find(Player pl){
              for(int i=0;i<currentParticipant.size();i++){
                   MyPlayList mpl=(MyPlayList)currentParticipant.elementAt(i);
                   if(mpl.clientPlay==pl)
                        return mpl;
              return null;
         MyPlayList find(ReceiveStream rs){
              for(int i=0;i<currentParticipant.size();i++){
                   MyPlayList mpl=(MyPlayList)currentParticipant.elementAt(i);
                   if(mpl.stream==rs)
                        return mpl;
              return null;
         *     ReceiveStream Listener function                    *
         public synchronized void update(ReceiveStreamEvent rse)
              RTPManager mgr=(RTPManager)rse.getSource();
              ReceiveStream stream=rse.getReceiveStream();
              Participant participant=rse.getParticipant();
              if(rse instanceof RemotePayloadChangeEvent){
                   System.out.println(" -- Received Payload Change Event..");
                   System.out.println(" Sorry, no payload change is allowed.");               
              }else if(rse instanceof NewReceiveStreamEvent){
                   try{
                        // Once the new stream is detected, create the datasource
                        stream=((NewReceiveStreamEvent)rse).getReceiveStream();
                        DataSource outputDS=stream.getDataSource();
                        // Get RTP Controller to find the format
                        RTPControl rtpctl=(RTPControl)outputDS.getControl("javax.media.rtp.RTPControl");
                        if(rtpctl!=null){
                             System.out.println(" -> Received new rtP stream: "+rtpctl.getFormat());
                        }else
                             System.out.println(" -> Received new RTP stream");
                        if(participant!=null){
                             System.out.println(" -> New stream received from: "+participant.getCNAME());
                        }else{
                             System.out.println(" -> New stream detected... ");
                        player=Manager.createPlayer(outputDS);
                        if(player==null)
                             return;
                        System.out.println(" - Player is created...");
                        player.addControllerListener(this);
                        player.realize();
                        // Helper class to identify the player and stream
                        MyPlayList mpl=new MyPlayList(player,stream);
                        // Add the helper class object to Vector
                        currentParticipant.addElement(mpl);
                        // Notify initializePlayer() that a new stream has arrived
                        synchronized(myDataSync){
                             dataReceived=true;
                             myDataSync.notifyAll();
                   }catch(Exception ex){
                        System.out.println(" --X NewReceiveStream Exception: "+ex.getMessage());
                        return;
              }else if(rse instanceof ByeEvent){
                   System.out.println(" - BYE packet received from "+participant.getCNAME());
                   MyPlayList mpls=find(stream);
                   if(player!=mpls){
                        mpls.close();
                        currentParticipant.removeElement(mpls);
                   if(mgr!=null){
                        mgr.removeReceiveStreamListener(this);
                        mgr.removeTargets(" Closing session..");
                        mgr.dispose();
                        mgr=null;
              }else if(rse instanceof StreamMappedEvent){
                   if(stream!=null && stream.getDataSource()!=null){
                        DataSource myds=stream.getDataSource();
                        RTPControl rtpctrl=(RTPControl)myds.getControl("javax.media.rtp.RTPControl");
                        System.out.println(" -> The previously unidentified stream ");
                        if(rtpctrl!=null)
                             System.out.println(" "+rtpctrl.getFormat());
                        System.out.println(" has been identified as sent by :"+participant.getCNAME());
         *           Session Listener
         public void update(SessionEvent sesevt)
              if(sesevt instanceof NewParticipantEvent){
                   Participant part=((NewParticipantEvent)sesevt).getParticipant();
                   System.out.println(" -> A new partcipant has joined :"+part.getCNAME());
         *     ControllerListener for Players          
         public synchronized void controllerUpdate(ControllerEvent ce)
              Player p=(Player)ce.getSource();
              if(p==null)
                   return;
              if(ce instanceof RealizeCompleteEvent){
                   MyPlayList mpls=find(p);
                   if(mpls!=null){
                        p.start();
                        if(p.getVisualComponent()!=null){
                             panel.add(player.getVisualComponent());
                             panel.validate();
              if(ce instanceof ControllerErrorEvent){
                   p.removeControllerListener(this);
                   MyPlayList mpls=find(p);
                   if(mpls!=null){
                        // Close the player
                        // Remove the player helper class object from the list
                        p.close();
                        currentParticipant.removeElement(mpls);
                   System.out.println("Receiver internal error: "+ce);
         class SessionLabel{
              public String addr=null;
              public int port;
              public int ttl;
              SessionLabel(String session) throws IllegalArgumentException
                   int off;
                   String portStr=null;
                   String ttlStr=null;
                   if(session!=null && session.length() >0){
                        while(session.length()>1 && session.charAt(0)=='/')
                             session=session.substring(1);
                        off=session.indexOf('/');
                        if(off==-1){
                             if(!session.equals(""))
                                  addr=session;
                        }else{
                             addr=session.substring(0,off);
                             session=session.substring(off+1);
                             off=session.indexOf('/');
                             if(off==-1){
                                  if(!session.equals(""))
                                       portStr=session;
                             }else{
                                  portStr=session.substring(0,off);
                                  session=session.substring(off+1);
                                  off=session.indexOf('/');
                                  if(off==-1){
                                       if(!session.equals(""))
                                            ttlStr=session;
                                  }else{
                                       ttlStr=session.substring(0,off);
                   if(addr==null)
                        throw new IllegalArgumentException();
                   if(portStr!=null)
                        try{
                             Integer ints=Integer.valueOf(portStr);
                             if(ints!=null)
                                  port=ints.intValue();
                        }catch(Throwable t){
                             System.out.println(" --X PortStr Error..");
                             throw new IllegalArgumentException();
                   }else
                        throw new IllegalArgumentException();
                   if(ttlStr!=null){
                   try{
                        Integer intsttl=Integer.valueOf(ttlStr);
                        if(intsttl!=null)
                             ttl=intsttl.intValue();
                   }catch(Throwable t){
                             System.out.println(" --X PortStr Error..");
                             throw new IllegalArgumentException();
         class MyPlayList{
              Player clientPlay;
              ReceiveStream stream;
              MyPlayList(Player p,ReceiveStream rs){
                   clientPlay=p;
                   stream=rs;
              public void close()
                   clientPlay.close();

  • Mouselistner is not working with jtable in the browser

    Hi
    I am having a problem with jTable.
    I added a mouselistener to table header to sort table but when i run that applet from my netbean ide it works fine but when i run that applet in my browser it doesn't work, i have tested, its not even generate mouseclick event .Please help me guys.
    I call this function after calling initComponents() method of JApplet.
    public void setTableAction()
    //set mouselistener to sort table on click of table header
    final JTableHeader head= jTable1.getTableHeader();
    head.addMouseListener(new java.awt.event.MouseAdapter()
    public void mouseClicked(java.awt.event.MouseEvent evt)
    Vector data= ((DefaultTableModel)jTable1.getModel ()).getDataVector();
    sortTable(data, head.columnAtPoint(evt.getPoint()));
    //set action map to change the default action performed for enter key pressed
    InputMap imap = jTable1.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    KeyStroke enterKey = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
    KeyStroke tabKey = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
    final Action oldAction= jTable1.getActionMap().get(imap.get(tabKey)); // get map to set enter key.
    imap.put(enterKey, "enter"); // set enter key
    Action newAction = new AbstractAction(){
    public void actionPerformed(ActionEvent e) {
    oldAction.actionPerformed(e);
    JTable table= (JTable)e.getSource();
    table.changeSelection(0,0,false,false);
    if(table.isCellEditable(0,0))
    String sTemp= (String)table.getValueAt(0,0);
    if(sTemp.length()>0) {
    if(bRenewItem)
    retrieveRcodeDetails("",sTemp);
    else
    processRCodeDetails(sTemp, e);
    }else
    table.editCellAt(0,0);
    jTable1.getActionMap().put("enter", newAction);
    jTable1.setPreferredScrollableViewportSize(jTable1.getPreferredSize());
    }

    Hi,
    I also am using the Bépo layout with an encrypted drive and encountered the same problem: the Return key does not work.
    It seems to work fine if you use the fr-bepo-latin9 keymap.
    # /etc/vconsole.conf
    KEYMAP=fr-bepo-latin9
    But I also looked at the files /usr/share/kbd/keymaps/i386/bepo/fr-bepo.map.gz and /usr/share/kbd/keymaps/i386/bepo/fr-bepo-latin9.map.gz (you can open gzipped files in vim directly). fr-bepo-latin9.map.gz defines keycode 28 (Return) but fr-bepo.map.gz does not.
    I modified fr-bepo.map.gz:
    # vim /usr/share/kbd/keymaps/i386/bepo/fr-bepo.map.gz # Append that line : "keycode 28 = Return".
    # mkinitcpio -p linux # Rebuild the initramfs.
    The Return key now works, but the Backspace (14, "Delete") and Shift (54) keys don’t work. I found that both the cf.map.gz (french canadian layout) and fr-bepo-latin9.map.gz files define those keycodes as well as other non-printing keys so I copied the following lines from fr-bepo-latin9.map.gz to fr-bepo.map.gz:
    keycode 1 = Escape Escape
    keycode 14 = Delete Delete
    keycode 15 = Tab Tab
    keycode 28 = Return
    keycode 29 = Control
    keycode 42 = Shift
    keycode 54 = Shift
    keycode 56 = Alt
    keycode 58 = Caps_Lock
    keycode 97 = Control
    It works! Don’t forget to rebuild the initramfs after you change the keymap file.
    # mkinitcpio -p linux
    I will send a message to the kbd and bépo projects mailing lists and report back.

  • Why table getWidth and setWidth is not working when resize column the table

    hi all,
    i want to know why the setWidth is not working in the following code,
    try to uncomment the code in columnMarginChanged method and run it wont resize the table.
    i cont set width(using setWidth) of the other table column using getWidth of the main table column.
    and i want to resize the right side columns only (you can check when you resize the any column the left and right side columns also resizing)
    any suggestions could be helpful.
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Box;
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTable;
    import javax.swing.SwingUtilities;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.TableColumnModelEvent;
    import javax.swing.event.TableColumnModelListener;
    import javax.swing.table.TableColumnModel;
    public class SynTableResize extends JFrame implements TableColumnModelListener, ActionListener
        JTable  table1       = new JTable(5, 5);
        JTable  table2       = new JTable(5, 5);
        JTable  table3       = new JTable(5, 5);
        JButton btn          = new JButton("refresh");
        JPanel  pnlcontainer = new JPanel();
        public SynTableResize()
            setLayout(new BorderLayout());
            pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
            pnlcontainer.add(table1.getTableHeader());
            pnlcontainer.add(Box.createVerticalStrut(5));
            pnlcontainer.add(table2);
            pnlcontainer.add(Box.createVerticalStrut(5));
            pnlcontainer.add(table3);
            table2.setTableHeader(null);
            table3.setTableHeader(null);
            table1.getColumnModel().addColumnModelListener(this);
            table3.setColumnModel(table1.getColumnModel());
            table2.setColumnModel(table1.getColumnModel());
            table2.getColumnModel().addColumnModelListener(table1);
            table3.getColumnModel().addColumnModelListener(table1);
            btn.addActionListener(this);
            getContentPane().add(pnlcontainer, BorderLayout.CENTER);
            getContentPane().add(btn, BorderLayout.SOUTH);
            setSize(new Dimension(400, 400));
            setVisible(true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        public static void main(String[] args)
            new SynTableResize();
        public void columnAdded(TableColumnModelEvent e)
        public void columnMarginChanged(ChangeEvent e)
            TableColumnModel tcm = table1.getColumnModel();
            int columns = tcm.getColumnCount();
            for (int i = 0; i < columns; i++)
                table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
                table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
                // the following commented code wont work.
    //            table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
    //            table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
    //            table2.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
    //            table3.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
            SwingUtilities.invokeLater(new Runnable()
                public void run()
                    table2.revalidate();
                    table3.revalidate();
        public void columnMoved(TableColumnModelEvent e)
        public void columnRemoved(TableColumnModelEvent e)
        public void columnSelectionChanged(ListSelectionEvent e)
        public void actionPerformed(ActionEvent e)
            JTable table = new JTable(5, 5);
            table.setColumnModel(table1.getColumnModel());
            table.getColumnModel().addColumnModelListener(table1);
            pnlcontainer.add(Box.createVerticalStrut(5));
            pnlcontainer.add(table);
            pnlcontainer.validate();
            pnlcontainer.repaint();
    }thanks
    dayananda b v

    hi,
    thanks for your replay,
    yes i know that, you can check the following code it works fine.
    actually what i want is, when i resize table column it shold not automaticaly reszie when table resized and i dont want horizontal scroll bar, meaning that all table columns should resize with in the table size(say width 300)
    if i make table autoresize off than horizontal scroll bar will appear and the other columns moved and i want scroll to view other columns.
    please suggest me some way doing it, i tried with doLayout() no help,
    doLayout() method only can be used when table resizes. first off all i want to restrict table resizing with in the limited size
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import javax.swing.Box;
    import javax.swing.BoxLayout;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.event.ChangeEvent;
    import javax.swing.table.TableColumnModel;
    public class TempSycnTable extends JFrame
        JTable  table1       = new JTable(5, 5);
        MyTable table2       = new MyTable(5, 5);
        MyTable table3       = new MyTable(5, 5);
        JPanel  pnlcontainer = new JPanel();
        public TempSycnTable()
            JScrollPane src2 = new JScrollPane(table2);
            JScrollPane src3 = new JScrollPane(table3);
    //        table1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    //        table2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    //        table3.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    //        src2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    //        src3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
            table2.setTableHeader(null);
            table3.setTableHeader(null);
            table3.setColumnModel(table1.getColumnModel());
            table2.setColumnModel(table1.getColumnModel());
            table2.getColumnModel().addColumnModelListener(table1);
            table3.getColumnModel().addColumnModelListener(table1);
            table2.setTableHeader(null);
            table3.setTableHeader(null);
            setLayout(new BorderLayout());
            pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
            pnlcontainer.add(table1.getTableHeader());
            pnlcontainer.add(Box.createVerticalStrut(5));
            pnlcontainer.add(src2);
            pnlcontainer.add(Box.createVerticalStrut(5));
            pnlcontainer.add(src3);
            getContentPane().add(pnlcontainer, BorderLayout.CENTER);
            setSize(new Dimension(300, 300));
            setVisible(true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        public static void main(String[] args)
            new TempSycnTable();
        class MyTable extends JTable
            public MyTable()
                super();
            public MyTable(int numRows, int numColumns)
                super(numRows, numColumns);
            public void columnMarginChanged(ChangeEvent event)
                final TableColumnModel eventModel = table1.getColumnModel();
                final TableColumnModel thisModel = getColumnModel();
                final int columnCount = eventModel.getColumnCount();
                for (int i = 0; i < columnCount; i++)
                    thisModel.getColumn(i).setWidth(eventModel.getColumn(i).getWidth());
                repaint();
    }thanks
    daya

  • Writing to file not working, might be 1.4 problem

    Hi:
    I am trying to writing the content of a JTextArea onto a file. The content is pretty big, has newlines. I have been struggling with this in 1.4 and it just doesn't write to the file I specified. In 1.3, it works great. Here is the rough code:
    public void loadDisplayFrame()
         JMenuItem save = new JMenuItem("Save");
         //Save Action Listener
         save.addActionListener(new ActionListener()
            public void actionPerformed(ActionEvent ae)
               String filePath;
               //Save the  gsgl sample file
               if(filePath!=null && filePath.length()>0)
                  try
                  int state = saveChooser.showSaveDialog(null);
                  File f;
                  f = saveChooser.getSelectedFile();
                  if(f!=null && state==JFileChooser.APPROVE_OPTION)
                        savedName = f.getPath();
                        if(!savedName.endsWith(".gsgl"))
                           JOptionPane.showMessageDialog(null, "Invalid file name", "error", JOptionPane.ERROR_MESSAGE);
                        }else
                           processSaving();
                        }catch(Exception e)
                            e.printStackTrace();
                    }else
                        JOptionPane.showMessageDialog(null, "Please load a file first", "error",
                            JOptionPane.ERROR_MESSAGE);
              myMenu.add(save);
              JMenuBar displayMenu = new JMenuBar();
              displayMenu.add(myMenu);
      public void processSaving()
             try
                 System.out.println("Saved Name is " + savedName);
               PrintWriter out
               = new PrintWriter(new BufferedWriter(new FileWriter(savedName)));
               //name of TextArea is <display>
               String saveCode = display.getText();
              System.out.println(saveCode);                 
                 out.print(saveCode);
              out.close();
            }catch(Exception e)
              System.out.println("Exception in writing" + e.toString());
         Anyone knows what is going on? I am hoping to use 1.4 for my project. But this thing is not working. Any way around it? Thanx

    Try putting in this line before your close:
    out.flush();
    PrintWriter buffers the data and won't send it until you exit or enough data gets into the buffer to cause a flush. I assume that you are getting a zero byte file. You can also construct a PrintWriter with a boolean to indicate if it should auto flush the buffer.
    Hope that it helps.
    Paul

  • Applet is not working and I do not know why it is not working

    I cannot figure out why my applet is not working. Can someone assist me with this problem?
    Here is the code:
    As you will soon find out some of those imports can be ignored.
    import java.lang.Integer;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.font.*;
    import java.awt.geom.*;
    import java.awt.image.*;
    import java.awt.event.ItemListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.*;
    import java.awt.Graphics.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.text.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    import javax.swing.JApplet.*;
    import javax.swing.JFrame.*;
    import java.applet.Applet;
    import javax.swing.border.*;
    import javax.swing.Spring.*;
    import java.awt.geom.AffineTransform;
    import java.awt.Graphics2D;
    import java.beans.PropertyChangeListener;
    import java.beans.PropertyChangeEvent;
    import java.math.*;
    public class Test extends JApplet{
    JFormattedTextField Relfield;
    JFormattedTextField Relfield2;
    JFormattedTextField Relfield3;
    GridLayout layout = new GridLayout();
    public void init() {
    Double d = 0.0;
    Double e = 0.0;
    Relfield2 = new JFormattedTextField();
    Relfield3 = new JFormattedTextField();
    Relfield = new JFormattedTextField();
    Relfield.setText(d + "");
    Relfield2.setText(e + "");
    TextFieldHandler handlers = new TextFieldHandler();
    Relfield.addPropertyChangeListener(handlers);
    JButton button1 = new JButton("1");
    JButton button2 = new JButton("2");
    button1.addActionListener(new T5C());
    button2.addActionListener(new T6C());
    Container c = getContentPane();
    c.setLayout(layout);
    c.add(Relfield);
    c.add(Relfield2);
    c.add(button1);
    c.add(button2);
    class T5C implements ActionListener
    public void actionPerformed(ActionEvent e) {
    Double b = (Double)(Double.parseDouble(Relfield.getText())) + 1;
    Relfield.setValue(b + "");
    Relfield2.setValue(b + "");
    class T6C implements ActionListener
    public void actionPerformed(ActionEvent e) {
    Double b = (Double)(Double.parseDouble(Relfield.getText())) - 1;
    Relfield.setValue(b + "");
    Relfield2.setValue(b + "");
    public class TextFieldHandler implements PropertyChangeListener {
    public void propertyChange(PropertyChangeEvent e) {
    Object source = e.getSource();
    if (source == Relfield) {
    Double Rel = ((Double)Relfield.getValue()).doubleValue();
    Relfield.setValue(Rel);
    Relfield2.setValue(Rel);
    //BigDecimal myu = new BigDecimal("Relfield.getValue()");
    public static void main( String[] argv ) {
            JFrame frame = new JFrame( "General Shear Mode Damper Design" );
            frame.addWindowListener( new WindowAdapter(){
                public void windowClosing( WindowEvent e ){
                    System.exit( 0 );
            JApplet applet = new Test();
            frame.getContentPane().add(applet);
            applet.init();
            frame.setSize( 1020, 720);
            frame.setVisible(true);
    }

    The applet is not running at all and I can't figure out the error messages.
    The error messages are below:
    C:\Users\zite.1\Desktop>javac Test.java
    C:\Users\zite.1\Desktop>java Test
    Exception in thread "main" java.lang.NullPointerException
    at Test$TextFieldHandler.propertyChange(Test.java:89)
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
    at java.awt.Component.firePropertyChange(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at javax.swing.JRootPane.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at java.awt.Panel.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at javax.swing.JComponent.addNotify(Unknown Source)
    at javax.swing.JRootPane.addNotify(Unknown Source)
    at java.awt.Container.addNotify(Unknown Source)
    at java.awt.Window.addNotify(Unknown Source)
    at java.awt.Frame.addNotify(Unknown Source)
    at java.awt.Window.show(Unknown Source)
    at java.awt.Component.show(Unknown Source)
    at java.awt.Component.setVisible(Unknown Source)
    at java.awt.Window.setVisible(Unknown Source)
    at Test.main(Test.java:112)

  • # key not working in linux

    Hi
    I have been using jbuilder5 in windows and have created an application. It works fine in windows but when i move to linux(SuSe v7.3) the # key does not work. Even in jbuilder the # key does not work.
    It is not the keyboard settings as in other non java applications the # key works. I am using the jdk 1.3 and I am using swing to get the text.
    Has anyone heard of this problem and do you know how to overcome this.
    Thanks

    there used to be a bug in JTable - some characters did not work, the most popular being the lower capital "q"; "#" is also part of the game.
    check out the following bug in the bug parade which also contains a workaround. I am not sure if it applies to the java version you are using, but you can give it a try.
    http://developer.java.sun.com/developer/bugParade/bugs/4233223.html
    For those of us who can't wait for "Kestrel" here is a workaround...
    public class KeyedTable extends JTable {
        public KeyedTable() {
            patchKeyboardActions();
          * Other constructors as necessary
        private void registerKeyboardAction(KeyStroke ks, char ch) {
            registerKeyboardAction(new KeyboardAction(ks, ch),
                ks,
                JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        private void registerKeyboardAction(char ch) {
            KeyStroke ks = KeyStroke.getKeyStroke(ch);
            registerKeyboardAction(new KeyboardAction(ks, ch),
                ks,
                JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        private void patchKeyboardActions() {
            registerKeyboardAction(KeyStroke.getKeyStroke("Q"), 'q');
            registerKeyboardAction('"');
            registerKeyboardAction('(');
            registerKeyboardAction('$');
            registerKeyboardAction('!');
            registerKeyboardAction('%');
            registerKeyboardAction('&');
            registerKeyboardAction('#');
            registerKeyboardAction('\'');
        private class KeyboardAction implements ActionListener {
            char ch;
            KeyStroke ks;
            public KeyboardAction(KeyStroke ks, char ch) {
                this.ks = ks;
                this.ch = ch;
            public void actionPerformed(ActionEvent e) {
                Component editorComp = getEditorComponent();
                if (isEditing() &&
                    editorComp != null &&
                    editorComp.isVisible() &&
                    SwingUtilities.findFocusOwner(KeyedTable.this) == editorComp)
                    return;
                int anchorRow = getSelectionModel().getAnchorSelectionIndex();
                int anchorColumn =
    getColumnModel().getSelectionModel().getAnchorSelectionIndex();
                if (anchorRow != -1 && anchorColumn != -1 &&
    !isEditing()) {
                    if (!editCellAt(anchorRow, anchorColumn)) {
                        return;
                    else {
                        editorComp = getEditorComponent();
                if (isEditing() && editorComp != null) {
                    if (editorComp instanceof JTextField) {
                        JTextField textField = (JTextField)editorComp;
                        Keymap keyMap = textField.getKeymap();
                        Action action = keyMap.getAction(ks);
                        if (action == null) {
                            action = keyMap.getDefaultAction();
                        if (action != null) {
                            ActionEvent ae = new ActionEvent(textField,
    ActionEvent.ACTION_PERFORMED,
                                                             String.valueOf(ch));
                            action.actionPerformed(ae);
    }

  • Why id this not working? Please Help...

    This part in my action performed is not working. the buttons on my second form is not responding at all!!! Please help ...
         public void actionPerformed(ActionEvent ae)
              if(ae.getSource() == itmAddD)
                   frmAddDriver.setVisible(true);
                   String name;
                   String surname;
                   String work;
                   int age = 0;
                   if(ae.getSource() == btnAddAD)
                   if(!((txtAgeAD.getText().equals("")) && (txtSurnameAD.getText().equals("")) && (txtNameAD.getText().equals(""))))
                             name = txtNameAD.getText();
                             surname = txtSurnameAD.getText();
                             try
                                  age = Integer.parseInt(txtAgeAD.getText());
                                  addDriver.add(new MyDriver(name, surname, age, cboWorkAD.getSelectedItem()));
                                  cboDriver.addItem(name);
                                  for(int i = 0; i < addDriver.size(); i++)
                                       System.out.println(addDriver.elementAt(i));
                             catch(NumberFormatException err)
                                  JOptionPane.showMessageDialog(frmMyGUI, "Age should be numeric","Error", JOptionPane.ERROR_MESSAGE);
                   else if(ae.getSource() == btnCancelAD)
                        frmMyGUI.dispose();

    You're a crazy maniac. The reason none of your buttons (bar one) are working is because you nested all the if statements....
    if(ae.getSource() == itmAddD)
        if(ae.getSource() == btnAddAD)
            // how is this ever going to be true?Un-nest them.
    Cheers,
    Radish21

  • My Escape key is not working

    Hi,
    I am Meena.
    I am doing a project using NetBeans and MS-Access.
    When I run my project a internal framed named login loaded on the jdesktoppane which in JFrame.
    So in the login internal frame i used two buttons one for Sign-in and another for sign out.
    So I combined the Sign-in button with Enter key and Sign-out button with Escape key by the following coding.
    I wrote the following coding in LoginInternalFrame->properties->enabled->advanced->Generate PreIntialization Code.
    Action EscFromLogin=new AbstractAction()
    public void actionPerformed(ActionEvent e)
        jButton2.doClick();
    Action OkFromLogin=new AbstractAction()
        public void actionPerformed(ActionEvent e)
           jButton1.doClick();
    getRootPane().getInputMap(jButton2.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0,false),"Esc_in_Login");
    getRootPane().getActionMap().put("Esc_in_Login",EscFromLogin);
    getRootPane().getInputMap(jButton1.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0,false),"Ok_in_Login");
    getRootPane().getActionMap().put("Ok_in_Login",OkFromLogin);In the above coding Enter key works well no problem.that is when I press the Enter key ,it combined with Sign-in button and works well.
    But when I press Escape key,it doesnot combined with Sign-off button.
    that is nothing is happening when I press Esc key.
    So i change the Escape key and test with F1 then F2 then F3 all are combined with Sign-off button and works well.But only the escape key is not working.
    But I have so many internal frames .In all internalframes my esc key works well.But not in the first inter frame(login internalframe)
    I couldnot understand the reason.
    Will you please help me to solve.
    Thank you so much.
    Meena

    mmm, i'm doing some tests and the case is working for me... The reason F1,F2 keys works while ESC don't is that some component is "eating" the ESC key. Probably your password textField, but it is not its default behaviour. For example, try to replace the textField with a FormattedTextField, write something into it and press ESC, this first ESC is consumed by the FormattedTextField, if you press ESC a second time the FormattedTextField not consume it, so the ESC keystroke processing is given to the rest of the componentes until one of they consume it (basically). So, how can you solve th problem? Try to determine which component is the "escape-eater". Once you detected it try to determine which properties are set and if this properties can alter the keyboard mapping. The problem can be difficult to repeat for us because the look and feel, java version, etc. can affect the system behaviour too. A global hook to ESC can also be the reason (maybe esc key it's not reaching ths components), try to override ProcessKeyBindings and log the results....

  • {@inheritDoc} not working for Java Classes

    Hello,
    i am using {@inheritDoc} for inherting super class's JavaDoc for a perticular function..
    It is working, if super class is my own class. i am able to see all JavaDoc in child class.
    But when i use {@inheritDoc} for extending JavaDoc of java class it is not working.
    i.e. if i am writing {@inheritDoc} in public void actionPerformed(ActionEvent e) method..
    It wont show any javadoc..
    How to add it? Do i need to give source of java classes too???
    And if it is Yes, then where to specifiy. and where to find source of Java classes, do they come with JDK? or NetBeans?? (If yes then where it is in JDK or Netbeans???)
    Thanks,
    Nachiket.

    Yes, you need to have the Java source, with the -sourcepath option, as described here:
    Inheriting Comments from J2SE - Your code can also automatically inherit comments from interfaces and classes in the J2SE. You can do this by unzipping the src.zip file that ships with the SDK (it does not contain all source files, however), and add its path to -sourcepath. When javadoc runs on your code, it will load the doc comments from those source files as needed. For example, if a class in your code implements java.lang.Comparable, the compareTo(Object) method you implement will inherit the doc comment from java.lang.Comparable.
    http://java.sun.com/j2se/javadoc/faq/#incrementalbuild
    If you want the full Java source get it from here:
    http://www.sun.com/software/communitysource/j2se/java2/index.xml
    http://java.sun.com/j2se/javadoc/faq/#sourcecode
    -Doug

  • Serialization not working in one way

    I tried to serialize a String object from and to an applet. The servlet to applet communication is working properly. But applet to servlet serialization is not working, but no exceptions are thrown. Please help me. Thank you very much.(I have given the complete source code bellow)
    =================================
    APPLET SOURCE CODE
    =================================
    import java.net.*;
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    public class TestApplet extends Applet {
    Button send = new Button();
    Button receive = new Button();
    TextArea textarea = new TextArea();
    BorderLayout borderLayout1 = new BorderLayout();
    public void init() {
    send.setLabel("send");
    send.addActionListener(new Send_Listener());
    receive.setLabel("receive");
    receive.addActionListener(new Receive_Listener());
    this.setLayout(borderLayout1);
    this.add(send, BorderLayout.NORTH);
    this.add(textarea, BorderLayout.CENTER);
    this.add(receive, BorderLayout.SOUTH);
    void sendObject(){
    try{
    URL url = new URL(getCodeBase(), "/servlets/testservlet");
    URLConnection servletConnection = url.openConnection();
    servletConnection.setDoInput(true);
    servletConnection.setDoOutput(true);
    servletConnection.setUseCaches (false);
    servletConnection.setDefaultUseCaches (false);
    servletConnection.setRequestProperty ("Content-Type", "application/octet-stream");
    ObjectOutputStream outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
    outputToServlet.writeObject("some string here");
    outputToServlet.flush();
    outputToServlet.close();
    textarea.append("aplet has send the object to the servlet\n");
    }catch(Exception e){
    textarea.append("EXCEPTION THROWN IN THE APPLET IN SENDOBJECT\n");
    void getObject(){
    try{
    URL url =new URL(getCodeBase(), "/servlets/testservlet");
    URLConnection servletConnection = url.openConnection();
    servletConnection.setUseCaches (false);
    servletConnection.setDefaultUseCaches(false);
    ObjectInputStream inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
    String aString=(String)inputFromServlet.readObject();
    textarea.append(aString+"\n");
    textarea.append("aplet has received the object from the servlet\n");
    }catch(Exception e){
    textarea.setText("EXCEPTION THROWN IN THE APPLET IN GETOBJECT\n");
    class Send_Listener implements ActionListener{
    public void actionPerformed(java.awt.event.ActionEvent e){
    sendObject();
    class Receive_Listener implements ActionListener{
    public void actionPerformed(java.awt.event.ActionEvent e){
    getObject();
    ===================================
    SERVLET SOURCE CODE
    ===================================
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    public class TestServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try
    ObjectOutputStream outputToApplet = new ObjectOutputStream(response.getOutputStream());
    String aString= (String) request.getSession().getAttribute("ID");
    outputToApplet.writeObject("this is the string object: "+aString);
    outputToApplet.flush();
    outputToApplet.close();
    System.out.println("object send to applet:"+aString+"\n");
    catch (IOException e)
    System.out.println("EXCEPTION IN DOGET\n");
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    try {
    ObjectInputStream inputFromApplet = new ObjectInputStream(request.getInputStream());
    String aString = (String) inputFromApplet.readObject();
    request.getSession().setAttribute("ID", aString);
    inputFromApplet.close();
    System.out.println("object received from applet:"+aString+"\n");
    catch(Exception e)
    System.out.println("EXCEPTION IN DOPOST\n");

    There are some things in Java which can't be serialized. When contained within a higher-level class such as Buttons. A button can be associated with an Action Listener. Now, you can serialize a button; however you can't serialize an action listener - for what should be to you obvious reasons. This is NOT an error and so there is no need to throw an exception when serializing the button.
    Basically: Applet sends servlet button, but not listener.

Maybe you are looking for

  • Dunning Smartform issue

    While configuring the Smartform for Dunning F150_DUNN_SF it says that it is does not active nor exists.  Then added this function module FI_PRINT_DUNNING_NOTICE_SMARTF using the transaction code BF31.  Suggested by SAP Note. When dunning transaction

  • Thunderbird crashes when importing high amount of Outlook Express .dbx files.

    Greetings ! I'm trying to make a migration from Outlook Express to Thunderbird for a professional. His mail folder is made of around 1400 .dbx files (18GB of mails -woh-). Every time I'm trying to do the importation, Thunderbird crashes. I think I sh

  • Reading from a file. How to ask the user for file name at run time????

    I have the code to read from a file but my problem is how to prompt the user for the file name at run time. import java.io.File; import java.io.FileNotFoundException; import java.util.InputMismatchException; import java.util.Scanner; public class Fil

  • How to recover after a win 8.1 upgrade goes wrong.

    7 days ago i bought a Pavillion laptop and yesterday I upgraded to windows 8.1, after 5 hours  it finally said to restart, however now I cannot get past the login screen,  after entering my pin the screen goes blank with the status bar and pointer fl

  • Poor image quality when displaying OLE Word doc stored in BLOB

    Hello, I am migrating some CR Reports from VB6 to VB.NET 2008. The reports retrieves Word documents that is stored in BLOB column on SQL Server 2005. If CR.NET (same behaviour with 2005 and 2008 versions) renders the word document, the quality is rea