franksisca
04-01-2012, 10:11
allora, ho messo all'interno della cartella src i miei vari file, ai quali devo accedere per compilare alcuni campi:
questo è il codice:
private void compilaSoci() {
{
FileReader fileReader = null;
try {
fileReader = new FileReader(new File(getClass().getResource("/src/archive/socio.txt").toURI()));
// fileReader = new FileReader(new File("src/archive/socio.txt"));
BufferedReader buffer = new BufferedReader(fileReader);
String linea = buffer.readLine();
while (linea != null) {
this.socioComboBox.addItem(linea);
linea = buffer.readLine();
}
} catch (URISyntaxException ex) {
Logger.getLogger(PannelloInserimentoAssociati.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(PannelloAggiungiServizio.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fileReader.close();
} catch (IOException ex) {
Logger.getLogger(PannelloInserimentoAssociati.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
che genera questo errore:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at view.PannelloInserimentoAssociati.compilaSoci(PannelloInserimentoAssociati.java:90)
at view.PannelloInserimentoAssociati.<init>(PannelloInserimentoAssociati.java:43)
at view.PannelloGeneraleAssociati.addAssociatoActionPerformed(PannelloGeneraleAssociati.java:174)
at view.PannelloGeneraleAssociati.access$500(PannelloGeneraleAssociati.java:26)
at view.PannelloGeneraleAssociati$6.actionPerformed(PannelloGeneraleAssociati.java:125)
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.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
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)
ovviametne il problema è nella creazione del filereader
nel caso in cui il codice sia quello commentato funziona senza problemi, nell'altro no. Ma ovviamente per usare l'applicazione su macchine diverse devo usare la prima soluzione, ovvero quella con path "assoluti". ora, chi mi aiuta, sò che la soluzione è davanti ai miei occhi,, ma al momento non riesco a vederla!!!
questo è il codice:
private void compilaSoci() {
{
FileReader fileReader = null;
try {
fileReader = new FileReader(new File(getClass().getResource("/src/archive/socio.txt").toURI()));
// fileReader = new FileReader(new File("src/archive/socio.txt"));
BufferedReader buffer = new BufferedReader(fileReader);
String linea = buffer.readLine();
while (linea != null) {
this.socioComboBox.addItem(linea);
linea = buffer.readLine();
}
} catch (URISyntaxException ex) {
Logger.getLogger(PannelloInserimentoAssociati.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(PannelloAggiungiServizio.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fileReader.close();
} catch (IOException ex) {
Logger.getLogger(PannelloInserimentoAssociati.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
che genera questo errore:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at view.PannelloInserimentoAssociati.compilaSoci(PannelloInserimentoAssociati.java:90)
at view.PannelloInserimentoAssociati.<init>(PannelloInserimentoAssociati.java:43)
at view.PannelloGeneraleAssociati.addAssociatoActionPerformed(PannelloGeneraleAssociati.java:174)
at view.PannelloGeneraleAssociati.access$500(PannelloGeneraleAssociati.java:26)
at view.PannelloGeneraleAssociati$6.actionPerformed(PannelloGeneraleAssociati.java:125)
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.java:236)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
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)
ovviametne il problema è nella creazione del filereader
nel caso in cui il codice sia quello commentato funziona senza problemi, nell'altro no. Ma ovviamente per usare l'applicazione su macchine diverse devo usare la prima soluzione, ovvero quella con path "assoluti". ora, chi mi aiuta, sò che la soluzione è davanti ai miei occhi,, ma al momento non riesco a vederla!!!