對於幾天來,我一直努力在Java中的Timer
程序。 它的工作原理是,你打開程序並且JLabel
加起來。出於某種原因,它不會重複,只能使用一次。搖擺定時器只能使用一次
這是我的代碼。
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
import javax.swing.SwingConstants;
import java.awt.Font;
public class TimerC extends JFrame implements ActionListener{
Timer t = new Timer(5, this);
public int intClicked;
public String stringClicked;
public JLabel clicked;
public TimerC() {
t.start();
JPanel p1 = new JPanel();
getContentPane().add(p1);
p1.setLayout(null);
JLabel clicked = new JLabel();
clicked.setFont(new Font("Tahoma", Font.PLAIN, 64));
clicked.setHorizontalAlignment(SwingConstants.CENTER);
clicked.setText("0");
int intClicked = 1;
String stringClicked = String.valueOf(intClicked);
clicked.setText(stringClicked);
p1.add(clicked);
clicked.setSize(42, 100);
clicked.setLocation(191, 97);
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
1)的源代碼中的白色空間中的單個空行的全部就是*永遠*需要。 '{'之後或'}'之前的空行通常也是多餘的。 2)使用合乎邏輯的一致形式縮進代碼行和塊。縮進旨在使代碼的流程更易於遵循! –
'計時器t =新定時器(5,這一點);'這裏的基本問題是,'this'的'actionPerformed'方法不..nothing!變化,首先,要打印的東西'System.out' .. –
'p1.setLayout(NULL);'Java的圖形用戶界面有不同的OS」,屏幕大小,屏幕分辨率等方面的工作在不同的地區使用不同的PLAFs。因此,它們不利於像素的完美佈局。請使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556)以及[white space]的佈局填充和邊框(http://stackoverflow.com/a/17874718/ 418556)。 –