Hallo! Ich habe das Problem das ich Mit Netbeans und dem Integrierten GUI-Builder eine Swing app schreiben möchte. Diese soll per Knopfdruck ein Platzhalterpanel in mein gewünschtes Panel ändern.
Leider wird das Package in dem ich das Zielpanel gespeichert habe nicht gefunden.
Die Struktur sieht wiefolgt aus:
SA_PersonalDB
+crosscut (package)
+data (package)
-logic (package)
--viewLogic (package)
---PanelLoader.java
-view (package)
--testGUI (package)
---AddPanel.java
--GUI.java
----------------------------------------------------------------------
-Es gibt Eine PanelLoader Klasse:
[CODE lang="java" title="Panel Loader"]package SA_PersonalDB.logic.viewLogic;
import javax.swing.JPanel;
public class PanelLoader {
public void panelLoader(JPanel panel) {
SA_PersonalDB.view.GUI guiObjekt = new SA_PersonalDB.view.GUI();
guiObjekt.getPnlMain();
guiObjekt.setPnlMain(panel);
}
}
[/CODE]
-Ein Zielpanel welches aufgerufen werden soll (Der Code wurde vom GUI-Builder von Netbeans erstellt)
[CODE lang="java" title="Zielpanel mit dem GUI Builder Erstellt"]package SA_PersonalDB.view.testGUI;
public class AddPanel extends javax.swing.JPanel {
public AddPanel() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
setToolTipText("");
jLabel1.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
jLabel1.setText("Das hier ist das ADD PANEL");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(72, Short.MAX_VALUE)
.addComponent(jLabel1)
.addContainerGap(72, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(115, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(143, Short.MAX_VALUE)))
);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
// End of variables declaration//GEN-END:variables
}
[/CODE]
-Ich habe ein GUI klasse welche das Panel welches zu ändern ist und den Button(in dem fall wegen der Optik auch ein Panel) enthält. Hier die Aufrufe und der Kopf der Klasse:
[CODE lang="java" title="Kopf der GUI Klasse"]package SA_PersonalDB.view;
import javax.swing.JPanel;
import SA_PersonalDB.view.testGUI.AddPanel;
public class GUI extends javax.swing.JFrame {
public GUI() {
initComponents();
}
[/CODE]
In GUI Aufruf der Methode:
[CODE lang="java" title="in GUI" highlight="3"] private void pnlPassBarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlPassBarMouseClicked
SA_PersonalDB.logic.viewLogic.ColorChanges.sidebarButtonsClicked(pnlPassBar);
SA_PersonalDB.logic.viewLogic.PanelLoader.panelLoader(SA_PersonalDB.view.testGUI.AddPanel);
}//GEN-LAST:event_pnlPassBarMouseClicked
[/CODE]
Leider Bekomme ich immer den fehler das das Packet in welchem sich das Panel befindet nicht existiert :
"cannot find symbol
symbol: class testGUI
location: package SA_PersonalDB.view"
ich habe schon alles mögliche versucht und weis einfach nich wodran es liegt...
danke für eure Hilfe!
Leider wird das Package in dem ich das Zielpanel gespeichert habe nicht gefunden.
Die Struktur sieht wiefolgt aus:
SA_PersonalDB
+crosscut (package)
+data (package)
-logic (package)
--viewLogic (package)
---PanelLoader.java
-view (package)
--testGUI (package)
---AddPanel.java
--GUI.java
----------------------------------------------------------------------
-Es gibt Eine PanelLoader Klasse:
[CODE lang="java" title="Panel Loader"]package SA_PersonalDB.logic.viewLogic;
import javax.swing.JPanel;
public class PanelLoader {
public void panelLoader(JPanel panel) {
SA_PersonalDB.view.GUI guiObjekt = new SA_PersonalDB.view.GUI();
guiObjekt.getPnlMain();
guiObjekt.setPnlMain(panel);
}
}
[/CODE]
-Ein Zielpanel welches aufgerufen werden soll (Der Code wurde vom GUI-Builder von Netbeans erstellt)
[CODE lang="java" title="Zielpanel mit dem GUI Builder Erstellt"]package SA_PersonalDB.view.testGUI;
public class AddPanel extends javax.swing.JPanel {
public AddPanel() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
setToolTipText("");
jLabel1.setFont(new java.awt.Font("Comic Sans MS", 1, 18)); // NOI18N
jLabel1.setText("Das hier ist das ADD PANEL");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(72, Short.MAX_VALUE)
.addComponent(jLabel1)
.addContainerGap(72, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(115, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(143, Short.MAX_VALUE)))
);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
// End of variables declaration//GEN-END:variables
}
[/CODE]
-Ich habe ein GUI klasse welche das Panel welches zu ändern ist und den Button(in dem fall wegen der Optik auch ein Panel) enthält. Hier die Aufrufe und der Kopf der Klasse:
[CODE lang="java" title="Kopf der GUI Klasse"]package SA_PersonalDB.view;
import javax.swing.JPanel;
import SA_PersonalDB.view.testGUI.AddPanel;
public class GUI extends javax.swing.JFrame {
public GUI() {
initComponents();
}
[/CODE]
In GUI Aufruf der Methode:
[CODE lang="java" title="in GUI" highlight="3"] private void pnlPassBarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlPassBarMouseClicked
SA_PersonalDB.logic.viewLogic.ColorChanges.sidebarButtonsClicked(pnlPassBar);
SA_PersonalDB.logic.viewLogic.PanelLoader.panelLoader(SA_PersonalDB.view.testGUI.AddPanel);
}//GEN-LAST:event_pnlPassBarMouseClicked
[/CODE]
Leider Bekomme ich immer den fehler das das Packet in welchem sich das Panel befindet nicht existiert :
"cannot find symbol
symbol: class testGUI
location: package SA_PersonalDB.view"
ich habe schon alles mögliche versucht und weis einfach nich wodran es liegt...
danke für eure Hilfe!
Zuletzt bearbeitet: