Привет, мне нужно изменить JLabel, который находится на JFrame, от JPanel.Я могу изменить это только когда мышь движется, но мне нужно менять каждый раз, когда счет ++;
private void panelKwadraty1MouseMoved(java.awt.event.MouseEvent evt)
{
jLabel1.setText("Twoj wynik to: "+panelKwadraty1.getScore());
}
Мне нужно изменить, когда:
if (kwadrat[i].sprawdzKolizje(belka) == 1)
{
kwadrat[i]=new Kwadrat(kwadrat[i].getKolor());
score++;
// Jframe.jLabel1.setText("Your score is :" + score); <--- i need do that
}
edit:
Я решил проблему.Я использовал propertyChangeListener .
В JFrame:
panelKwadraty1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
panelKwadraty1PropertyChange(evt);
}
});
private void panelKwadraty1PropertyChange(java.beans.PropertyChangeEvent evt)
{
if(evt.getPropertyName().equals(PanelKwadraty.ZMIANA_WYNIKU)){
setLabelText(""+evt.getNewValue());
}
}
В JPanel:
int old_score = score;
score++;
this.firePropertyChange(ZMIANA_WYNIKU, old_score, score);