2014-12-06 103 views
-1

我試圖搜索某種交互式JLabel。我希望它看起來像這樣:在JFrame中創建活動計數器

我不知道這個叫或在那裏我可以找到上顯示這些信息。我希望它在+/-按下時打印刷新的號碼。我有它在eclipse控制檯上打印,但我不確定如何讓它打印到JFrame

下面是一些代碼:

String input = JOptionPane.showInputDialog("Please enter the number of laps."); 

    numLaps = Integer.parseInt(input); 

    //frame creation 
    JFrame f = new JFrame("Number of Laps"); 
    f.setSize(550, 450); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    f.setLayout(null); 

    // label creation 
    JLabel label = new JLabel("You entered " + numLaps + " laps. Press + to add a lap. Press - to subtract a lap.", SwingConstants.CENTER); 
    label.setBounds(0,0,500,300); 
    f.add(label); 
    //display window 

    f.setVisible(true); 


    //button creation add 
    JButton add = new JButton ("+"); 
    add.setBounds(350,250,50,50); 
    add.setPreferredSize(new Dimension(50,50)); 
    add.addActionListener(new ActionListener() 
    { 

     @Override 
     public void actionPerformed(ActionEvent e) { 
      // what happens when button is pressed 
      //numLaps++; 
      addToLap(); 
      System.out.println(numLaps); 
     } 

    }); 
    f.add(add); 

    //button creation subtract 
     JButton sub = new JButton ("-"); 
     sub.setBounds(100,250,50,50); 
     sub.setPreferredSize(new Dimension(50,50)); 

      sub.addActionListener(new ActionListener() 
      { 

      @Override 
      public void actionPerformed(ActionEvent e) { 
       // what happens when button is pressed 
       //numLaps--; 
       subToLap(); 
       System.out.println(numLaps); 
      } 

      }); 
      f.add(sub); 

&的加/減方法:

private static void addToLap() { 
    // TODO Auto-generated method stub 
    numLaps++; 
} 
private static void subToLap() { 
    // TODO Auto-generated method stub 
    numLaps--; 
} 
+1

你的問題是「這裏有一些要求,這裏是一些代碼」類型的問題,但在你的文章中沒有實際的連貫一致的具體問題。請解決這個問題。當你想改變它顯示的文本時,也可以考慮在你的JLabel上調用'setText(...)'。請通過[遊覽],[幫助]和[如何提出一個很好的問題](http://stackoverflow.com/help/how-to-ask)部分來查看本網站的工作原理並幫助您改善您當前和未來的問題,從而獲得更好的答案。 – 2014-12-06 04:16:31

+0

謝謝你的迴應。我在問我可以用什麼方法在兩個按鈕之間建立一個計數器。我基本上都試圖在每次+/-按下時將其打印到該位置。這有幫助嗎?就像我說的,我不知道這個方法會被調用 - 所以我在尋找建議。再次感謝。 – proHamming 2014-12-06 04:20:53

+0

我想用'(而且作爲用戶,更願意看到)帶'SpinnerNumberModel'的'JSpinner'。 – 2014-12-06 04:26:43

回答

0

你可以嘗試以下方法:

private int numLaps = 0 // Or the number you want initialize with 

然後在你的方法應該像這樣將numLaps值分配給JLabel:

this.myLabel.setText(String.valueOf(numLaps)); 

我希望它有幫助。

+0

所以使用這個我可以添加標籤,但是每次按下加/減按鈕都不會改變。這是我的目標。有什麼建議麼? – proHamming 2014-12-07 18:40:57

+0

你可以發佈你的當前addToLap()和subToLap()方法嗎? – danielcode7 2014-12-08 01:01:56