亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? page_bill.java

?? 一份java寫的期貨交易程序
?? JAVA
字號:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   Page_Bill.java

package gnnt.MEBS.HQApplet;

import gnnt.MEBS.hq.BillDataVO;
import gnnt.MEBS.hq.ProductDataVO;
import gnnt.util.service.HQVO.CMDBillVO;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Hashtable;
import java.util.Vector;

// Referenced classes of package gnnt.MEBS.HQApplet:
//            Page_Main, MenuListener, HQApplet, ProductData, 
//            SendThread, BillFieldInfo, CodeTable, RHColor, 
//            Common

public class Page_Bill extends Page_Main
{

    static final int ROW_NUM = 3;
    BillFieldInfo fieldInfo[];
    float zoomRate;
    int fieldWidth;
    int totalPages;
    int curPageNo;
    int iRows;
    ProductData stock;
    static final Font fntTitle = new Font("楷體", 1, 20);
    static final Font fntText = new Font("宋體", 0, 16);
    int rowHeight;
    int startY;
    int iProductType;
    MenuItem menuPageMinLine;
    MenuItem menuPageKLine;
    MenuItem menuQuote;
    MenuItem menuMarket;

    void AskForDataOnTimer()
    {
        ProductData stock = m_applet.GetProductData(m_applet.strCurrentCode);
        CMDBillVO packet = new CMDBillVO();
        packet.code = m_applet.strCurrentCode;
        packet.type = 0;
        if(stock != null && stock.vBill != null && stock.vBill.size() > 0)
            packet.time = ((BillDataVO)stock.vBill.lastElement()).time;
        m_applet.sendThread.AskForData(packet);
    }

    void AskForDataOnce()
    {
        CMDBillVO packet = new CMDBillVO();
        packet.code = m_applet.strCurrentCode;
        packet.type = 0;
        packet.time = 0;
        m_applet.sendThread.AskForData(packet);
    }

    public Page_Bill(Rectangle _rc, HQApplet applet)
    {
        super(_rc, applet);
        zoomRate = 1.0F;
        curPageNo = 0;
        iRows = 0;
        m_applet.iCurrentPage = 4;
        AskForDataOnce();
        makeMenus();
        iProductType = m_applet.getProductType(m_applet.strCurrentCode);
        fieldInfo = (new BillFieldInfo[] {
            new BillFieldInfo(m_applet.getShowString("Time"), true, 64), new BillFieldInfo(m_applet.getShowString("Price"), true, 70), new BillFieldInfo(m_applet.getShowString("CurVol"), true, 60), new BillFieldInfo(m_applet.getShowString("Dingli"), true, 50), new BillFieldInfo(m_applet.getShowString("ZhuanRang"), true, 50)
        });
    }

    void Paint(Graphics g)
    {
        initVisibleField();
        initPageInfo(g);
        paintTitle(g);
        paintBillData(g);
    }

    void paintTitle(Graphics g)
    {
        FontMetrics fm = null;
        String sCode = "";
        if(stock != null)
            sCode = stock.sCode;
        CodeTable stockTable = (CodeTable)m_applet.m_htProduct.get(sCode);
        String title = "";
        String sName = "";
        if(stockTable != null)
            sName = stockTable.sName;
        if(sName.equals(sCode))
            sName = "";
        title = title + sName + " " + sCode + " " + m_applet.getShowString("TradeList");
        int x = m_rc.x;
        int y = m_rc.y;
        g.setFont(fntTitle);
        fm = g.getFontMetrics();
        g.setColor(HQApplet.rhColor.clProductName);
        x += (m_rc.width - fm.stringWidth(title)) / 2;
        if(x < 0)
            x = 0;
        g.drawString(title, x, y + fm.getAscent());
        x = m_rc.x;
        y = m_rc.y + fm.getHeight();
        g.setColor(HQApplet.rhColor.clGrid);
        g.drawRect(x, y, (x + m_rc.width) - 1, m_rc.height - fm.getHeight());
        for(int i = 1; i < 3; i++)
            g.drawLine(x + (m_rc.width / 3) * i, y, x + (m_rc.width / 3) * i, (y + m_rc.height) - fm.getHeight());

        g.setFont(fntText);
        fm = g.getFontMetrics();
        g.drawLine(x, y + fm.getHeight() + 2, (x + m_rc.width) - 1, y + fm.getHeight() + 2);
        startY = y + fm.getHeight() + 4 + fm.getAscent();
        g.setColor(HQApplet.rhColor.clItem);
        int fieldNum = fieldInfo.length;
        y += fm.getAscent() + 1;
        for(int i = 0; i < 3; i++)
        {
            x = m_rc.x + (m_rc.width / 3) * i;
            for(int j = 0; j < fieldNum; j++)
            {
                if(!fieldInfo[j].visible)
                    break;
                x = (int)((float)x + (float)fieldInfo[j].width * zoomRate);
                String str = fieldInfo[j].name;
                int strWidth = fm.stringWidth(str);
                g.drawString(str, x - strWidth, y);
            }

        }

        String strText = m_applet.getShowString("PagePrefix") + (totalPages - curPageNo) + m_applet.getShowString("PageSuffix") + " " + m_applet.getShowString("TotalPagePrefix") + totalPages + m_applet.getShowString("TotalPageSuffix");
        g.setColor(HQApplet.rhColor.clGrid);
        g.drawString(strText, (m_rc.x + m_rc.width) - fm.stringWidth(strText), (m_rc.y + y) - fm.getHeight() - fm.getDescent());
    }

    void paintBillData(Graphics g)
    {
        if(stock == null || stock.realData == null || stock.vBill == null)
            return;
        int iPrecision = m_applet.GetPrecision(stock.sCode);
        g.setFont(fntText);
        FontMetrics fm = g.getFontMetrics();
        int iShow = iRows * 3;
        int iSize = stock.vBill.size();
        if(iSize <= 0)
            return;
        if(iSize < iShow)
            iShow = iSize;
        int x = m_rc.x;
        int y = startY;
        int iStart = iSize - iShow * (curPageNo + 1);
        if(iStart < 0)
            iStart = 0;
        int iEnd = iStart + iShow;
        if(iEnd > iSize)
        {
            iEnd = iSize;
            iStart = iEnd - iShow;
            if(iStart <= 0)
                iStart = 1;
        }
        for(int i = iStart; i < iEnd; i++)
        {
            x = m_rc.x;
            x += (m_rc.width / 3) * ((i - iStart) / iRows);
            if((i - iStart) % iRows == 0)
                y = startY;
            BillDataVO billPre = null;
            if(i > 0)
                billPre = (BillDataVO)stock.vBill.elementAt(i - 1);
            BillDataVO bill = (BillDataVO)stock.vBill.elementAt(i);
            if(fieldInfo[0].visible)
            {
                DecimalFormat df = new DecimalFormat("#,#0");
                String str = df.format(bill.time);
                if(str.length() != 8)
                    str = "0" + str;
                str = str.replace(',', ':');
                g.setColor(HQApplet.rhColor.clNumber);
                x = (int)((float)x + (float)fieldInfo[0].width * zoomRate);
                g.drawString(str, x - fm.stringWidth(str), y);
            }
            if(fieldInfo[1].visible)
            {
                String str = Common.FloatToString(bill.curPrice, iPrecision);
                if(bill.curPrice > stock.realData.yesterBalancePrice)
                    g.setColor(HQApplet.rhColor.clIncrease);
                else
                if(bill.curPrice < stock.realData.yesterBalancePrice)
                    g.setColor(HQApplet.rhColor.clDecrease);
                else
                    g.setColor(HQApplet.rhColor.clEqual);
                x = (int)((float)x + (float)fieldInfo[1].width * zoomRate);
                g.drawString(str, x - fm.stringWidth(str), y);
            }
            if(fieldInfo[2].visible)
            {
                String str;
                if(billPre == null)
                    str = String.valueOf(bill.totalAmount);
                else
                    str = String.valueOf((int)(bill.totalAmount - billPre.totalAmount));
                g.setColor(HQApplet.rhColor.clVolume);
                x = (int)((float)x + ((float)fieldInfo[2].width * zoomRate - 16F));
                g.drawString(str, x - fm.stringWidth(str), y);
                if(iProductType != 2 && iProductType != 3)
                {
                    byte ask;
                    if(billPre == null)
                        ask = 2;
                    else
                    if(billPre.buyPrice <= 0.001F)
                        ask = 1;
                    else
                    if(bill.curPrice >= billPre.sellPrice)
                        ask = 0;
                    else
                    if(bill.curPrice <= billPre.buyPrice)
                    {
                        ask = 1;
                    } else
                    {
                        int sell = (int)((billPre.sellPrice - bill.curPrice) * 1000F);
                        float buy = (int)((bill.curPrice - billPre.buyPrice) * 1000F);
                        if((float)sell < buy)
                            ask = 0;
                        else
                        if((float)sell > buy)
                            ask = 1;
                        else
                            ask = 2;
                    }
                    if(ask == 0)
                    {
                        str = "↑";
                        g.setColor(HQApplet.rhColor.clIncrease);
                    } else
                    if(ask == 1)
                    {
                        str = "↓";
                        g.setColor(HQApplet.rhColor.clDecrease);
                    } else
                    {
                        str = "–";
                        g.setColor(HQApplet.rhColor.clEqual);
                    }
                    g.drawString(str, x, y);
                }
            }
            if(fieldInfo[3].visible)
            {
                String str = String.valueOf(bill.openAmount);
                x = (int)((float)x + (float)fieldInfo[3].width * zoomRate);
                g.setColor(HQApplet.rhColor.clNumber);
                g.drawString(str, x - fm.stringWidth(str), y);
            }
            if(fieldInfo[4].visible)
            {
                String str = String.valueOf(bill.closeAmount);
                x = (int)((float)x + (float)fieldInfo[4].width * zoomRate);
                g.setColor(HQApplet.rhColor.clNumber);
                g.drawString(str, x - fm.stringWidth(str), y);
            }
            y += rowHeight;
        }

    }

    boolean KeyPressed(KeyEvent e)
    {
        int iKeyCode = e.getKeyCode();
        switch(iKeyCode)
        {
        default:
            break;

        case 34: // '"'
            if(curPageNo > 0)
            {
                curPageNo--;
                return true;
            }
            break;

        case 33: // '!'
            if(curPageNo < totalPages - 1)
            {
                curPageNo++;
                return true;
            }
            break;
        }
        return false;
    }

    void initPageInfo(Graphics g)
    {
        stock = m_applet.GetProductData(m_applet.strCurrentCode);
        if(stock == null || stock.realData == null || stock.vBill == null)
            return;
        int iSize = stock.vBill.size();
        if(iSize <= 0)
            return;
        FontMetrics fm = g.getFontMetrics(fntTitle);
        int titleHeight = fm.getHeight();
        fm = g.getFontMetrics(fntText);
        int fontHeight = fm.getHeight();
        rowHeight = fontHeight + 2;
        iRows = (m_rc.height - titleHeight - fontHeight - 6) / rowHeight;
        int totalPages = (iSize - 1) / (iRows * 3);
        if((iSize - 1) % (iRows * 3) != 0)
            totalPages++;
        if(totalPages != this.totalPages)
        {
            this.totalPages = totalPages;
            curPageNo = 0;
        }
    }

    void initVisibleField()
    {
        int maxWidth = m_rc.width / 3 - 4;
        if(maxWidth < 0)
            maxWidth = 0;
        int usedWidth = 0;
        int visibleFieldCount = 0;
        int fieldNum = fieldInfo.length;
        for(int i = 0; i < fieldNum; i++)
        {
            if(usedWidth + fieldInfo[i].width < maxWidth)
            {
                fieldInfo[i].visible = true;
                visibleFieldCount++;
                usedWidth += fieldInfo[i].width;
                continue;
            }
            for(int j = i; j < fieldNum; j++)
                fieldInfo[j].visible = false;

            break;
        }

        if(visibleFieldCount <= 0)
            visibleFieldCount = 1;
        if(visibleFieldCount == fieldNum)
            zoomRate = (float)maxWidth / (float)usedWidth;
    }

    private void makeMenus()
    {
        menuPageMinLine = new MenuItem(m_applet.getShowString("MinLine") + "  F5");
        menuPageMinLine.setActionCommand("minline");
        menuPageMinLine.addActionListener(this);
        menuPageKLine = new MenuItem(m_applet.getShowString("Analysis"));
        menuPageKLine.setActionCommand("kline");
        menuPageKLine.addActionListener(this);
        menuQuote = new MenuItem(m_applet.getShowString("MultiQuote") + "  F2");
        menuQuote.setActionCommand("cmd_quote");
        menuQuote.addActionListener(this);
        menuMarket = new MenuItem(m_applet.getShowString("ClassedList") + "  F4");
        menuMarket.setActionCommand("cmd_market");
        menuMarket.addActionListener(this);
    }

    public void processMenuEvent(PopupMenu popupMenu, int x, int y)
    {
        popupMenu.removeAll();
        popupMenu.add(menuPageMinLine);
        popupMenu.add(menuPageKLine);
        popupMenu.addSeparator();
        popupMenu.add(menuQuote);
        popupMenu.add(menuMarket);
        processCommonMenuEvent(popupMenu, this);
        popupMenu.show(m_applet, x, y);
    }

    public void actionPerformed(ActionEvent e)
    {
        String cmd = e.getActionCommand();
        if(cmd.indexOf("cmd_") >= 0)
        {
            String requestType = cmd.substring(4);
            if(requestType.equals("quote"))
                executeQuoteCommand();
            else
            if(requestType.equals("market"))
                executeMarketCommand();
        } else
        if(cmd.equals("minline"))
            m_applet.showPageMinLine();
        else
        if(cmd.equals("kline"))
            m_applet.showPageKLine();
        else
            super.actionPerformed(e);
    }

    private void executeQuoteCommand()
    {
        switch(iProductType)
        {
        case 1: // '\001'
            m_applet.UserCommand("60");
            break;

        default:
            m_applet.UserCommand("60");
            break;
        }
    }

    private void executeMarketCommand()
    {
        switch(iProductType)
        {
        case 1: // '\001'
            m_applet.UserCommand("80");
            break;

        default:
            m_applet.UserCommand("80");
            break;
        }
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品一区二区| 欧美国产精品久久| 天天色综合天天| 欧美日韩五月天| 午夜精品久久久久久不卡8050| 欧美网站大全在线观看| 首页亚洲欧美制服丝腿| 日韩美女天天操| 国产精品99久久久| 日韩美女久久久| 欧美伊人精品成人久久综合97| 性欧美疯狂xxxxbbbb| 精品欧美黑人一区二区三区| 国产69精品久久99不卡| 亚洲激情在线激情| 在线不卡免费欧美| 国产丶欧美丶日本不卡视频| 亚洲日穴在线视频| 91精品婷婷国产综合久久性色| 精品一区二区免费看| 1000精品久久久久久久久| 欧美影院精品一区| 国产乱理伦片在线观看夜一区 | 久久夜色精品国产噜噜av| 成人久久久精品乱码一区二区三区| 亚洲免费看黄网站| 日韩午夜激情av| 91亚洲精华国产精华精华液| 亚洲成av人片一区二区三区| 国产欧美视频一区二区三区| 欧美午夜精品一区二区蜜桃 | 国产日韩欧美综合在线| 91搞黄在线观看| 激情小说欧美图片| 亚洲久本草在线中文字幕| 欧美成人三级电影在线| 色综合天天综合网国产成人综合天| 日韩和欧美一区二区三区| 日本一区二区不卡视频| 日韩欧美一级片| 91亚洲精品乱码久久久久久蜜桃| 久久成人免费电影| 亚洲国产成人精品视频| 欧美极品美女视频| 日韩精品一区在线观看| 色8久久人人97超碰香蕉987| 国产精品一区久久久久| 三级成人在线视频| 亚洲欧美乱综合| 国产精品成人网| 久久久久久久久久美女| 69堂成人精品免费视频| 色偷偷久久人人79超碰人人澡| 国产精品中文字幕日韩精品| 奇米精品一区二区三区在线观看 | 在线观看日韩精品| 国产激情一区二区三区四区| 日韩精品免费专区| 艳妇臀荡乳欲伦亚洲一区| 欧美国产一区视频在线观看| 日韩女优电影在线观看| 欧美精品丝袜久久久中文字幕| 99热99精品| 粉嫩嫩av羞羞动漫久久久| 麻豆91免费观看| 亚洲成人激情自拍| 亚洲午夜在线视频| 一区二区三区久久久| 综合分类小说区另类春色亚洲小说欧美| 欧美精品一区二区不卡| 日韩欧美aaaaaa| 日韩欧美国产一区在线观看| 4438成人网| 欧美精品少妇一区二区三区| 欧美老女人在线| 在线播放欧美女士性生活| 欧美日韩中文另类| 欧美少妇一区二区| 欧美精品乱码久久久久久| 欧美日韩久久不卡| 欧美高清视频一二三区 | 精品一区二区三区在线观看| 日韩av中文在线观看| 日韩精品久久理论片| 日韩国产在线观看| 蜜臀精品一区二区三区在线观看| 日韩电影在线观看网站| 青青草伊人久久| 国产中文一区二区三区| 成人精品视频一区| 91一区二区三区在线观看| 在线观看亚洲a| 91精品欧美综合在线观看最新| 91精品国产全国免费观看| 日韩三级免费观看| 国产日韩欧美亚洲| 亚洲另类一区二区| 日本在线不卡视频一二三区| 久热成人在线视频| 高清国产一区二区| 欧洲中文字幕精品| 欧美一区二区三区的| 久久久五月婷婷| 最近中文字幕一区二区三区| 亚洲图片欧美色图| 韩国三级在线一区| 99久久伊人网影院| 91超碰这里只有精品国产| 精品国产乱码久久| 中文字幕综合网| 美女视频免费一区| 成人18视频在线播放| 欧美日韩一区二区三区免费看| 日韩欧美一区在线| 亚洲欧洲日韩女同| 日韩激情一二三区| 成人av在线资源| 制服丝袜亚洲网站| 中文字幕av资源一区| 午夜久久福利影院| 成人91在线观看| 日韩一区二区在线观看视频 | 久久久久久久综合日本| 一区二区免费视频| 国产一区二区女| 欧美情侣在线播放| 国产精品进线69影院| 男女性色大片免费观看一区二区| 成人做爰69片免费看网站| 5858s免费视频成人| 亚洲视频资源在线| 国产老肥熟一区二区三区| 在线观看视频一区二区欧美日韩| 久久久亚洲综合| 三级不卡在线观看| 一本色道久久综合亚洲91| 久久网站热最新地址| 亚洲成人免费影院| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 在线播放亚洲一区| 亚洲免费资源在线播放| 国产精品自产自拍| 欧美一区三区二区| 亚洲最大的成人av| 99久久综合99久久综合网站| 久久日韩精品一区二区五区| 五月婷婷综合在线| 在线观看欧美精品| 综合精品久久久| 不卡av电影在线播放| 久久这里只有精品首页| 蜜臀av一区二区在线免费观看| 欧美性生活久久| 亚洲精品国产a久久久久久| 成人av网站在线| 欧美韩日一区二区三区四区| 激情六月婷婷久久| 欧美不卡在线视频| 美日韩黄色大片| 91精品国产欧美日韩| 天天综合天天做天天综合| 在线观看视频一区| 亚洲一区二区三区四区五区中文| 99视频国产精品| 亚洲男同1069视频| 91传媒视频在线播放| 亚洲精品高清在线| 欧美午夜理伦三级在线观看| 亚洲一卡二卡三卡四卡| 欧美午夜精品久久久久久超碰| 亚洲免费资源在线播放| 在线视频你懂得一区二区三区| 亚洲欧美日韩成人高清在线一区| 91亚洲永久精品| 亚洲最大成人网4388xx| 欧美日韩国产一二三| 五月天亚洲精品| 欧美大片拔萝卜| 国产在线观看免费一区| 久久精品无码一区二区三区| 国产二区国产一区在线观看| 1000部国产精品成人观看| 色综合中文字幕国产 | 久久综合九色综合97_久久久 | av在线这里只有精品| 亚洲精品视频在线观看免费| 日本福利一区二区| 五月激情综合网| 日韩精品一区二区三区swag | 在线免费观看成人短视频| 亚洲午夜一区二区| 日韩一级在线观看| 国产盗摄一区二区| 伊人性伊人情综合网| 欧美美女一区二区三区| 久久丁香综合五月国产三级网站| 国产精品色婷婷久久58| 欧美特级限制片免费在线观看| 男女男精品网站| ●精品国产综合乱码久久久久|