Telcontar Thorongil [https://community.jboss.org/people/telcontarvi] created 
the discussion

"ClassCastException when modifiying JOptionPane behaviour"

To view the discussion, visit: https://community.jboss.org/message/725909#725909

--------------------------------------------------------------
I'm triying to modify the JOptionPane behaviour to log all the user responses. 
If do it when the class is loaded with HotsSapper is OK, but i can't do it 
whith the HotSwapper because the application it's launched by Java Web Start 
and i haven't be able to open the needed socket.

If i try to modify the class before it's loaded i have an ClassCastException 
throwed by BasicOptionPaneUI. there is the code i use:


public class Test2 {
    public static void main(String[] args) throws Exception {
        ClassPool cp = ClassPool.getDefault();
        CtClass cc = cp.get("javax.swing.JOptionPane");
        CtMethod[] methods = cc.getMethods();
        for (CtMethod method : methods) {
            if (method.getName().equals("showConfirmDialog")) {
                
if(method.getLongName().equals("javax.swing.JOptionPane.showConfirmDialog(java.awt.Component,java.lang.Object,                              
 java.lang.String,int,int,javax.swing.Icon)")){
                    String after = "System.out.println(\"User answered: \" + $_ 
);";
                    method.insertAfter(after);
                }
            }
        }
        try{
            Class c=cc.toClass();
            c.newInstance();
        }catch(CannotCompileException ex){
            ex.printStackTrace();
        }
        JOptionPane.showConfirmDialog(null,"Yer or Not?");
    }
}

Why is this happening? how can i fix it?
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/725909#725909]

Start a new discussion in Javassist at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2062]

_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to