salmaox 0 Denunciar post Postado Maio 12, 2009 bom dia pessoal criei um campo para foto e gostaria de deixar a foto sempre com tam 3X4, alguém poderia me ajudar? pois está dando um erro na linha g.drawImage(image, 3, 4,this); segue o erro Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at telas.CadAluno.btFotoActionPerformed(CadAluno.java:829) at telas.CadAluno.access$000(CadAluno.java:28) at telas.CadAluno$1.actionPerformed(CadAluno.java:167) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.jav a:236) at java.awt.Component.processMouseEvent(Component.java:6041) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5806) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4413) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2440) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273 ) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173 ) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) segue o cód private void btFotoActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser fotoaluno = new JFileChooser(); fotoaluno.setMultiSelectionEnabled(false); fotoaluno.setDialogTitle("Selecione a foto desejada"); fotoaluno.setFileFilter( new FileFilter(){ public boolean accept( File f ) { return f.getName().toLowerCase().endsWith(".jpg") || f.isDirectory(); } public String getDescription() { return "Arquivos de Imagem(*.jpg)"; } } ); fotoaluno.setDialogType(javax.swing.JFileChooser.SAVE_DIALOG); fotoaluno.setFileSelectionMode(javax.swing.JFileChooser.FILES_AND_DIRECTORIES); fotoaluno.setSelectedFile(new File("imagem")); int res = fotoaluno.showDialog(this, "Salvar"); if(res == JFileChooser.APPROVE_OPTION){ File arquivo = fotoaluno.getSelectedFile(); String nomedoarquivo = arquivo.getPath(); System.out.println(nomedoarquivo); JPicture.setIcon(new javax.swing.ImageIcon(nomedoarquivo)); Graphics g = null; Image image = new ImageIcon(nomedoarquivo).getImage(); g.drawImage(image, 3, 4,this); } } obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Maio 12, 2009 Eu ainda não tive a oportunidade de utilizar as APIs para Java 2D, então não posso ajudar em muita coisa. Porém, o erro é que está dando é devido ao ponteiro nulo. Seu objeto está sem referências (null). Graphics g = null; // Objeto nulo, sem referência. Image image = new ImageIcon(nomedoarquivo).getImage(); g.drawImage(image, 3, 4,this); // Aqui ocorre a Exception Compartilhar este post Link para o post Compartilhar em outros sites