Ich habe einen Thread, der manchmal ein JLabel erstellt. Sobald ich das Icon setze, wird das ganze Layout zerstört. Manche Labels verschwinden, manche werden in FlowLayout angeordnet, standartgemäß sind alle Null.
Die einzig mögliche Fehlerquelle, die ich kenne, ist die Thread-Unsicherheit von Swing. Es gibt noch einen zweiten Thread, der ein Label ab und zu an eine andere Location setzt, deshalb denke ich, dass es an den JPanel auf den die Panels mit den Labels liegt, dass da irgendwas der Reihe nach nach oben aufgerufen wird. Hab schon versucht beides per syncroniced-Block zu locken, und in per invokeLater ausgeführt. Hat aber beides nichts gebracht.
Java:
sword.createSwordLabel();
JLabel swordLabel = sword.getSwordLabel();
sword.setLocation(getX() + 10, getY() + 15);
Icon swordIcon = sword.getIcon((byte) 0);
swordLabel.setSize(swordIcon.getIconWidth(), swordIcon.getIconHeight());
swordLabel.setIcon(swordIcon);
Die einzig mögliche Fehlerquelle, die ich kenne, ist die Thread-Unsicherheit von Swing. Es gibt noch einen zweiten Thread, der ein Label ab und zu an eine andere Location setzt, deshalb denke ich, dass es an den JPanel auf den die Panels mit den Labels liegt, dass da irgendwas der Reihe nach nach oben aufgerufen wird. Hab schon versucht beides per syncroniced-Block zu locken, und in per invokeLater ausgeführt. Hat aber beides nichts gebracht.
