Je dois implémenter une carte dans Java Swing, qui est connectée à une base de données spatiale pour gérer certaines requêtes. J'ai utilisé un jLabel pour représenter l'image de la carte.composant interactif dans Java Swing
J'ai besoin de faire glisser une zone et de renvoyer tous les éléments possibles dans cette zone. Chaque élément de retour doit apparaître sur la carte sous la forme d'un triangle jaune ou d'un cercle rouge et ces polygones peuvent être cliqués pour fournir des informations supplémentaires ailleurs.
Voici ma confusion. Quel composant dois-je utiliser pour démontrer l'élément sur l'image? Il besoin d'être interactive si intuitivement, je choisis JButton
, voici ma mise en œuvre:
Iterator<JGeometry> it = al.iterator();
while (it.hasNext()) {
JButton jButton1 = new JButton();
jButton1.setText("213");
jButton1.setBounds(325 + (int)it.next().getPoint()[0], 70 + (int)it.next().getPoint()[1], 30,30);
jButton1.setVisible(true);
getContentPane().add(jButton1);
}
Mais il ne montre aucun bouton sur le panneau. Je suppose que les deux jButton et jLabel contenant l'image sont au même niveau, donc il peut y avoir un certain chevauchement. Comment puis-je faire face à cela? Y a-t-il une meilleure solution pour ce cas?
utilisez-vous un gestionnaire de mise en page null? – MeBigFatGuy