所以我正在嘗試制作一個非常基本的應用程序,當您點擊一個按鈕時,它會計數(每秒將一個數字添加到 0),然后將其顯示在標簽和文本字段中。因為我使用的是 doubles,所以文本輸出看起來像這樣,例如:2.34555555555555。我希望它在點后只顯示 2 個數字。我怎么能那樣做?這是我的代碼,正如我所說的只是一個按鈕、標簽和文本字段以及一個小計時器:public class Frame1 { private JFrame frame; private JTextField txtbox1; double fiz = 1500; double mpfiz = fiz/60/60; int secondsPassed = 0; double penz = 0; Timer timer = new Timer(); TimerTask task = new TimerTask() { public void run() { secondsPassed++; penz += mpfiz; lbpenz.setText("Ennyi: "+ penz); txtbox1.setText("Ennyi: " + penz); }}; private JLabel lbpenz; public void start() { timer.scheduleAtFixedRate(task, 1000, 1000); } public static void main(String[] args) { Frame1 peldany = new Frame1(); peldany.start(); EventQueue.invokeLater(new Runnable() { @Override public void run() { try { Frame1 window = new Frame1(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public Frame1() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { JButton btnStart = new JButton("Start!"); btnStart.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { start(); } }); }}提前致謝。
1 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
試試下面的代碼
public void run() {
DecimalFormat df = new DecimalFormat(".##");
secondsPassed++;
penz += mpfiz;
lbpenz.setText("Ennyi: "+ df.format(penz));
txtbox1.setText("Ennyi: " + df.format(penz));
}};
添加回答
舉報
0/150
提交
取消