Ich bin ziemlich neu in Java hier, und gerade arbeite ich an einem Programm, das die folgenden Aktionen beinhaltet. Sagen wir, ich habe ein 3 X 3 Raster von JLabel. Wie lade ich ein ImageIcon und verschiebe es dann von einem Label zum anderen. Angenommen, jede Beschriftung hat den Namen label_1 bis label_9 und das Bildsymbol steht auf label_2. Wenn ich auf label_3, imageicon klicke, sollte es auf label_3 gehenMake image Icon Wechseln von einem Label zu einem anderen per Mausklick
0
A
Antwort
0
Sehr schnelles Beispiel, das Sie an Ihre Bedürfnisse anpassen können.
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class Test extends JFrame {
public Test() {
JPanel container = new JPanel(new GridLayout(3, 3));
for (int i = 0; i < 9; i++) {
JLabel label = new JLabel("Label" + i);
label.setPreferredSize(new Dimension(100, 100));
label.setBorder(BorderFactory.createLineBorder(Color.black));
label.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
Icon icon = UIManager.getIcon("OptionPane.informationIcon");
JLabel clickedLabel = (JLabel) e.getSource();
Container parent = clickedLabel.getParent();
clearIcons(parent);
clickedLabel.setIcon(icon);
}
private void clearIcons(Container parent) {
Component[] components = parent.getComponents();
for (Component component : components) {
((JLabel) component).setIcon(null);
}
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
});
container.add(label);
}
add(container);
}
public static void main(String[] args) {
Test frame = new Test();
frame.setVisible(true);
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.pack();
}
}
Ergebnis sollte wie folgt sein:
Verwandte Themen
- 1. von einem Div zu einem anderen wechseln
- 2. Wie von einem UIViewController zu einem anderen wechseln?
- 3. wie mit GWT von einem Eingangspunkt zu einem anderen wechseln?
- 4. So wechseln Sie von einem Storyboard zu einem anderen Storyboard
- 5. Swift per Mausklick
- 6. RDLC-Bericht Wechseln zu einem anderen Bericht
- 7. Zu einem anderen Git-Tag wechseln
- 8. Wie per Drag & Drop von einem zum anderen C#
- 9. Pixelposition aus einem Bild per Mausklick in MATLAB erhalten
- 10. Benutzer in Docker-Image zu einem Nicht-Root-Benutzer wechseln
- 11. Label von einem anderen Thread aktualisieren
- 12. Hinzufügen von Text zu einem Kontrollkästchen wechseln
- 13. Wie kann ich in Typoskrip von einem Angular 2-Materialregister zu einem anderen wechseln?
- 14. Wechseln zu einem Stehpult
- 15. Wechsel von einem JFrame zu einem anderen
- 16. Contao Navigation Icon/image
- 17. Make Dimension relativ zu einem anderen in Reaktion india
- 18. Eingabefeld mit einem anklickbaren Symbol wechseln
- 19. Mehrere Formen beim Zeichnen per Mausklick
- 20. So wechseln Sie zu einem anderen Zweig - GitHub Desktop
- 21. Kexec zu einem anderen Kernel auf ppc64 wechseln gescheitert
- 22. Make Image Link Container Höhe
- 23. Verschieben von Zeilen von einem Fenster zu einem anderen
- 24. Wie behebt man diese Konvertierung von Image zu Icon?
- 25. Weitergabe von Datenattribut von einem zu einem anderen Element
- 26. Hinzufügen von Screentips zu einem Label
- 27. Wie kann ich programmatisch zu einem anderen Fragment wechseln?
- 28. Wechseln Sie zu einem anderen Schlitten mit LayerSlider
- 29. Kann man innerhalb eines Konstruktors zu einem anderen Konstruktor wechseln?
- 30. Flask-SocketIO Eventlet kann nicht zu einem anderen Thread wechseln