Comment utiliser la méthode setBounds pour un JLabel?
Je suis en train de faire une application de la fenêtre avec Swing
. Je suis l'aide de la setBounds()
méthode pour la JLabel
espacement, mais ça ne fonctionne pas.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FullScreenJFrame extends JFrame
{
public FullScreenJFrame( String title )
{
super(title);
//JFrame frame = new JFrame();
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
getContentPane()
.add(new JLabel(" HIGHCOURT OF JUDICATURE AT ALLHAHABAD"), BorderLayout.NORTH);
JLabel label = new JLabel("JJ");
label.setBounds(20, 20, 150, 20);
//label.setText(s);
add(label);
}
public static void main( String[] args )
{
FullScreenJFrame frame = new FullScreenJFrame("");
//JFrame frame1 = new JFrame();
//JLabel label = new JLabel("dd");
//label.setBounds(370, 340, 150, 20);
//frame1.add(label);
frame.setVisible(true);
}
}
- qu'entendez-vous par travail maintenant?
- Je pense qu'il y a un problème avec la Mise en page. La première Étiquette est insérée dans le ContentPane, le second pas. Vous aussi mélanger BorderLayout et Nul de Mise en page. Essayez de créer un Composite avec votre Mise en page spécifique (Frontière, Flux, null, etc.), ajoutez les étiquettes pour le Composite, puis ajouter le Composite à l'contentPane.
- ma moyenne est de l'étiquette n'est pas mis à donner de l'emplacement
Vous devez vous connecter pour publier un commentaire.
Sont nulles mises en recommandé? Comme d'autres l'ont suggéré, la réponse est
PAS
.
Voir la Pose des Composants dans un Conteneur pour obtenir un peu de pratique avec LayoutManagers
Vais-je répondre à votre question? Assurez-vous. Si vous voulez savoir.
Oui, tes limites ne sont pas de travail parce que le
JFrame
a un défautBorderlayout
. PoursetBounds
de travail, la disposition doit êtrenull
.Aussi, gardez à l'esprit que lorsque vous ne utiliser un null mise en page, tous les composants dont vous ne pas
setBounds
pour n'apparaîtra pas.Voir la Pose des Composants dans un Conteneur pour obtenir un peu de pratique avec LayoutManagers
Un conseil, Il semble que vous allez présenter votre demande à l'aide de tous écran donc, essayez d'éviter l'utilisation de positions absolues comme setBoundMethod.
Vous devez l'adapter à votre application dans une mise en page qui utilise d'autres mises en page à l'intérieur. Suivez ce lien.
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
Ne pas utilisation
setBounds()
pour redimensionner une composant. Utiliser un Le Gestionnaire De Configuration et vous ne serez pas inquiet au sujet de faire cela manuellement.Pourquoi?
Pourquoi aller pour le positionnement absolu, quand Gestionnaires De Disposition le faire pour vous.
Une chose de plus, Si votre JFrame ne contiennent pas de titre donc, il n'est pas nécessaire d'ajouter des vides titre que c'est une mauvaise pratique.
Remplacer
Par
Et
Par
Pas besoin d'appeler
Ou afin de mettre à votre disposition nulle clic droit sur votre formulaire et cliquez sur définir la mise en page, puis cliquez sur null mise en page.