在半透明的框架/面板/組件上重新油漆。我試圖在OSX上用Java創(chuàng)建一個(gè)半透明窗口,并添加一個(gè)JLabel敬它。這,這個(gè)JLabel每一秒都要改變它的文字.。然而,組件沒(méi)有很好地重新繪制。我怎樣才能解決這個(gè)問(wèn)題?我找到了這些 文章但我想不出怎么解決這個(gè)問(wèn)題。如果可能,請(qǐng)粘貼修復(fù)源代碼,這是我的:import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JLabel;import java.awt.Color;import java.awt.Font;
import java.util.Timer;import java.util.TimerTask;public class Translucent {
public static void main( String [] args ) {
JFrame frame = new JFrame();
frame.setBackground( new Color( 0.0f,0.0f,0.0f,0.3f));
final JLabel label = new JLabel("Hola");
label.setFont( new Font( label.getFont().getFamily(), Font.PLAIN, 46 ) );
label.setForeground( Color.white );
frame.add( label );
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible( true );
Timer timer = new Timer();
timer.schedule( new TimerTask(){
int i = 0;
public void run() {
label.setText("Hola "+ i++ );
}
}, 0, 1000 );
} }
3 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
JLabel
javax.swing.Timer
java.util.Timer
javax.swing.Timer
final ActionListener labelUpdater = new ActionListener() { private int i; @Override public final void actionPerformed(final ActionEvent event) { label.setText("Hola " + this.i++); }};final javax.swing.Timer timer = new javax.swing.Timer(1000L, labelUpdater);
java.util.Timer
EventQueue.invokeLater(Runnable)
、
添加回答
舉報(bào)
0/150
提交
取消