Hinzufügen eines JPanel auf ein JFrame mit Netbeans
Ich erstellt JFrame
Klasse in Netbeans und generator habe ich hinzufügen jPanel
. Ich habe auch Klasse, die sich JPanel
. Jetzt möchte ich zum erstellen von Objekten dieser Klasse, und fügen Sie ihn auf der Stelle, wo ist mein Panel in JFrame
, aber ich kann nicht den richtigen Weg finden, denn alles, was ich versuche zu geben, keine Ergebnisse
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Frame f = new Frame();
jPanel1 = new MyPanel();
f.pack();
f.setVisible(true);
}
});
Ok, also, vielleicht werde ich mehr zeigen, präzises Beispiel was Rede ich:
erste Datei:
class MyPanel extends javax.swing.JPanel {
public MyPanel() {
initComponents();
}
}
Andere Datei, mit Rahmen:
public class Frame extends javax.swing.JFrame {
public Frame() {
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Frame f = new Frame();
MyPanel p = new MyPanel();
jPanel1 = p;
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;
Und ich will an der Stelle von jPanel1 - Objekt MyPanel
Lesen Sie den Swing-tutorials, wie es ist alles dort erklärt.
Ihre Frage bezieht sich auf die Verwendung eines
Es ist nicht, weil der Schwung aber, weil Netbeans
Zu sagen : ich erstellte JFrame I bedeutet, dass ich gebaut JFrame Form in Netbeans, und der name dieser Klasse ist Rahmen
Ihre Frage bezieht sich auf die Verwendung eines
JFrame
und der code sagt Frame
welches ist das richtige?Es ist nicht, weil der Schwung aber, weil Netbeans
Zu sagen : ich erstellte JFrame I bedeutet, dass ich gebaut JFrame Form in Netbeans, und der name dieser Klasse ist Rahmen
InformationsquelleAutor xyz | 2012-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Oben genannten Antworten sind richtig - Sie müssen tatsächlich fügen Sie diese
MyPanel
auf die contentPane des Frames.Zusätzlich sollten Sie wahrscheinlich verwenden Swing anstelle von nur AWT.
Der code würde wie folgt Aussehen:
InformationsquelleAutor Xeon
Deinem problem:
Ihre
MyPanel
Instanz nicht im main-frame.Lösung:
Fügen Sie Ihre
MyPanel
Instanz der main-frame der content-Bereich.Etwas wie:
Sorry, ein Tippfehler. Die OP ' s Frage bezieht sich auf
JFrame
nichtFrame
.Es funktioniert, aber ich Rede über verschiedene situation. Ich habe das erstellen der Klasse Frame, die erstreckt JFrame. Mit Netbeans Design, das ich dort einige Tasten und jPanel1. Ich habe auch die Klasse MyPanel, die erstreckt JPanel. Und mein problem ist, dass ich Sie nicht ersetzen können diese jPanel1 mit ein Objekt der Klasse MyPanel. Wenn ich Schreibe, frames und panels auf meinem eigenen ich weiß, wie zu tun, aber mit netbeans kann ich nicht ersetzen.
InformationsquelleAutor GETah
Müssen Sie das panel auf den Rahmen:
Dem folgenden eigenständigen code funktioniert bei mir :
nur für die Klarheit sollten Sie sich immer mit f an.getContentPane().add(...)
Das wird nicht funktionieren. verwenden getContentPane().add()
Die getContentPane () - Methode definiert wird in JFrame nicht im Rahmen.
entspricht
JFrame.getContentPane().add()
wie bereits hier:Lastly, after seven years, we've made jFrame.add equivalent to jFrame.getContentPane().add().
InformationsquelleAutor Suraj Chandran
JFrame jframe = new JFrame();
JPanel jpanel = new JPanel();
jframe.add(jpanel);
ZB:
InformationsquelleAutor Kumar Vivek Mitra
Vielleicht das problem ist, dass Sie ein leeres JPanel, ich meine, Sie haben die Verwendung von Frames.add(MyPanel Instanz), aber auch Sie haben zu verwenden (dh in MyPanel initComponents) add(jButton) oder so ähnlich..
können Sie auch versuchen, seting das layout
setLayout(new GridLayout(1, 1)); //auch in der initComponents-Methode.
Können Sie zeigen beide initComponents(); Methoden?
EDIT:
wenn Sie mit der Netbeans-editor
Rechten Maustaste auf die Palette der Komponenten
gehen im Palette Manager
Hinzufügen von Projekt (wenn es ein open Projekt) oder jar, was auch immer Sie wollen. Können Sie durchsuchen Sie Ihre Klasse und sich für Ihre MyPanel-Datei.
Dann werden Sie auch wählen, in welchem Ordner oder Menü, muss diese Komponente angezeigt,
dann sollten Sie in der Lage sein, um Sie zu ziehen wie ein normales JPanel.
InformationsquelleAutor porfiriopartida
Hier ist ein tolles tutorial, das lehrt jedes Ding über die Systemsteuerung.
Es lehrt Euch, wie man ein JFrame enthält JPanel.
Gehen Sie zu der Video-tutorial
Wenn Sie möchten, um herauszufinden, interessante videos besuchen Sie diesen Kanal
Vollständige Liste von Video-tutorials
InformationsquelleAutor Ravi Kiran