コード例 #1
0
ファイル: BlueGoldApplet.java プロジェクト: kphannan/OpenLCB
  void createSampleNode(int index) {
    NodeID id;
    SingleProducer producer11;
    SingleProducer producer12;
    SingleProducer producer13;
    SingleConsumer consumer11;
    SingleConsumer consumer12;
    SingleConsumer consumer13;

    id = new NodeID(new byte[] {0, 0, 0, 0, 0, (byte) index});

    // create and connect the nodes
    producer11 = new SingleProducer(id, sg.getConnection(), new EventID(id, 1, 1));
    sg.register(producer11);

    producer12 = new SingleProducer(id, sg.getConnection(), new EventID(id, 1, 2));
    sg.register(producer12);

    producer13 = new SingleProducer(id, sg.getConnection(), new EventID(id, 1, 3));
    sg.register(producer13);

    consumer11 = new SingleConsumer(id, sg.getConnection(), new EventID(id, 0, 1));
    sg.register(consumer11);

    consumer12 = new SingleConsumer(id, sg.getConnection(), new EventID(id, 0, 2));
    sg.register(consumer12);

    consumer13 = new SingleConsumer(id, sg.getConnection(), new EventID(id, 0, 3));
    sg.register(consumer13);

    // composite GUI
    java.util.List<SingleProducer> producers = new ArrayList<SingleProducer>();
    producers.add(producer11);
    producers.add(producer12);
    producers.add(producer13);

    java.util.List<SingleConsumer> consumers = new ArrayList<SingleConsumer>();
    consumers.add(consumer11);
    consumers.add(consumer12);
    consumers.add(consumer13);
    JFrame f = new BGnodeFrame("BG simulated node " + index, producers, consumers, id, sg);
    f.pack();
    f.setVisible(true);
  }
コード例 #2
0
ファイル: BlueGoldApplet.java プロジェクト: kphannan/OpenLCB
    public BGnodePanel(
        NodeID nid,
        java.util.List<SingleProducer> producers,
        java.util.List<SingleConsumer> consumers,
        ScatterGather sg) {
      this.nid = nid;

      this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
      buttons = new JPanel();
      buttons.setLayout(new GridLayout(2, Math.max(consumers.size(), producers.size())));
      this.add(buttons);
      this.add(new JSeparator());

      JPanel p1 = new JPanel();
      p1.setLayout(new FlowLayout());
      this.add(p1);

      blueButton = new JButton("Blue");
      p1.add(blueButton);
      blueLabel = new JLabel("   ");
      setBlueOn(false);
      p1.add(blueLabel);

      goldButton = new JButton("Gold");
      p1.add(goldButton);
      goldLabel = new JLabel("   ");
      setGoldOn(false);
      p1.add(goldLabel);

      engine =
          new BlueGoldExtendedEngine(nid, sg, producers, consumers) {
            public void setBlueLightOn(boolean f) {
              setBlueOn(f);
            }

            public boolean getBlueLightOn() {
              return blueOn;
            }

            public void setBlueLightBlink(int dwell) {
              setBlueBlink(dwell);
            }

            public void setGoldLightOn(boolean f) {
              setGoldOn(f);
            }

            public boolean getGoldLightOn() {
              return goldOn;
            }

            public void setGoldLightBlink(int dwell) {
              setGoldBlink(dwell);
            }
          };

      sg.register(engine);

      blueButton.addMouseListener(
          new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent e) {
              blueTime = System.currentTimeMillis();
            }

            public void mouseReleased(java.awt.event.MouseEvent e) {
              if (System.currentTimeMillis() - blueTime < 2000) engine.blueClick();
              else longBluePress();
            }
          });

      goldButton.addMouseListener(
          new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent e) {
              goldTime = System.currentTimeMillis();
            }

            public void mouseReleased(java.awt.event.MouseEvent e) {
              if (System.currentTimeMillis() - goldTime < 2000) engine.goldClick();
              else longGoldPress();
            }
          });
    }