📄 intro.java~1~
字号:
package java2d;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.sql.*;
import java.net.*;
import java.net.MalformedURLException;
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 + -