在半透明的框架/面板/组件上重新油漆。我试图在OSX上用Java创建一个半透明窗口,并添加一个JLabel敬它。这,这个JLabel每一秒都要改变它的文字.。然而,组件没有很好地重新绘制。我怎样才能解决这个问题?我找到了这些 文章但我想不出怎么解决这个问题。如果可能,请粘贴修复源代码,这是我的: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 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
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)
添加回答
举报
0/150
提交
取消