public class BlackAndWhite extends JFrame implements ActionListener { private static boolean black; public BlackAndWhite() { black = true; getContentPane().setBackground(black ? Color.black : Color.white); setSize(100, 100); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); (new Timer(2000, this)).start(); } public void actionPerformed(ActionEvent evt) { black = !black; getContentPane().setBackground(black ? Color.black : Color.white); } public static void main(String[] args) { BlackAndWhite f = new BlackAndWhite(); f.setVisible(true); } } __________________________________________________________
Hey, jeg har nogle spørgsmål til denne fil.
Jeg ser at objektet har en timer indbygget. Denne timer, tæller den konstant selvom man ikke kalder objektet fra main ?
Og mht til denne linie: (new Timer(2000, this)).start();
hvis jeg har forstået det rigtigt så opdaterer ojektet sig selv (this) hvert 2000. millisekund. Men det timeren opdaterer/refresher er det altid bare det der står under actionPerformed i samme klasse??
ja ok, men dvs at uanset om det er inde i et objekt i et objekt i et andet objekt, så vil en startet timer køre uafhængigt af alt andet indtil den stopper?
Og er der nogen retningslinier mht flere timere ad gangen? Tager flere timere fx meget cpu kraft? Og mht til denne kode: public void actionPerformed(ActionEvent evt) { black = !black; getContentPane().setBackground(black ? Color.black : Color.white); } Er det så bare automatisk den actionPerformed der ligger i det objekt som refereres til hvor jeg har skrevet "HER" ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.