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

📄 page_kline.java

📁 java 写的股票技术分析;软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// NMI's Java Code Viewer 6.0a
// www.trinnion.com/javacodeviewer

// Registered to Evaluation Copy                                      
// Generated PGFZKD AyTB 14 2007 15:44:19 

//source File Name:   Page_KLine.java

package gnnt.MEBS.HQApplet;

import gnnt.MEBS.HQApplet.Indicator.IndicatorBase;
import gnnt.MEBS.hq.BillDataVO;
import gnnt.MEBS.hq.ProductDataVO;
import gnnt.util.service.HQVO.CMDBillVO;
import gnnt.util.service.HQVO.CMDMinVO;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.util.Vector;

// Referenced classes of package gnnt.MEBS.HQApplet:
//            Page_Main, MenuListener, HQApplet, Draw_KLine, 
//            Draw_MinLine, ProductData, SendThread, Packet_HttpRequest, 
//            HttpThread, Draw_Quote

public class Page_KLine extends Page_Main {

    static int m_iCurKLineType = 0;
    int iProductType;
    Draw_KLine draw_KLine;
    Draw_MinLine draw_MinLine;
    Rectangle rcKLine;
    Menu menuKType;
    MenuItem menuKTypeK;
    MenuItem menuKTypeUSA;
    MenuItem menuKTypePoly;
    Menu menuIndicator;
    Menu menuCycle;
    MenuItem menuQuote;
    MenuItem menuMarket;
    MenuItem menuZoomIn;
    MenuItem menuZoomOut;
    MenuItem menuPrevStock;
    MenuItem menuPostStock;
    MenuItem menuMinLine;
    MenuItem menuBill;
    MenuItem menuCycleDay;
    MenuItem menuCycleWeek;
    MenuItem menuCycleMonth;
    MenuItem menuCycleMin5;
    MenuItem menuCycleMin15;
    MenuItem menuCycleMin30;
    MenuItem menuCycleMin60;

    public Page_KLine(Rectangle _rc, HQApplet applet) {
        super(_rc, applet);
        AskForDataOnce();
        super.m_applet.iCurrentPage = 2;
        draw_KLine = new Draw_KLine(this);
        draw_MinLine = new Draw_MinLine(applet, false);
        makeMenus();
        iProductType = super.m_applet.getProductType(super.m_applet.strCurrentCode);
    }

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

    void AskForDataOnce() {
        ProductData stock = super.m_applet.GetProductData(super.m_applet.strCurrentCode);
        java.util.Date time = null;
        if(stock != null && stock.realData != null)
            time = stock.realData.time;
        SendThread.AskForRealQuote(super.m_applet.strCurrentCode, time, super.m_applet.sendThread);
        AskForKLine();
        CMDMinVO packet1 = new CMDMinVO();
        packet1.code = super.m_applet.strCurrentCode;
        packet1.type = 0;
        packet1.time = 0;
        super.m_applet.sendThread.AskForData(packet1);
        CMDBillVO packet = new CMDBillVO();
        packet.type = 0;
        packet.code = super.m_applet.strCurrentCode;
        packet.time = 0;
        super.m_applet.sendThread.AskForData(packet);
    }

    void AskForKLine() {
        ProductData stock = super.m_applet.GetProductData(super.m_applet.strCurrentCode);
        if(stock != null)
            if(1 == super.m_applet.m_iKLineCycle || 2 == super.m_applet.m_iKLineCycle || 3 == super.m_applet.m_iKLineCycle) {
                if(stock.dayKLine != null)
                    return;
            } else
            if(stock.min5KLine != null)
                return;
        Packet_HttpRequest request = new Packet_HttpRequest();
        request.sCode = super.m_applet.strCurrentCode;
        if(1 == super.m_applet.m_iKLineCycle || 2 == super.m_applet.m_iKLineCycle || 3 == super.m_applet.m_iKLineCycle)
            request.type = 0;
        else
            request.type = 1;
        super.m_applet.httpThread.AskForData(request);
    }

    void Paint(Graphics g) {
        ProductData stock = super.m_applet.GetProductData(super.m_applet.strCurrentCode);
        g.setFont(new Font("\u6977\u4F53_GB2312", 1, 26));
        FontMetrics fm = g.getFontMetrics();
        int iQuoteH = fm.getHeight();
        g.setFont(new Font("\u5B8B\u4F53", 0, 16));
        fm = g.getFontMetrics();
        iQuoteH += 9 * fm.getHeight() + super.m_applet.iShowBuySellPrice * 2 * fm.getHeight();
        Rectangle rcQuote = new Rectangle((super.m_rc.x + super.m_rc.width) - 200, super.m_rc.y, 200, iQuoteH);
        if(rcQuote.height > super.m_rc.height)
            rcQuote.height = super.m_rc.height;
        Draw_Quote.Paint(g, rcQuote, stock, super.m_applet.strCurrentCode, super.m_applet.iShowBuySellPrice, super.m_applet);
        if(super.m_rc.height > iQuoteH + fm.getHeight() * 3) {
            Rectangle rcMinLine = new Rectangle((super.m_rc.x + super.m_rc.width) - 200, super.m_rc.y + iQuoteH, 200, (super.m_rc.height - iQuoteH) + 1);
            draw_MinLine.Paint(g, rcMinLine, stock);
        }
        rcKLine = new Rectangle(super.m_rc.x, super.m_rc.y, super.m_rc.width - 200, super.m_rc.height);
        draw_KLine.Paint(g, rcKLine, stock);
    }

    boolean KeyPressed(KeyEvent e) {
        int iKeyCode = e.getKeyCode();
        boolean bResult;
        switch(iKeyCode) {
        case 34: // '"'
            super.m_applet.ChangeStock(false, true);
            bResult = true;
            break;

        case 33: // '!'
            super.m_applet.ChangeStock(true, true);
            bResult = true;
            break;

        default:
            bResult = draw_KLine.KeyPressed(e);
            break;
        }
        return bResult;
    }

    boolean MouseLeftClicked(int x, int y) {
        if(rcKLine != null && rcKLine.contains(x, y) && draw_KLine != null)
            return draw_KLine.MouseLeftClicked(x, y);
        else
            return false;
    }

    boolean MouseDragged(int x, int y) {
        if(rcKLine != null && rcKLine.contains(x, y) && draw_KLine != null)
            return draw_KLine.MouseDragged(x, y);
        else
            return false;
    }

    void makeMenus() {
        menuKType = new Menu(super.m_applet.getShowString("LineType"));
        menuKTypeK = new MenuItem(super.m_applet.getShowString("KLine"));
        menuKTypeUSA = new MenuItem(super.m_applet.getShowString("USALine"));
        menuKTypePoly = new MenuItem(super.m_applet.getShowString("PolyLine"));
        menuIndicator = new Menu(super.m_applet.getShowString("Indicator"));
        menuCycle = new Menu(super.m_applet.getShowString("AnalysisCycle") + "  F8");
        menuQuote = new MenuItem(super.m_applet.getShowString("MultiQuote") + "  F2");
        menuMarket = new MenuItem(super.m_applet.getShowString("ClassedList") + "  F4");
        menuZoomIn = new MenuItem(super.m_applet.getShowString("ZooMIn"));
        menuZoomOut = new MenuItem(super.m_applet.getShowString("ZoomOut"));
        menuPrevStock = new MenuItem(super.m_applet.getShowString("PrevCommodity") + "  PageUp");
        menuPostStock = new MenuItem(super.m_applet.getShowString("NextCommodity") + "  PageDown");
        menuMinLine = new MenuItem(super.m_applet.getShowString("MinLine") + "  F5");
        menuBill = new MenuItem(super.m_applet.getShowString("TradeList") + "  F1");
        menuCycleDay = new MenuItem(super.m_applet.getShowString("DayLine"));
        menuCycleWeek = new MenuItem(super.m_applet.getShowString("WeekLine"));
        menuCycleMonth = new MenuItem(super.m_applet.getShowString("MonthLine"));
        menuCycleMin5 = new MenuItem(super.m_applet.getShowString("5MinLine"));
        menuCycleMin15 = new MenuItem(super.m_applet.getShowString("15MinLine"));
        menuCycleMin30 = new MenuItem(super.m_applet.getShowString("30MinLine"));
        menuCycleMin60 = new MenuItem(super.m_applet.getShowString("60MinLine"));
        int rows = IndicatorBase.INDICATOR_NAME.length;
        for(int i = 0; i < rows; i++) {
            MenuItem mi = new MenuItem();
            StringBuffer label = new StringBuffer();
            String strName = IndicatorBase.INDICATOR_NAME[i][0];
            String strFullName = super.m_applet.getShowString("T_" + IndicatorBase.INDICATOR_NAME[i][0]);
            label.append(strName);
            for(int len = strName.length(); len < 6; len++)
                label.append(" ");

            label.append(strFullName);
            mi.setLabel(label.toString());
            mi.setActionCommand("Indicator_" + strName);
            mi.addActionListener(this);
            menuIndicator.add(mi);
        }

        menuKTypeK.setActionCommand("KLine");
        menuKTypeK.addActionListener(this);
        menuKTypeUSA.setActionCommand("USA");
        menuKTypeUSA.addActionListener(this);
        menuKTypePoly.setActionCommand("Poly");
        menuKTypePoly.addActionListener(this);
        menuKType.add(menuKTypeK);
        menuKType.add(menuKTypeUSA);
        menuKType.add(menuKTypePoly);
        menuQuote.setActionCommand("cmd_quote");
        menuQuote.addActionListener(this);
        menuMarket.setActionCommand("cmd_market");
        menuMarket.addActionListener(this);
        menuZoomIn.setActionCommand("zoomin");
        menuZoomIn.addActionListener(this);
        menuZoomOut.setActionCommand("zoomout");
        menuZoomOut.addActionListener(this);
        menuPrevStock.setActionCommand("prevstock");
        menuPrevStock.addActionListener(this);
        menuPostStock.setActionCommand("poststock");
        menuPostStock.addActionListener(this);
        menuCycle.setActionCommand("cycle");
        menuCycleDay.setActionCommand("day");
        menuCycleDay.addActionListener(this);
        menuCycleWeek.setActionCommand("week");
        menuCycleWeek.addActionListener(this);
        menuCycleMonth.setActionCommand("month");
        menuCycleMonth.addActionListener(this);
        menuCycleMin5.setActionCommand("min5");
        menuCycleMin5.addActionListener(this);
        menuCycleMin15.setActionCommand("min15");
        menuCycleMin15.addActionListener(this);
        menuCycleMin30.setActionCommand("min30");
        menuCycleMin30.addActionListener(this);
        menuCycleMin60.setActionCommand("min60");
        menuCycleMin60.addActionListener(this);
        menuMinLine.setActionCommand("minline");
        menuMinLine.addActionListener(this);
        menuBill.setActionCommand("bill");
        menuBill.addActionListener(this);
        menuCycle.add(menuCycleDay);
        menuCycle.add(menuCycleWeek);
        menuCycle.add(menuCycleMonth);

⌨️ 快捷键说明

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