PDA

View Full Version : [Java] JTextPane lampeggiante


enzo85
15-06-2006, 12:56
E' possibile rendere una scritta di jTextPane che lampeggi o con qualche effetto visivo d'impatto?
Ho provato con la blink (mettendo html oltre a testo nell'area), ma non va...come immaginavo...c'è qualche altro metodo?

Blackat
15-06-2006, 14:15
E' un po' rozzo...ma funziona.... :cool:



import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.*;

import java.util.TimerTask;
import java.util.Timer;

public class BlinkTextField extends JTextField {

private final Timer timer = new Timer();
private Color oldColor;
private Color saveColor;
public BlinkTextField() {
oldColor = Color.WHITE;
startBlink();
}
public void startBlink() {

SwingTimerTask updatePanTask = new SwingTimerTask() {
public void doRun() {
blink();
repaint();

}
};
int tempoDiBlink = 500; // In millisecondi


timer.schedule(updatePanTask, 0,tempoDiBlink);
}

public void blink() {

saveColor = this.getForeground();
this.setForeground(oldColor);
oldColor = saveColor;
}
}



import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.event.*;

import java.util.TimerTask;
import java.util.Timer;

public abstract class SwingTimerTask extends java.util.TimerTask {
public abstract void doRun();
public void run() {
if (!EventQueue.isDispatchThread()) {
EventQueue.invokeLater(this);
} else {
doRun();
}
}
}