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

📄 intro.java

📁 风机在线监测系统,采用sqlserver数据库,有问题联系我
💻 JAVA
字号:
package java2d;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.URL;
import java.net.URLClassLoader;

import javax.swing.JPanel;
import javax.swing.border.*;

public class Intro extends JPanel {
    static Surface surface;
    static Color black = new Color(20, 20, 20);
    static Color white = new Color(240, 240, 255);
    static Color red = new Color(149, 43, 42);
    static Color blue = new Color(94, 105, 176);
    static Color yellow = new Color(255, 255, 140);

    public Intro() {
        EmptyBorder eb = new EmptyBorder(8, 11, 8, 11);
        BevelBorder bb = new BevelBorder(BevelBorder.LOWERED);
        setBorder(new CompoundBorder(eb, bb));
        setLayout(new BorderLayout());
        //setBackground(Color.gray);
        add(surface = new Surface());

    }

    public void start() {

        surface.start();

    }


    public void stop() {

        surface.stop();

    }


    static class Surface extends JPanel implements Runnable {
        static Surface surf;
        float[] H = new float[7];
        float[] L = new float[7];
        private float MZ1, MZ2, MZ3, MZ4, MS1, MS2, MT1, MT2, MT3, MT4;
        static float Z1, Z2, Z3, Z4, S1, S2, T1, T2, T3, T4;
        static float al1 = (float) 7.0;
        static float al2 = (float) 9.5;
        static BufferedImage bimg;
        public int w;
        public int h;
        static Thread plot;
        boolean isStandalone = false;
        BorderLayout borderLayout1 = new BorderLayout();
        Image centerImage;
        private Thread thread;


        public Surface() {
            surf = this;
            setBackground(Color.gray);
            setLayout(new BorderLayout());
            //datapool=new dataPool();
            plot = new Thread(this);
            URLClassLoader urlLoader = (URLClassLoader)this.getClass().
                                       getClassLoader();
            URL fileLoc = urlLoader.findResource("java2d/fengji.gif");
            centerImage = this.getToolkit().createImage(fileLoc);
            MediaTracker mt = new MediaTracker(this);
            mt.addImage(centerImage, 0);
            try {
                mt.waitForAll();
            } catch (Exception e) {
                e.printStackTrace();
            }
            w = centerImage.getWidth(this);
            h = centerImage.getHeight(this);
            System.out.println(String.valueOf(w));
            System.out.println(String.valueOf(h));
        }


        //alarm
        static int alarm(float val, float al1, float al2) {
            int type = 1;
            if (val >= al1 && val < al2) {
                type = 3;
            } else
            if (val >= al2) {
                type = 4;
            } else
            if (val < al1) {
                type = 1;
            } else {
                type = 2;
            }

            return type;
        }

        public void drawLed(Graphics2D g, int type, int x, int y) {
            switch (type) {
            case 1:
                g.setColor(new Color(0, 255, 0));
                break;
            case 2:
                g.setColor(new Color(255, 255, 255));
                break;
            case 3:
                g.setColor(new Color(251, 251, 19));
                break;
            case 4:
                g.setColor(new Color(255, 0, 0));
                break;
            default:
                g.setColor(new Color(0, 255, 0));
            }
            g.fillOval(x, y, 20, 20);
        }

        static void changeColor(Graphics2D g, int type) {
            switch (type) {
            case 1:
                g.setColor(new Color(0, 255, 0));
                break;
            case 2:
                g.setColor(new Color(255, 255, 255));
                break;
            case 3:
                g.setColor(new Color(251, 251, 19));
                break;
            case 4:
                g.setColor(new Color(255, 0, 0));
                break;
            default:
                g.setColor(new Color(0, 255, 0));
            }

        }


        public void paint(Graphics g) {
            Dimension d = getSize();
            if (d.width <= 0 || d.height <= 0) {
                return;
            }
            if (bimg == null || bimg.getWidth() != d.width ||
                bimg.getHeight() != d.height) {
                bimg = getGraphicsConfiguration().createCompatibleImage(d.width,
                        d.height);
            }
            Graphics2D g2 = bimg.createGraphics();
            int x = 0;
            int y = 30;
            g2.drawImage(centerImage, x, y, this);
            if (Java2Demo.datapool != null) {
                /* Z1=Java2Demo.datapool.getdataF("Z1","high_frequency_table");
                 Z2=Java2Demo.datapool.getdataF("Z2","high_frequency_table");
                 Z3=Java2Demo.datapool.getdataF("Z3","high_frequency_table");
                 Z4=Java2Demo.datapool.getdataF("Z4","high_frequency_table");
                 S1=Java2Demo.datapool.getdataF("S1","high_frequency_table");
                 S2=Java2Demo.datapool.getdataF("S2","high_frequency_table");
                    T1=Java2Demo.datapool.getdataF("T1","low_frequency_table");
                    T2=Java2Demo.datapool.getdataF("T2","low_frequency_table");
                    T3=Java2Demo.datapool.getdataF("T3","low_frequency_table");
                    T4=Java2Demo.datapool.getdataF("T4","low_frequency_table");

                 */
                H = Java2Demo.datapool.getdataF("high_frequency_table");
                L = Java2Demo.datapool.getdataF("low_frequency_table");

            }
            drawLed(g2, alarm(H[0], al1, al2), x + 102, y + 73); //风机 左Y
            g2.drawLine(x + 112, y + 73, x + 112, y + 43);
            g2.drawLine(x + 112, y + 43, x + 82, y + 43);
            g2.drawLine(x + 112, y + 43, x + 142, y + 43);
            g2.drawString("" + H[0], x + 80, y + 37);

            drawLed(g2, alarm(H[1], al1, al2), x + 249, y + 73); //风机 右Y
            g2.drawLine(x + 259, y + 73, x + 259, y + 43);
            g2.drawLine(x + 229, y + 43, x + 289, y + 43);
            g2.drawString("" + H[1], x + 227, y + 37);

            drawLed(g2, alarm(H[2], al1, al2), x + 92, y + 210); //风机 左X
            g2.drawLine(x + 102, y + 230, x + 102, y + 250);
            g2.drawLine(x + 102, y + 250, x + 82, y + 250);
            g2.drawString("" + H[2], x + 25, y + 255);

            drawLed(g2, alarm(H[4], al1, al2), x + 150, y + 210); //风机 左Z
            g2.drawLine(x + 160, y + 230, x + 160, y + 270);
            g2.drawLine(x + 160, y + 270, x + 110, y + 270);
            g2.drawString("" + H[4], x + 50, y + 275);

            drawLed(g2, alarm(H[3], al1, al2), x + 240, y + 210); //风机 右X
            g2.drawLine(x + 250, y + 230, x + 250, y + 270);
            g2.drawLine(x + 250, y + 270, x + 290, y + 270);
            g2.drawString("" + H[3], x + 290, y + 275);

            drawLed(g2, alarm(H[5], al1, al2), x + 297, y + 210); //风机 右Z
            g2.drawLine(x + 307, y + 230, x + 307, y + 250);
            g2.drawLine(x + 307, y + 250, x + 347, y + 250);
            g2.drawString("" + H[5], x + 347, y + 255);

            drawLed(g2, alarm(L[0], al1, al2), x + 140, y + 120); //风机 左 温度
            g2.drawLine(x + 150, y + 120, x + 150, y + 100);
            g2.drawLine(x + 150, y + 100, x + 400, y + 100);
            g2.drawLine(x + 400, y + 100, x + 400, y + 60);
            g2.drawLine(x + 400, y + 60, x + 403, y + 60);
            g2.drawString("" + L[0], x + 403, y + 65);

            drawLed(g2, alarm(L[1], al1, al2), x + 253, y + 120); //风机 右 温度
            g2.drawLine(x + 263, y + 120, x + 263, y + 110);
            g2.drawLine(x + 263, y + 110, x + 320, y + 110);
            g2.drawLine(x + 320, y + 110, x + 320, y + 30);
            g2.drawLine(x + 320, y + 30, x + 323, y + 30);
            g2.drawString("" + L[1], x + 323, y + 35);

            drawLed(g2, alarm(L[2], al1, al2), x + 590, y + 89); //电机 左 温度
            g2.drawLine(x + 590, y + 99, x + 570, y + 99);
            g2.drawLine(x + 570, y + 99, x + 570, y + 250);
            g2.drawLine(x + 570, y + 250, x + 573, y + 250);
            g2.drawString("" + L[2], x + 573, y + 255);

            drawLed(g2, alarm(L[3], al1, al2), x + 676, y + 89); //电机 右 温度
            g2.drawLine(x + 696, y + 99, x + 706, y + 99);
            g2.drawLine(x + 706, y + 99, x + 706, y + 270);
            g2.drawString("" + L[3], x + 660, y + 275);

            g2.setFont(new Font("楷体_GB2312", Font.PLAIN, 20));
            g2.drawString("振动、位移单位:毫米", x + 40, 450);
            g2.drawString("温度单位:摄氏度", x + 40, 475);
            // g2.draw3DRect(x,y+300,600,150,true);
            g2.draw3DRect(x, 505, 600, 35, true);
            drawLed(g2, 1, x + 20, 513);
            g2.drawString("信号正常", x + 40, 530);
            drawLed(g2, 2, x + 130, 513);
            g2.drawString("信号失效", x + 150, 530);
            drawLed(g2, 3, x + 240, 513);
            g2.drawString("一级报警", x + 260, 530);
            drawLed(g2, 4, x + 350, 513);
            g2.drawString("二级报警", x + 370, 530);

            g.drawImage(bimg, 0, 0, this);
        }


        public void start() {
            if (thread == null) {
                thread = new Thread(this);
                thread.setPriority(Thread.MIN_PRIORITY);
                thread.setName("Intro");
                thread.start();
            }
        }


        public synchronized void stop() {
            if (thread != null) {
                thread.interrupt();
            }
            thread = null;
            MZ1 = MZ2 = MZ3 = MZ4 = MS1 = MS2 = MT1 = MT2 = MT3 = MT4 =
                    (float) 0.0;
            notifyAll();
        }

        public void run() {

            Thread me = Thread.currentThread();

            while (thread == me && !isShowing() || getSize().width <= 0) {
                try {
                    thread.sleep(500);
                } catch (InterruptedException e) {
                    return;
                }
            }

            while (thread == me) {
                System.out.println("thread is running");
                repaint();
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    return;
                }

            }
            thread = null;
        }

    }
}

⌨️ 快捷键说明

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