📄 frame3.java
字号:
JLabel jLabel32 = new JLabel();
JLabel jLabel33 = new JLabel();
JLabel jLabel34 = new JLabel();
JButton jB绿灯显示时间计算 = new JButton();
JButton jB进入图形模拟界面 = new JButton();
JLabel jL饱和设计流量说明3 = new JLabel();
public void jButton1_actionPerformed(ActionEvent e) {
jB绿灯显示时间计算.setVisible(true);
jTabbedPane2.setSelectedIndex(1);
NumberFormat nFormat=NumberFormat.getNumberInstance();
nFormat.setMaximumFractionDigits(0); //结果保留0位小数
NumberFormat nFormat2=NumberFormat.getNumberInstance();
nFormat2.setMaximumFractionDigits(4); //结果保留0位小数
jL北左SL.setText(String.valueOf(nFormat.format(1550*Double.valueOf(Frame2.jL北直fg.getText()))));//计算各方向左车道饱和流量
jL南左SL.setText(String.valueOf(nFormat.format(1550*Double.valueOf(Frame2.jL南左fg.getText()))));
jL东左SL.setText(String.valueOf(nFormat.format(1550*Double.valueOf(Frame2.jL东左fg.getText()))));
jL西左SL.setText(String.valueOf(nFormat.format(1550*Double.valueOf(Frame2.jL西左fg.getText()))));
jL北直ST.setText(String.valueOf(nFormat.format(1650*Double.valueOf(Frame2.jL北直fg.getText())*Double.valueOf(Frame2.jL北直fb.getText()))));//计算各方向直行车道饱和流量
jL南直ST.setText(String.valueOf(nFormat.format(1650*Double.valueOf(Frame2.jL南直fg.getText())*Double.valueOf(Frame2.jL南直fb.getText()))));
jL东直ST.setText(String.valueOf(nFormat.format(1650*Double.valueOf(Frame2.jL东直fg.getText()))));
jL西直ST.setText(String.valueOf(nFormat.format(1650*Double.valueOf(Frame2.jL西直fg.getText()))));
jL北右SR.setText(String.valueOf(nFormat.format(1530*Double.valueOf(Frame2.jL北右fg.getText()))));//计算各方向右车道饱和流量
jL南右SR.setText(String.valueOf(nFormat.format(1530*Double.valueOf(Frame2.jL南右fg.getText()))));
jL东右SR.setText(String.valueOf(nFormat.format(1530*Double.valueOf(Frame2.jL东右fg.getText()))));
jL西右SR.setText(String.valueOf(nFormat.format(1530*Double.valueOf(Frame2.jL西右fg.getText()))));
double y_bz=Double.valueOf(Frame1.jLq北左.getText())/1550*Double.valueOf(Frame2.jL北左fg.getText());//计算各方向左车道流量比
double y_nz=Double.valueOf(Double.valueOf(Frame1.jLq南左.getText())/1550*Double.valueOf(Frame2.jL南左fg.getText()));
double y_dz=Double.valueOf(Double.valueOf(Frame1.jLq东左.getText())/1550*Double.valueOf(Frame2.jL东左fg.getText()));
double y_xz=Double.valueOf(Double.valueOf(Frame1.jLq西左.getText())/1550*Double.valueOf(Frame2.jL西左fg.getText()));
double y_bzh=Double.valueOf(Frame1.jLq北直.getText())/1650*Double.valueOf(Frame2.jL北直fg.getText());//计算各方向直行车道流量比
double y_nzh=Double.valueOf(Frame1.jLq南直.getText())/1650*Double.valueOf(Frame2.jL南直fg.getText());
double y_dzh=Double.valueOf(Frame1.jLq东直.getText())/1650*Double.valueOf(Frame2.jL东直fg.getText());
double y_xzh=Double.valueOf(Frame1.jLq西直.getText())/1650*Double.valueOf(Frame2.jL西直fg.getText());
double y_by=Double.valueOf(Frame1.jLq北右.getText())/1530*Double.valueOf(Frame2.jL北右fg.getText());//计算各方向右车道流量比
double y_ny=Double.valueOf(Frame1.jLq南右.getText())/1530*Double.valueOf(Frame2.jL北右fg.getText());
double y_dy=Double.valueOf(Frame1.jLq东右.getText())/1530*Double.valueOf(Frame2.jL北右fg.getText());
double y_xy=Double.valueOf(Frame1.jLq西右.getText())/1530*Double.valueOf(Frame2.jL北右fg.getText());
jL北左y.setText(String.valueOf(nFormat2.format(y_bz)));
jL南左y.setText(String.valueOf(nFormat2.format(y_nz)));
jL东左y.setText(String.valueOf(nFormat2.format(y_dz)));
jL西左y.setText(String.valueOf(nFormat2.format(y_xz)));
jL北直y.setText(String.valueOf(nFormat2.format(y_bzh)));
jL南直y.setText(String.valueOf(nFormat2.format(y_nzh)));
jL东直y.setText(String.valueOf(nFormat2.format(y_dzh)));
jL西直y.setText(String.valueOf(nFormat2.format(y_xzh)));
jL北右y.setText(String.valueOf(nFormat2.format(y_by)));
jL南右y.setText(String.valueOf(nFormat2.format(y_ny)));
jL东右y.setText(String.valueOf(nFormat2.format(y_dy)));
jL西右y.setText(String.valueOf(nFormat2.format(y_xy)));
double a1,a2,y1;//求相位1的最大流量比
if (y_bz<y_xy ) a1=y_xy;
else a1=y_bz;
if (y_nz<y_dy ) a2=y_dy;
else a2=y_nz;
if (a1<a2) y1=a2;
else y1=a1;
jLY1.setText(String.valueOf(nFormat2.format(y1)));
double b1,b2,y2;//求相位2的最大流量比
if (y_by<y_bzh) b1=y_bzh;
else b1=y_by;
if (y_ny<y_nzh ) b2=y_nzh;
else b2=y_ny;
if (b1<b2) y2=b2;
else y2=b1;
jLY2.setText(String.valueOf(nFormat2.format(y2)));
double c1,c2,y3;//求相位3的最大流量比
if (y_bz<y_ny ) c1=y_ny;
else c1=y_bz;
if (y_xz<y_dz ) c2=y_dz;
else c2=y_xz;
if (c1<c2) y3=c2;
else y3=c1;
jLY3.setText(String.valueOf(nFormat2.format(y3)));
double d1,d2,y4;//求相位4的最大流量比
if (y_xzh<y_xy ) d1=y_xy;
else d1=y_xzh;
if (y_dy<y_dzh ) d2=y_dzh;
else d2=y_dy;
if (d1<d2) y4=d2;
else y4=d1;
jLY4.setText(String.valueOf(nFormat2.format(y4)));
double Y=y1+y2+y3+y4;
jLY.setText(nFormat2.format(Y));
if(y1+y2+y3+y4>=0.9)
{double temp;
temp=Y;
Y=0.9;
jLY.setText(nFormat2.format(temp));
}
}
public void jB绿灯显示时间计算_actionPerformed(ActionEvent e) {
jB进入图形模拟界面.setVisible(true);
NumberFormat nFormat=NumberFormat.getNumberInstance();
nFormat.setMaximumFractionDigits(0); //结果保留0位小数
NumberFormat nFormat3=NumberFormat.getNumberInstance();
nFormat3.setMaximumFractionDigits(4); //结果保留4位小数
int n=0;
double L=9;//L为信号总损失时间
double Ge,C=60;
double Lp=12,V=1,I=3,g_min;
g_min=7+Lp/V-I;
Ge=L/(1-Double.valueOf(jLY.getText()))-L;
double ge1=Ge*Double.valueOf(jLY1.getText())/Double.valueOf(jLY.getText());
double ge2=Ge*Double.valueOf(jLY2.getText())/Double.valueOf(jLY.getText());
double ge3=Ge*Double.valueOf(jLY3.getText())/Double.valueOf(jLY.getText());
double ge4=Ge*Double.valueOf(jLY4.getText())/Double.valueOf(jLY.getText());
while (ge1<g_min|ge1<g_min|ge1<g_min|ge1<g_min)
{
Ge=87+1*n;
n++;
ge1=Ge*Double.valueOf(jLY1.getText())/Double.valueOf(jLY.getText());
ge2=Ge*Double.valueOf(jLY2.getText())/Double.valueOf(jLY.getText());
ge3=Ge*Double.valueOf(jLY3.getText())/Double.valueOf(jLY.getText());
ge4=Ge*Double.valueOf(jLY4.getText())/Double.valueOf(jLY.getText());
}
jL有效绿灯显示时间1.setText(String.valueOf(nFormat.format(ge1)));
jL显示绿灯时间1.setText(String.valueOf(nFormat.format(ge1)));
jL有效绿灯显示时间2.setText(String.valueOf(nFormat.format(ge2)));
jL显示绿灯时间2.setText(String.valueOf(nFormat.format(ge2)));
jL有效绿灯显示时间3.setText(String.valueOf(nFormat.format(ge3)));
jL显示绿灯时间3.setText(String.valueOf(nFormat.format(ge3)));
jL有效绿灯显示时间4.setText(String.valueOf(nFormat.format(ge4)));
jL显示绿灯时间4.setText(String.valueOf(nFormat.format(ge4)));
try{ FileOutputStream out1=new FileOutputStream("相位1.txt");
BufferedOutputStream out12=new BufferedOutputStream(out1,5);
DataOutputStream out11=new DataOutputStream(out12);
out11.writeBytes("&a="+String.valueOf(nFormat.format(ge1)));
out11.close();
FileOutputStream out2=new FileOutputStream("相位2.txt");
BufferedOutputStream out22=new BufferedOutputStream(out2,5);
DataOutputStream out222=new DataOutputStream(out22);
out222.writeBytes("&b="+String.valueOf(nFormat.format(ge2)));
out222.close();
FileOutputStream out3=new FileOutputStream("相位3.txt");
BufferedOutputStream out32=new BufferedOutputStream(out3,5);
DataOutputStream out33=new DataOutputStream(out32);
out33.writeBytes("&c="+String.valueOf(nFormat.format(ge3)));
out33.close();
FileOutputStream out4=new FileOutputStream("相位4.txt");
BufferedOutputStream out42=new BufferedOutputStream(out4,5);
DataOutputStream out44=new DataOutputStream(out42);
out44.writeBytes("&d="+String.valueOf(nFormat.format(ge4)));
out44.close();
}catch(IOException h){}
jL绿信比1.setText(String.valueOf(nFormat3.format(ge1/C)));
jL绿信比2.setText(String.valueOf(nFormat3.format(ge2/C)));
jL绿信比3.setText(String.valueOf(nFormat3.format(ge3/C)));
jL绿信比4.setText(String.valueOf(nFormat3.format(ge4/C)));
jL最短绿灯时间1.setText(String.valueOf(nFormat.format(g_min)));
jL最短绿灯时间2.setText(String.valueOf(nFormat.format(g_min)));
jL最短绿灯时间3.setText(String.valueOf(nFormat.format(g_min)));
jL最短绿灯时间4.setText(String.valueOf(nFormat.format(g_min)));
}
public void jB进入图形模拟界面_actionPerformed(ActionEvent e) {
窗口.setVisible(true);
}
}
class Frame3_jB进入图形模拟界面_actionAdapter implements ActionListener {
private Frame3 adaptee;
Frame3_jB进入图形模拟界面_actionAdapter(Frame3 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jB进入图形模拟界面_actionPerformed(e);
}
}
class Frame3_jButton1_actionAdapter implements ActionListener {
private Frame3 adaptee;
Frame3_jButton1_actionAdapter(Frame3 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class Frame3_jB绿灯显示时间计算_actionAdapter implements ActionListener {
private Frame3 adaptee;
Frame3_jB绿灯显示时间计算_actionAdapter(Frame3 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jB绿灯显示时间计算_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -