Eai pessoal, nao é o primeiro post meu tentando resolver esse problema…
Eu tento converter os valores de alguns textfields em Double, e utilizar esses valores para desenhar formas geometricas.
Aqui o código:
Esse é o frame principal:
[code]public class Wallpaper extends JFrame {
String colunaRV,comprimentoRV,linhaRV,larguraRV,colunaEV,comprimentoEV,linhaEV,larguraEV,colunaLV,comprimentoLV,linhaLV,larguraLV;
botao1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if (retangulo.isSelected() == true && elipse.isSelected() == true && linha.isSelected() == true){
colunaRV = (colunaRetangulo.getText());
linhaRV = (linhaRetangulo.getText());
larguraRV = (larguraRetangulo.getText());
comprimentoRV = (comprimentoRetangulo.getText());
colunaEV = (colunaElipse.getText());
linhaEV = (linhaElipse.getText());
larguraEV = (larguraElipse.getText());
comprimentoEV = (comprimentoElipse.getText());
colunaLV = (colunaLinha.getText());
linhaLV = (linhaLinha.getText());
larguraLV = (larguraLinha.getText());
comprimentoLV = (comprimentoLinha.getText());
RELJFrame jframeREL = new RELJFrame();
jframeREL.setVisible(true);
}
}
}[/code]
Esse é o panel onde vai os desenhos:
[code]public class REL extends JPanel {
Wallpaper jframeWallpaper = new Wallpaper();
public Rectangle2D r(){
return new Rectangle2D.Double(Double.parseDouble(jframeWallpaper.colunaRV),Double.parseDouble(jframeWallpaper.linhaRV),Double.parseDouble(jframeWallpaper.larguraRV),Double.parseDouble(jframeWallpaper.comprimentoRV));
}
public Line2D l(){
return new Line2D.Double(Double.parseDouble(jframeWallpaper.colunaLV),Double.parseDouble(jframeWallpaper.linhaLV),Double.parseDouble(jframeWallpaper.larguraLV),Double.parseDouble(jframeWallpaper.comprimentoLV));
}
public Ellipse2D e(){
return new Ellipse2D.Double(Double.parseDouble(jframeWallpaper.colunaEV),Double.parseDouble(jframeWallpaper.linhaEV),Double.parseDouble(jframeWallpaper.larguraEV),Double.parseDouble(jframeWallpaper.comprimentoEV));
}[/code]
[code]public void paintComponent(Graphics graphics)
{
super.paintComponent(graphics);
AffineTransform at =
AffineTransform.getTranslateInstance(w / 2, h / 2);
g.draw(at.createTransformedShape(l()));
g.draw(at.createTransformedShape(r()));
g.draw(at.createTransformedShape(e()));
g.dispose();
} [/code]
Quando eu clico em desenhar, nao aparece nada na tela a nao ser um pequeno retangulo branco no topo esquerdo do frame e o netbeans ta volta esse erro:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
at java.lang.Double.parseDouble(Double.java:510)
at wallpapers.REL.r(REL.java:19)
at wallpapers.REL.paintComponent(REL.java:51)
at javax.swing.JComponent.paint(JComponent.java:1029)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paint(JComponent.java:1038)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
at javax.swing.JComponent.paintChildren(JComponent.java:862)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1479)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1410)
at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
at javax.swing.JComponent.paint(JComponent.java:1015)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1780)
at java.awt.Window.paint(Window.java:3375)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Pelo que eu entendi ta dando problema na coversao dos valores (?)
Alguem sabe como conserto isso? Ou pelo menos me dizer exatamente o que esta acontecendo?