2013-09-23 3 views
0
JSlider slider = new JSlider(); 
slider.x(); 
slider.domorestuff(); 

JLabel label = new JLabel(); 
label.setBorder(BorderFactory.createTitledBorder("X")); 
label.setPreferredSize(new Dimension(780, 100)); 
label.setVisible(true); 
label.add(slider); 

frame.add(label); 

Si j'ajoute l'étiquette, je vois une étiquette sans rien. Si j'ajoute seulement le curseur, il sera affiché normalementJSlider n'est pas ajouté à JLabel

Répondre

1

Les deux JSlider et JLabel sont des composants principaux. Vous ne pouvez pas ajouter JSlider au-dessus de JLabel. Utilisez un conteneur comme JPanel pour ajouter JSlider.

+0

Qu'entendez-vous par conteneur? – Zarkopafilis

+0

Allez sur ce lien pour en savoir plus sur les conteneurs et les composants. http://docs.oracle.com/javase/tutorial/uiswing/components/index.html – Masudul

+1

JComponent peut être ajouté à un autre composant JComponent, est requis pour définir LayoutManager, car seuls JPanel et JFrame ont implémenté cette fonctionnalité dans l'API, mais votre Suggestion d'utiliser JPanel est correct, s'il vous plaît pour supprimer "Deux composants de base ne peut pas ajouter un autre.", alors pourrait être upvoted votre réponse ici – mKorbel