L'ajout de panneau à conteneur avec Java swing
J'en ai fait deux panneaux et ensuite ajouté dans le troisième panneau. Comment puis-je ajouter un panneau à afficher à l'écran?
Voici mon code actuel:
import javax.swing.*;
import java.awt.*;
public class LibraryFront {
public static void main(String[] args)
{
JFrame f1 = new JFrame();
JPanel cards;
final String BUTTONPANEL = "Card with JButtons";
final String TEXTPANEL = "Card with JTextField";
JPanel card1 = new JPanel();
JPanel card2 = new JPanel();
//Create the panel that contains the "cards".
cards = new JPanel(new CardLayout());
cards.add(card1, BUTTONPANEL);
cards.add(card2, TEXTPANEL);
Container c = getContentPane(); //this gives error
}
Vous devez vous connecter pour publier un commentaire.
EDIT:
J'ai remarqué maintenant que vous avez pris l'extrait de code (en partie) à partir http://download.oracle.com/javase/tutorial/uiswing/layout/card.html et placé directement dans votre méthode principale. Ce code n'est qu'une partie de la pleine mise en œuvre du programme au CardLayoutDemo.java. Vous avez besoin de prendre un coup d'oeil à ce code.
Il y a beaucoup de petites erreurs dans votre code. Ici, c'est un travail de mise en œuvre
LibraryFront n'est pas le contenant.
JFrame
f1 est,f1.getContentPane()
devrait fonctionner et vous devez également ajouter des panneaux de JFrame et réglez-visible si pas visible.Essayer:
Appel de la méthode sur le
JFrame
, pas sur votre propreLibraryFront
classe.Il vous donne une erreur parce que votre classe
LibraryFront
ne contient pas degetContentPane()
méthode. Au lieu d'appeler cette méthode sur le cadre.Faire quelque chose comme: