मैं एक संवाद खिड़की कि निम्न कोड से शुरू हो जाती है (DialogController
मॉडल संवाद खिड़कियों प्रयोग करने के लिए एक सहायक वर्ग है, यह मुख्य रूप से अपनी खिड़की के साथ एक नियंत्रक संदर्भ एक साथ बंडल) है:JavaFX IllegalAccessException()
void handleServicesEdit(ActionEvent event) throws IOException {
DCServRecEditor sre = DialogController.<DCServRecEditor>loadFXML(
CensusAssistant.RES_FXML_DIALOG_SERVEDIT,
CensusAssistant.RES_STRING_SERVEDIT,
this.getDialog());
sre.setDialogMode(DB.DBEDIT_MODE_EDIT,
tbvService.getItems(),
tbvService.getSelectionModel().getSelectedIndex(),
m_encCal);
sre.showAndWait();
sre.release();
this.updateGUI();
}
मैंने पुष्टि की है कि मुझे FXMLLoader.load()
विधि के दौरान अपवाद मिलता है। मैंने यह भी निर्धारित किया है कि त्रुटि initialize()
विधि में किसी भी कोड को चलाने का मौका होने से पहले होती है। स्टैक ट्रेस कि मैं load()
से प्राप्त कर में से कुछ यहाँ है:
java.lang.IllegalAccessException: Class sun.reflect.misc.ReflectUtil
can not access a member of class org.kls.md.censusassistant.DCServRecEditor
with modifiers ""
file:/D:/Documents/NetBeansProjects/CensusAssistant/dist/run1284250063/CensusAssistant.jar!/org/kls/md/censusassistant/fxml/GUIServRecEditor.fxml:13
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:738)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:775)
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:180)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:563)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2314)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2131)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2028)
at org.kls.md.censusassistant.DialogController.loadFXML(DialogController.java:63)
at org.kls.md.censusassistant.DCMainEditor.handleServicesEdit(DCMainEditor.java:330)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
Caused by: java.lang.IllegalAccessException: Class sun.reflect.misc.ReflectUtil
can not access a member of class org.kls.md.censusassistant.DCServRecEditor
with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95)
at java.lang.Class.newInstance0(Class.java:368)
at java.lang.Class.newInstance(Class.java:327)
at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:46)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:731)
... 66 more
मेरी कक्षा DCServRecEditor
DialogController
का एक उपवर्ग है। यह एक सुंदर सामान्य देख FXML नियंत्रक वर्ग है:
class DCServRecEditor extends DialogController {
private int m_dialogMode = DB.DBEDIT_MODE_ADD;
private int m_selServ = -1;
private GregorianCalendar m_cal = null;
@FXML // ResourceBundle that was given to the FXMLLoader
private ResourceBundle resources;
@FXML // URL location of the FXML file that was given to the FXMLLoader
private URL location;
@FXML // fx:id="ancMatchSelector"
private AnchorPane ancMatchSelector; // Value injected by FXMLLoader
@FXML // fx:id="ancServEditor"
private AnchorPane ancServEditor; // Value injected by FXMLLoader
@FXML // fx:id="ancServRecEditor"
private AnchorPane ancServRecEditor; // Value injected by FXMLLoader
...
}
मेरे पास है, डबल और ट्रिपल सुनिश्चित करें कि वहाँ FXML में एक नामित नियंत्रण है कि यह भी नियंत्रक कक्षा में एक उदाहरण क्षेत्र नहीं था नहीं था बनाने के लिए जाँच की । सभी इंस्टेंस फ़ील्ड @FXML
के साथ टैग किए गए हैं।
FXML में नियंत्रक वर्ग का नाम मेरी जावा फ़ाइल जैसा ही है और यह ठीक से योग्य है। त्रुटि initialize()
से पहले होती है, इसलिए मुझे नहीं लगता कि यह initialize()
के साथ कुछ भी है, हालांकि मैंने यह सुनिश्चित करने के लिए जांच की है कि इसे @FXML
के साथ भी टैग किया गया है।
मेरी नियंत्रक वर्ग के लिए कंकाल की नकल की और दृश्य से चिपकाया बिल्डर गया था ... मुझे यकीन है कि वहाँ एक नियंत्रण मैं याद आ रही थी नहीं था होना करने के लिए दृश्य बिल्डर से सामान के ब्लॉक वापस चला गया और repasted गए मेरी जावा फाइल में
त्रुटि संदेश मुझे उस सदस्य के बारे में कोई विशिष्ट जानकारी नहीं देता है जिसमें इसकी समस्या है, इसके अलावा यह कहना है कि इसमें संशोधक हैं ""। मैं अपने नियंत्रक वर्ग में वापस गया और सभी सदस्यों को डिफ़ॉल्ट पहुंच public
के साथ बनाया, और मुझे अभी भी त्रुटि मिल गई है।
मुझे यह भी नहीं पता कि मेरी कक्षा में समस्या कहां से आ रही है। किसी के पास कोई गलत विचार है कि यहां क्या गलत हो रहा है?
स्कॉट मुझे लगता है कि आपको सही उत्तर के रूप में अपना उत्तर चिह्नित करने में सक्षम होना चाहिए। – jewelsea
अनुस्मारक के लिए धन्यवाद।यह कहता है कि मुझे कल तक इंतजार करना है। – scottb
एक ही त्रुटि से मैंने एक टेबल व्यू तत्व –