⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.java

📁 并口 设置 查看程序 java 源程序及执行程序
💻 JAVA
字号:
//LEDimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class Led extends JPanel{  Image leds[] = new Image[4];    public static final boolean OFF = false;  public static final boolean ON = true;  public static final boolean BLUE = false;  public static final boolean YELLOW = true;  private static final int howManyLedsAre=18;  public static int ledWidth; //Width of the led image  public static int ledHeight; //Height of the led image  private int thisLedNumber;  public static boolean ledsOnPortViewerArrayState[] = new boolean[howManyLedsAre];  public static boolean ledsOnPortViewerArrayColor[] = new boolean[howManyLedsAre];  public static boolean ledsOnPortViewerArrayIsActive[] = new boolean[howManyLedsAre];  private UpdateLed updateLed = new UpdateLed();  private static final int ledUpdateDelay = 100;    public Led(int coordinateXOnParent,int coordinateYOnParent,int thisLedNumber,String toolTip){    InitLed();      setThisLedNumber(thisLedNumber);    setLedLocation(coordinateXOnParent,coordinateYOnParent);    setToolTipText(toolTip);  }  private void InitLed(){    for (int i=0;i<=3;i++){      leds[i] = new ImageIcon(getClass().getResource("Leds/"+i+".gif")).getImage();       }    ledWidth = leds[0].getWidth(this);    ledHeight = leds[0].getHeight(this);    setPreferredSize(new Dimension(ledWidth,ledHeight));        setOpaque(false);    setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));    addMouseListener(new MouseFunctions());    updateLed.start();  }  private class MouseFunctions extends MouseAdapter{    public void mousePressed(MouseEvent e){      if (e.getButton()==MouseEvent.BUTTON1){        if (ledsOnPortViewerArrayIsActive[thisLedNumber]==true) ledsOnPortViewerArrayState[thisLedNumber]=(!ledsOnPortViewerArrayState[thisLedNumber]);      }    }  }    public void setThisLedNumber(int thisLedNumber){    this.thisLedNumber=thisLedNumber;    }  public void setLedLocation(int coordinateXOnParent,int coordinateYOnParent){      setBounds(coordinateXOnParent,coordinateYOnParent,ledWidth,ledHeight);  }  public void paintComponent(Graphics g){    super.paintComponent(g);      drawLed(g);  }  private void drawLed(Graphics g){    g.drawImage(leds[((ledsOnPortViewerArrayColor[thisLedNumber]==YELLOW)?0:2)+((ledsOnPortViewerArrayState[thisLedNumber]==ON)?1:0)],0,0,this);  }  private class UpdateLed extends Thread{    boolean ledTemp;    public void run(){      ledTemp = ledsOnPortViewerArrayState[thisLedNumber];        while(true){        if (ledTemp != ledsOnPortViewerArrayState[thisLedNumber]){          if (getParent()!=null) getParent().repaint();          repaint();          ledTemp = ledsOnPortViewerArrayState[thisLedNumber];        }        if (thisLedNumber==0){          if (ledsOnPortViewerArrayState[0]==false) dataOutColors();             if (ledsOnPortViewerArrayState[0]==true) dataInColors();             if (getParent()!=null) getParent().repaint();          repaint();        }        try{Thread.sleep(ledUpdateDelay);}catch(InterruptedException e){}        }    }  }    private void dataInColors(){    ledsOnPortViewerArrayIsActive[0] = ledsOnPortViewerArrayColor[0] = true;    ledsOnPortViewerArrayIsActive[1] = ledsOnPortViewerArrayColor[1] = true;    ledsOnPortViewerArrayIsActive[2] = ledsOnPortViewerArrayColor[2] = false;    ledsOnPortViewerArrayIsActive[3] = ledsOnPortViewerArrayColor[3] = false;    ledsOnPortViewerArrayIsActive[4] = ledsOnPortViewerArrayColor[4] = false;    ledsOnPortViewerArrayIsActive[5] = ledsOnPortViewerArrayColor[5] = false;    ledsOnPortViewerArrayIsActive[6] = ledsOnPortViewerArrayColor[6] = false;    ledsOnPortViewerArrayIsActive[7] = ledsOnPortViewerArrayColor[7] = false;    ledsOnPortViewerArrayIsActive[8] = ledsOnPortViewerArrayColor[8] = false;    ledsOnPortViewerArrayIsActive[9] = ledsOnPortViewerArrayColor[9] = false;    ledsOnPortViewerArrayIsActive[10] = ledsOnPortViewerArrayColor[10] = false;    ledsOnPortViewerArrayIsActive[11] = ledsOnPortViewerArrayColor[11] = false;    ledsOnPortViewerArrayIsActive[12] = ledsOnPortViewerArrayColor[12] = false;    ledsOnPortViewerArrayIsActive[13] = ledsOnPortViewerArrayColor[13] = false;    ledsOnPortViewerArrayIsActive[14] = ledsOnPortViewerArrayColor[14] = true;    ledsOnPortViewerArrayIsActive[15] = ledsOnPortViewerArrayColor[15] = false;    ledsOnPortViewerArrayIsActive[16] = ledsOnPortViewerArrayColor[16] = true;    ledsOnPortViewerArrayIsActive[17] = ledsOnPortViewerArrayColor[17] = true;  }  private void dataOutColors(){    ledsOnPortViewerArrayIsActive[0] = ledsOnPortViewerArrayColor[0] = true;    ledsOnPortViewerArrayIsActive[1] = ledsOnPortViewerArrayColor[1] = true;    ledsOnPortViewerArrayIsActive[2] = ledsOnPortViewerArrayColor[2] = true;    ledsOnPortViewerArrayIsActive[3] = ledsOnPortViewerArrayColor[3] = true;    ledsOnPortViewerArrayIsActive[4] = ledsOnPortViewerArrayColor[4] = true;    ledsOnPortViewerArrayIsActive[5] = ledsOnPortViewerArrayColor[5] = true;    ledsOnPortViewerArrayIsActive[6] = ledsOnPortViewerArrayColor[6] = true;    ledsOnPortViewerArrayIsActive[7] = ledsOnPortViewerArrayColor[7] = true;    ledsOnPortViewerArrayIsActive[8] = ledsOnPortViewerArrayColor[8] = true;    ledsOnPortViewerArrayIsActive[9] = ledsOnPortViewerArrayColor[9] = true;    ledsOnPortViewerArrayIsActive[10] = ledsOnPortViewerArrayColor[10] = false;    ledsOnPortViewerArrayIsActive[11] = ledsOnPortViewerArrayColor[11] = false;    ledsOnPortViewerArrayIsActive[12] = ledsOnPortViewerArrayColor[12] = false;    ledsOnPortViewerArrayIsActive[13] = ledsOnPortViewerArrayColor[13] = false;    ledsOnPortViewerArrayIsActive[14] = ledsOnPortViewerArrayColor[14] = true;    ledsOnPortViewerArrayIsActive[15] = ledsOnPortViewerArrayColor[15] = false;    ledsOnPortViewerArrayIsActive[16] = ledsOnPortViewerArrayColor[16] = true;    ledsOnPortViewerArrayIsActive[17] = ledsOnPortViewerArrayColor[17] = true;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -