J'essaie de créer un tableau d'étiquettes. Chaque étiquette a une valeur différente qui sort d'une fonction. Je ne connais pas le nombre exact d'étiquettes à utiliser. Je veux dire qu'il pourrait y avoir n'importe quel nombre de valeurs à imprimer. S'il vous plaît aidez-moi à le faire.Comment créer un tableau de JLabels en Java à imprimer sur un JFrame
Répondre
Êtes-vous un enfant? Eh bien, au cas où vous seriez sérieux, jetez d'abord un oeil à certaines des API Java, comme JLabel, JPanel, et certains des éléments du langage.
Ensuite, vous serez en mesure de faire quelque chose comme (je suis sûr que mon code ne sera pas compilé)
public static JPanel getLabels(int count) {
JPanel panel = new JPanel(new FlowLayout());
for(int i =0; i<count; i++) {
panel.add(new JLabel(theFunctionThatCannotBeNamedHere(i)));
}
return panel;
}
Notez que theFunctionThatCannotBeNamedHere
est la fonction dont vous avez parlé.
facile ont une seule méthode renvoie un tableau ou une collection de JLabels et ajouter tous à votre JComponent (par exemple un JPanel)
class MyPanel extends JPanel{
public MyPanel(){
super();
showGUI();
}
private JLabel[] createLabels(){
JLabel[] labels=new JLabel[10]
for (int i=0;i<10;i++){
labels[i]=new JLabel("message" + i);
}
return labels;
}
private void showGUI(){
JLabel[] labels=createLabels();
for (int i=0;i<labels.length();i++){
this.add(labels[i]);
}
}
}
Si possible, ne pas utiliser JLabel
séparés s, mais un JList
, qui s'occupera de la mise en page et du défilement si nécessaire.
Java-Tutorial - How to us a List:
alt text http://java.sun.com/docs/books/tutorial/figures/uiswing/components/14ListDialog-nowrap.png
Vous pouvez réellement faire un tableau de tout composant Swing, puisque chaque composant Swing est essentiellement composite type de données. Essayez ceci:
javax.swing.JTextField[] array = new javax.swing.JTextField[number_of_elements];
Nice one ....... – Xanco