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

📄 frame3.java

📁 交通信号灯控制系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    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 + -