2014-12-06 72 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