1
私は簡単なデジタル時計を作っています。私は、プログラムが実行されるときにちらつきを取り除きたい。私は別の睡眠時間を試みたが、それは助けにはならない。デジタル時計のプログラム(java)からフリッカーを減らすにはどうすればよいですか?
public class DigitalClock extends Applet implements Runnable{
Thread t=null;
int hrs=0, min=0, sec=0;
String tString="";
public DigitalClock(){
//TODO add required code
init();
}
public void init() {
// TODO Auto-generated method stub
setBackground(Color.BLACK);
}
public void start(){
t=new Thread(this);
t.start();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
DigitalClock dc=new DigitalClock();
JFrame f=new JFrame("Digital Clock");
f.setSize(300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(dc);
dc.start();
f.setVisible(true);
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
while(true){
Calendar cal=Calendar.getInstance();
hrs=cal.get(Calendar.HOUR_OF_DAY);
min=cal.get(Calendar.MINUTE);
sec=cal.get(Calendar.SECOND);
tString=hrs+":"+min+":"+sec;
repaint();
Thread.sleep(40);
}
} catch (Exception e) {
// TODO: handle exception
}
}
public void paint(Graphics g){
g.setColor(Color.white);
g.drawString(tString, 50, 50);
}
}
どのように私はpaintComponentメソッドを使用します。フリッカーを減らすのに役立ちますか?
なぜ1秒間に25回塗り替える必要がありますか? –
私は同じアプリでストップウォッチとタイマーを追加したいと思います。だから私はどのように私は同じ間隔を維持しながらちらつきを減らすことができます。 –
1)なぜアプレットをコーディングするのですか?教師がそれを指定している場合は、[CS教師が** Javaアプレットを教えるのを止めるべき理由](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-teaching-java-applets /)を使用します。 2)[Java Plugin support deprecated](http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/)および[Plugin-Free Webへの移動]を参照してください( https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free)。 .. –