JLabelの配列をリセットしようとしています。ラベルの上にイメージがあるので、ボタンを押すと、ラベルはリセットされるはずです。私はそのようにしようとしましたJLabelをリセットするには
for(int i=0; i<desks.length; i++)
{
desks[i].setText("");
rightPanel.add(desks[i]);
}
だから誰でも考えがあればgreat.cheersとなります。
JLabelの配列をリセットしようとしています。ラベルの上にイメージがあるので、ボタンを押すと、ラベルはリセットされるはずです。私はそのようにしようとしましたJLabelをリセットするには
for(int i=0; i<desks.length; i++)
{
desks[i].setText("");
rightPanel.add(desks[i]);
}
だから誰でも考えがあればgreat.cheersとなります。
これが可能な方法の一つです
int n = panel.getComponentCount();
if (n > 0) {
Component[] components = panel.getComponents();
for (int i = 0; i < components.length; i++) {
if (components[i] instanceof JLabel) {
JLabel label = (JLabel) components[i];
label.setText("");
}
}
}
テキストをリセットするために、内容ペインにラベルを再度追加する必要はありません。 ラベルテキストまでクリアするには、次だけの操作を行います。
for(int i=0; i<desks.length; i++)
{
desks[i].setText("");
}
パネルにそれらを再度追加する必要はありませんが。テキストを空の文字列に設定するだけで十分です。この場合は
はそうと、あなたはイベントディスパッチスレッド上でそれをやっていることを確認し、起きていない。
SwingUtilities.invokeLater(new Runnable() {
public void run() {
desks[i].setText("");
}
});
+1 SwingUtilitiesアドバイス – GETah
*「誰もが持っている場合アイデア "*より良いヘルプのためには、[SSCCE](http://sscce.org/)を投稿してください。 –
より明確にするために、これらのソリューションの1つをメソッドにラップし、 'resetLabels'という名前を付けることができます。 – mre