Zum Inhalt springen

JavaGUI - externes JPanel einbinden


Empfohlene Beiträge

Geschrieben

Hey,

ich hab da mal wieder ein Problemchen,

ich habe in meinem Projekt aufgeräumt, und bin dabei auf die Idee gekommen, dass man ja bei 20 unterschiedlichen Panels, diese gut als eigene class in einem eigenen File erstellen und ein "extends JPanel" hinten dran zu pappen, wegen der Ordnung und so.

Jetzt ist es nur so, das wenn ich im MainProjekt ein Panel einfüge, dass er dann das Panel leer anzeigt, obwohl im aufgerufenen Panel ja eigentlich Daten drinnen stehen sollten, hier mal mein Code(alles mit netbeans zusammengeklickt) :

public class TestView extends FrameView {

private javax.swing.JPanel mainPanel;

public TestView(SingleFrameApplication app) {
super(app);
initComponents();
}
[...]
private void initComponents() {
mainPanel = new panelOS();
mainPanel.setName("mainPanel"); // NOI18N

javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 252, Short.MAX_VALUE)
);
[...]
setComponent(mainPanel);
[...]
}
}[/PHP]

Einfach nur ein mit netbeans standard Panel + irgendwas reingeklickt um zu gucken ob er des richtige anzeigt:

[PHP]/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* panelOS.java
*
* Created on 24.02.2010, 11:23:22
*/

package testapp;

/**
*
* @author jschmi48
*/
public class panelOS extends javax.swing.JPanel {

/** Creates new form panelOS */
public panelOS() {
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">
private void initComponents() {

jTextField1 = new javax.swing.JTextField();
jRadioButton1 = new javax.swing.JRadioButton();
jToggleButton1 = new javax.swing.JToggleButton();

setName("Form"); // NOI18N

org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(testapp.TestApp.class).getContext().getResourceMap(panelOS.class);
jTextField1.setText(resourceMap.getString("jTextField1.text")); // NOI18N
jTextField1.setName("jTextField1"); // NOI18N

jRadioButton1.setText(resourceMap.getString("jRadioButton1.text")); // NOI18N
jRadioButton1.setName("jRadioButton1"); // NOI18N

jToggleButton1.setText(resourceMap.getString("jToggleButton1.text")); // NOI18N
jToggleButton1.setName("jToggleButton1"); // NOI18N

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(68, 68, 68)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jToggleButton1)
.addComponent(jRadioButton1))
.addContainerGap(227, Short.MAX_VALUE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(0, 170, Short.MAX_VALUE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 171, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(116, 116, 116)
.addComponent(jRadioButton1)
.addGap(44, 44, 44)
.addComponent(jToggleButton1)
.addContainerGap(94, Short.MAX_VALUE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(0, 140, Short.MAX_VALUE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 140, Short.MAX_VALUE)))
);
}// </editor-fold>


// Variables declaration - do not modify
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JTextField jTextField1;
private javax.swing.JToggleButton jToggleButton1;
// End of variables declaration

}

Geschrieben

Wird nich in der Klasse TestView das Layout des Panels überschrieben? Sieht meinermeinung so aus, jedoch hab ich mir noch nie GUIs zusammengeklickt mit NetBeans. Ist GroupLayout was NetBeans-eigenes? Hab ich erlich gesagt vorher noch nie gesehen.

Geschrieben (bearbeitet)

Jaaah genau daran liegt es... ich dachte die ganze Zeit ich weise dem einfach nur ein neues Layout zu, weil ich es nicht gewöhnt bin, dass irgendwo im Interface nur ein .add befehl steht, das ist eindeutig zu wenig, als das meine Augen das wahrnehmen könnten, habs einfach überlesen...

Ich danke dir ^__^

ne grouplayout ist standardmäßig bei swing mit dabei:

GroupLayout (Java Platform SE 6)

Bearbeitet von madbat

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...