Esempio n. 1
0
  public JPanel createLaneTrafficGenerator(
      Route in, RouteAspect aspect, Engine engine, RouteAspect routes) {
    JPanel controller = vertical();
    TrafficGenerator generator = new TrafficGenerator(in, engine, routes);
    aspect.addTrafficGenerator(generator);
    IntTextField imprecision = new IntTextField();
    IntTextField traffic = new IntTextField();
    JLabel message = new JLabel();
    generator.configure(0, DEFAULT_TRAFFIC_PER_HOUR);
    imprecision.setText("" + 0);
    traffic.setText("" + DEFAULT_TRAFFIC_PER_HOUR);

    JButton validate =
        new JButton("Valider") {
          public TrafficGenerator holder = generator;
        };

    validate.addActionListener(
        (e) -> {
          int imp = imprecision.getValue();
          int traf = traffic.getValue();
          if (traf < 0) traf = 0;
          if (imp < 0) imp = 0;
          if (imp > 100) imp = 100;
          generator.configure(imp, traf);
          message.setText("Modifcation prise en compte");
        });

    controller.add(horizontal(new JLabel("Imprecision (+/-)      "), imprecision));
    controller.add(horizontal(new JLabel("Densite (voiture/heure)"), traffic));
    controller.add(horizontal(validate, message));
    controller.setPreferredSize(new Dimension(100, 100));
    controller.setSize(100, 100);
    return controller;
  }
Esempio n. 2
0
 public JPanel createLaneController() {
   JPanel controller = new JPanel();
   IntTextField northSouthGREENTimer = new IntTextField();
   IntTextField northSouthREDTimer = new IntTextField();
   JButton validate = new JButton("Valider");
   JLabel message = new JLabel();
   validate.addActionListener(
       (e) -> {
         int greenValue = northSouthGREENTimer.getValue() * 1000;
         int redValue = northSouthREDTimer.getValue() * 1000;
         if (greenValue > 0 && redValue > 0) {
           fNorth.configure(Feu.State.VERT, greenValue, redValue);
           fSouth.configure(Feu.State.VERT, greenValue, redValue);
           fEast.configure(Feu.State.ROUGE, redValue, greenValue);
           fWest.configure(Feu.State.ROUGE, redValue, greenValue);
           message.setText("Modifications prises en compte.");
         } else {
           message.setText("Erreur : valeurs invalides.");
         }
       });
   controller.setLayout(new BoxLayout(controller, BoxLayout.Y_AXIS));
   controller.add(new JLabel("Temps Vert"));
   controller.add(northSouthGREENTimer);
   controller.add(new JLabel("Temps Rouge"));
   controller.add(northSouthREDTimer);
   controller.add(validate);
   controller.add(message);
   return controller;
 }
 private void setWidgetActivation() {
   if (m_text.isEnabled()) {
     final int value = m_text.getValue();
     final int max = m_text.getMax();
     final boolean enableUp = (value != max);
     m_up.setEnabled(enableUp);
     m_max.setEnabled(enableUp);
     final int min = m_text.getMin();
     final boolean enableDown = (value != min);
     m_down.setEnabled(enableDown);
     m_min.setEnabled(enableDown);
   } else {
     m_up.setEnabled(false);
     m_down.setEnabled(false);
     m_max.setEnabled(false);
     m_min.setEnabled(false);
   }
 }
 public int getValue() {
   return m_text.getValue();
 }
 public void actionPerformed(final ActionEvent e) {
   if (m_text.isEnabled()) {
     m_text.setValue(m_text.getValue() - 1);
     setWidgetActivation();
   }
 }