Je suis en train de créer une application Java et j'aimerais avoir une barre en bas de l'application, dans laquelle j'affiche une barre de texte et une barre d'état (progression). Seulement je n'arrive pas à trouver le contrôle dans NetBeans et je ne connais pas le code à créer manuellement.Comment créer une barre au bas d'une application Java, comme une barre d'état?
Répondre
Créez un JFrame ou JPanel avec un BorderLayout, donnez-lui quelque chose comme un BevelBorder ou une bordure de ligne afin qu'il soit séparé du reste du contenu, puis ajoutez le panneau d'état à BorderLayout.SOUTH.
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.setSize(200, 200);
// create the status bar panel and shove it down the bottom of the frame
JPanel statusPanel = new JPanel();
statusPanel.setBorder(new BevelBorder(BevelBorder.LOWERED));
frame.add(statusPanel, BorderLayout.SOUTH);
statusPanel.setPreferredSize(new Dimension(frame.getWidth(), 16));
statusPanel.setLayout(new BoxLayout(statusPanel, BoxLayout.X_AXIS));
JLabel statusLabel = new JLabel("status");
statusLabel.setHorizontalAlignment(SwingConstants.LEFT);
statusPanel.add(statusLabel);
frame.setVisible(true);
Voici le résultat du code barre d'état ci-dessus sur ma machine:
Malheureusement swing n'a pas de support natif pour les barres d'état. Vous pouvez utiliser un BorderLayout
et une étiquette ou tout ce que vous devez afficher au fond:
public class StatusBar extends JLabel {
/** Creates a new instance of StatusBar */
public StatusBar() {
super();
super.setPreferredSize(new Dimension(100, 16));
setMessage("Ready");
}
public void setMessage(String message) {
setText(" "+message);
}
}
Ensuite, dans le panneau principal:
statusBar = new StatusBar();
getContentPane().add(statusBar, java.awt.BorderLayout.SOUTH);
De: http://www.java-tips.org/java-se-tips/javax.swing/creating-a-status-bar.html
En utilisant JPanel, au lieu de JLabel pour une barre d'état est une bien meilleure idée. –
@Bozhidar Batsov: Oui, c'est. – Simon
Je recommanderais composant de barre d'état dans le SwingX library - Voici le document API pour le status bar is here
A good example of its use is here.
Amusez-vous.
Tirer sur tout le SwingX pour un composant trivial à mettre en œuvre ne me semble pas être la meilleure idée ... Si vous utilisez déjà SwingX dans l'application, c'est bien, mais sinon c'est une overdose complète ... –
J'ai utilisé la bibliothèque swing de L2FProd. La bibliothèque de barre d'état qu'ils ont fournie est très bonne.
Voici comment vous l'utiliser:
- Téléchargez le JAR qu'ils fournissent et le mettre dans votre classpath
La barre d'état se divise en interne la zone de barre dans la zone. Chaque zone peut contenir un composant (JLabel, JButton, etc.). L'idée est de remplir la barre avec les zones requises et les composants.
Instantiate la barre d'état ci-dessous ....
import java.awt.Component; import javax.swing.BorderFactory; import javax.swing.JLabel; import com.l2fprod.common.swing.StatusBar; StatusBar statusBar = new StatusBar(); statusBar.setZoneBorder(BorderFactory.createLineBorder(Color.GRAY)); statusBar.setZones( new String[] { "first_zone", "second_zone", "remaining_zones" }, new Component[] { new JLabel("first"), new JLabel("second"), new JLabel("remaining") }, new String[] {"25%", "25%", "*"} );
Maintenant, ajoutez le
statusBar
ci-dessus au panneau principal vous avez (BorderLayout et mis sur le côté sud).
Voir une capture d'écran exemple de l'une des applications que je travaille sur here (il dispose de 2 zones). Faites-moi savoir si vous rencontrez des problèmes ....
Capture d'écran est un lien mort. – GKFX
- 1. Mettre une barre au bas d'une page
- 2. Créer une liste déroulante jquery comme Barre de menus RDP
- 3. Comment créer une barre d'outils détachable
- 4. Comment créer une barre d'outils pour IE?
- 5. Comment créer une barre de navigation horizontale?
- 6. Comment créer une barre de menu carrousel dans une application iPhone
- 7. Comment créer une barre de défilement (haut-bas) dans une liste SharePoint?
- 8. Masquer la barre d'onglets dans une application de barre d'onglets
- 9. Comment créer une barre d'onglets configurable comme application musicale dans l'iPhone
- 10. Comment implémenter une barre d'état dans une application ASP.NET?
- 11. Barre de navigation en bas
- 12. Comment créer une barre de progression verticale dans Cocoa?
- 13. Comment mettre une barre de menu dans une application
- 14. Créer une barre d'outils de navigateur?
- 15. comment insérer une barre latérale comme l'interface utilisateur dans la barre des tâches xp?
- 16. UIImagePickerController a une barre noire en bas par défaut?
- 17. Comment créer une barre en bas du navigateur qui est persistante?
- 18. Créer une barre d'outils JQuery Highlight
- 19. Ajout d'une barre de navigation à une vue Web dans une application de barre d'onglets
- 20. Comment créer une barre de téléchargement pour UIWebview
- 21. Comment créer une "barre" de progression similaire à Grooveshark?
- 22. Comment créer une "barre latérale" dans Umbraco CMS?
- 23. Comment puis-je créer une barre d'outils flottante pour une application iPhone/iPad?
- 24. Comment masquer une barre d'onglets au démarrage de l'application?
- 25. combobox comme IE8 barre d'adresse - comment?
- 26. Comment créer une barre de ruban dans WPF?
- 27. comment créer une barre de progression en utilisant nsDialogs?
- 28. Comment créer une barre de défilement transparente dans Android?
- 29. comment créer une barre de navigation par programme
- 30. Ajouter une barre de progression dans la barre de navigation
dieu merci, c'est à peu près le seul code barre d'état java utile sur l'ensemble des internets –
n'a pas fonctionné pour moi, la barre d'état a fini au milieu de la fenêtre –
Vous devez utiliser une disposition différente à l'intérieur du JPanel.Comme dans l'extrait de code ci-dessus, BoxLayout donnera le résultat comme dans l'image. –