2011-01-14 3 views
0
public void movePiece(JLabel destination){ 
    JLabel currentPiece = piece[oldIndex[0]][oldIndex[1]]; 
    destination = currentPiece; 
    currentPiece.setVisible(false); 
    destination.repaint(); 
    currentPiece.repaint(); 
} 

Текущий метод перемещения. Требуется, чтобы JLabel, на который текст должен быть «передан», JLabel get ссылается на JLabel, из которого следует взять текст. Кто-нибудь понял? Метод не работает, просто дает вам представление о том, как он будет выглядеть.Как перенести содержимое одной JLabel на другую?

Например, если это так:

JLabel 1: "Трололо" JLabel 2: "Здравствуйте!"

, если пункт назначения 2 и currentPiece является 1, я хотел бы, чтобы она выглядела так:

JLabel 1: "Трололо" .setVisibility (ложь) JLabel 2: "Трололо"

Эффективно делая только nr. 2 видно с содержанием nr. 1. Не хотите удалять номер. 1, просто держите его невидимым.

(они не со ссылкой на тот же объект, они просто имеют один и тот же текст и шрифт)

ответ

3

вызов setText изменять содержимое назначения:

public void movePiece(JLabel destination){ 
    JLabel currentPiece = piece[oldIndex[0]][oldIndex[1]]; 
    destination.setText(currentPiece.getText()); 
    currentPiece.setVisible(false); 
} 
+0

Спасибо, не знал, были геттеры для этого! –