Oppure

Loading
03/12/10 14:54
killer
salve...vorrei capire un particolare...
io ho una jlabel ..che vorrei si muovesse a scorrimento su jPanel.
ho provato a creare una classe MyClass extends JPanel implements Runnable

private JLabel label;
public MyClass(JLabel label){
this.label=label;
}
@Override
public void run(){
for(; ; ){
label.setLocation(label.getX()+=1,label.getY());
repaint();// il metodo repaint() non entra nel paintComponent()...
}
}

public void paintComponent(Graphics g){
super.paintComponent(g);
g.draw........ ?!!! // non trovo il metodo che mi faccia settare in un altra posizione
la jLabel.. io vorrei scorresse in un ciclo infinito intervallato da 1000 millis.
}

mi aiutate ? ho provato in primis con la setLocation... la label si muove ma lampeggiando... io vorrei che non accadesse cio..ossia vorrei disegnare il component vero e proprio su jpanel sovrascrivendo paintComponent... come posso fare tutto cio ? fatemi sapere presto.grazie.
Ultima modifica effettuata da killer 03/12/10 14:54
aaa
03/12/10 15:54
paoloricciuti
Postato originariamente da killer:

salve...vorrei capire un particolare...
io ho una jlabel ..che vorrei si muovesse a scorrimento su jPanel.
ho provato a creare una classe MyClass extends JPanel implements Runnable

private JLabel label;
public MyClass(JLabel label){
this.label=label;
}
@Override
public void run(){
for(; ; ){
label.setLocation(label.getX()+=1,label.getY());
repaint();// il metodo repaint() non entra nel paintComponent()...
}
}

public void paintComponent(Graphics g){
super.paintComponent(g);
g.draw........ ?!!! // non trovo il metodo che mi faccia settare in un altra posizione
la jLabel.. io vorrei scorresse in un ciclo infinito intervallato da 1000 millis.
}

mi aiutate ? ho provato in primis con la setLocation... la label si muove ma lampeggiando... io vorrei che non accadesse cio..ossia vorrei disegnare il component vero e proprio su jpanel sovrascrivendo paintComponent... come posso fare tutto cio ? fatemi sapere presto.grazie.


In realtà quello che fa il jPanel è esattamente disegnare la Jlabel su se stesso. In pratica: non serve che fai tutto questo. Basta aggiungere una classe che implementa Runnable (come inner class) direttamente nella classe che estende JFrame. Da qui fa il setLocation della label e metti un bel Thread.sleep(1000). Tutto qui.
aaa
04/12/10 19:52
killer
ah ok... :) grazie mille... !!! :)
aaa