Cosa significa questa eccezione,generata da un cast??
codice:java.lang.ClassCastException at swingtest.MenuClass.actionPerformed(MenuClass.java:97) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.AbstractButton.doClick(AbstractButton.java:289) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1113) at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Window.dispatchEventImpl(Window.java:1606) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) CODICE: public class MenuClass /*extends JDesktopPane*/ implements ActionListener{ public JMenuBar barra = new JMenuBar(); private JMenu file = new JMenu("File"); private JMenu effect = new JMenu("Effect"); private JMenuItem esci = new JMenuItem("Esci"); private JMenuItem salva = new JMenuItem("Salva"); private JMenuItem salvaas = new JMenuItem("Salva con nome"); private JMenuItem apri = new JMenuItem("Apri"); private JMenuItem inverti = new JMenuItem("Inverti"); private JMenuItem luminosita = new JMenuItem("Luminosità"); private JMenuItem contrasto = new JMenuItem("Contrasto"); private JFileChooser aprifile = new JFileChooser(); public JDesktopPane desktop = new JDesktopPane(); public JFileChooser salvafile=new JFileChooser("C:\\Programmi"); public JOptionPane pannellosalva = new JOptionPane(); private JOptionPane pannello = new JOptionPane(); public ImagePanel pannelloimmagine; public JInternalFrame finestra; public RenderedImage immagine; public JSlider sld; public JScrollPane srcimgpanel; public DisplayJAI srcimg; public OperationClass operazioni = new OperationClass(); public MenuClass() { barra.add(file); barra.add(effect); file.add(apri); file.add(salva); file.add(salvaas); file.add(esci); effect.add(inverti); effect.add(luminosita); effect.add(contrasto); apri.addActionListener(this); salvaas.addActionListener(this); esci.addActionListener(this); inverti.addActionListener(this); } private String openFile(){ aprifile.setDialogTitle("Scegli Immagine"); aprifile.showOpenDialog (pannello); String fileName = new String(aprifile.getSelectedFile().toString()); return fileName; } public void actionPerformed(ActionEvent ae) { if(ae.getSource() == esci){ System.exit(0); } if(ae.getSource() == apri){ String fileName =openFile(); pannelloimmagine = new ImagePanel(); finestra = pannelloimmagine.CreatePanel(fileName); desktop.add(finestra); } if(ae.getSource() == salvaas){ try{ salvafile.setDialogTitle("Inserisci percorso"); salvafile.showSaveDialog(pannellosalva); String filesalvato = new String(salvafile.getSelectedFile().toString()); JAI.create("filestore", immagine, filesalvato, "BMP", null); } catch(Exception a){ System.out.println("Operazione annullata dall'utente"); } } if(ae.getSource() == inverti){ immagine = ((ImagePanel)desktop.getSelectedFrame()).getOriginalImage(); if(immagine != null) { srcimg = operazioni.Inverti(immagine); pannelloimmagine = new ImagePanel(); finestra = pannelloimmagine.CreatePanel(srcimg); desktop.add(finestra); } else{ System.out.print("errorei invert"); } } } } public class ImagePanel extends JInternalFrame { public JInternalFrame finestra,pan; public JScrollPane srcimgpanel; public DisplayJAI srcimg; public RenderedImage imgsrc; public ImagePanel() { } public JInternalFrame CreatePanel(String fileName) { imgsrc = JAI.create("fileload", fileName); finestra = new JInternalFrame(fileName, true, true, true, true); finestra.setSize(640,480); srcimgpanel = new JScrollPane(); srcimg = new DisplayJAI(imgsrc); srcimgpanel.getViewport().add(srcimg); setPreferredSize(new Dimension(640, 480)); finestra.getContentPane().add(srcimgpanel); finestra.setVisible(true); return finestra; } public JInternalFrame CreatePanel(DisplayJAI immagine){ finestra = new JInternalFrame("Immagine Modificata",true,true,true,true); finestra.setSize(640,480); srcimgpanel = new JScrollPane(); srcimgpanel.getViewport().add(immagine); finestra.getContentPane().add(srcimgpanel); finestra.setVisible(true); return finestra; } public RenderedImage getOriginalImage() { return imgsrc; } }

Rispondi quotando

