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

📄 page_multiquote.java

📁 java 写的股票技术分析;软件
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        if(iHighlightIndex < pageSize)
            repaintHighlightBar(iHighlightIndex + 1);
        else
        if((iStart + pageSize) - 1 < lastStockNum) {
            if(pageSize == 1) {
                iStart = iStart + pageSize;
                iEnd = iStart + iStockRows;
            } else {
                iStart = (iStart + pageSize) - 1;
                iEnd = (iStart + iStockRows) - 1;
            }
            if(iEnd > lastStockNum)
                iEnd = lastStockNum;
            iHighlightIndex = 1;
            int len = (iEnd - iStart) + 1;
            HQApplet _tmp = super.m_applet;
            if(HQApplet.bDebug != 0)
                System.out.println(" len = " + len);
            String StockCode[] = new String[len];
            int i = 0;
            for(int j = iStart - 1; i < len; j++) {
                StockCode[i] = backQuoteData[j].code;
                HQApplet _tmp1 = super.m_applet;
                if(HQApplet.bDebug != 0)
                    System.out.println(" StockCode[i] = " + StockCode[i]);
                i++;
            }

            iUserStockCode = StockCode;
            AskForDataOnTimer();
            bCanMove = false;
        }
    }

    boolean Key_PAGEUP_Pressed() {
        if(currentStockType == 0) {
            iUserStockPageUp();
            return false;
        }
        int pageSize = iStockRows;
        if(quoteData != null && packetInfo != null) {
            int lastStockNum = packetInfo.iCount;
            int firstStockNumPerPage = packetInfo.iStart;
            if(firstStockNumPerPage > 1) {
                iEnd = iStart;
                if(pageSize == 1)
                    iStart = iStart - pageSize;
                else
                    iStart = (iStart - pageSize) + 1;
                if(iStart < 0)
                    iStart = 1;
                iEnd = (iStart + iStockRows) - 1;
                AskForDataOnTimer();
            }
        }
        return false;
    }

    private void iUserStockPageUp() {
        if(quoteData == null)
            return;
        int pageSize = iStockRows;
        if(iStart > 1) {
            iEnd = iStart;
            if(pageSize == 1)
                iStart = iStart - pageSize;
            else
                iStart = (iStart - pageSize) + 1;
            HQApplet _tmp = super.m_applet;
            if(HQApplet.bDebug != 0) {
                System.out.println("this.iStart = " + iStart);
                System.out.println("this.iEnd = " + iEnd);
            }
            if(iStart < 0)
                iStart = 1;
            iEnd = (iStart + pageSize) - 1;
            int len = (iEnd - iStart) + 1;
            if(len > backQuoteData.length - iStart)
                len = backQuoteData.length - iStart;
            HQApplet _tmp1 = super.m_applet;
            if(HQApplet.bDebug != 0)
                System.out.println(" len = " + len);
            String StockCode[] = new String[len];
            int i = 0;
            for(int j = iStart - 1; i < len; j++) {
                StockCode[i] = backQuoteData[j].code;
                i++;
            }

            iUserStockCode = StockCode;
            AskForDataOnTimer();
        }
    }

    boolean Key_PAGEDOWN_Pressed() {
        if(currentStockType == 0) {
            iUserStockPageDown();
            return false;
        }
        if(quoteData != null && packetInfo != null) {
            int lastStockNum = packetInfo.iCount;
            int pageSize = iStockRows;
            if(iStockRows > quoteData.length)
                pageSize = quoteData.length;
            if((iStart + pageSize) - 1 < lastStockNum) {
                if(pageSize == 1) {
                    iStart = iStart + pageSize;
                    iEnd = iStart + iStockRows;
                } else {
                    iStart = (iStart + pageSize) - 1;
                    iEnd = (iStart + iStockRows) - 1;
                }
                if(iEnd > lastStockNum)
                    iEnd = lastStockNum;
                if(iHighlightIndex > (lastStockNum - iStart) + 1)
                    iHighlightIndex = 1;
                AskForDataOnTimer();
            } else {
                System.out.println(" NO PAGE");
            }
        } else {
            System.out.println(" No data ");
        }
        return false;
    }

    private void iUserStockPageDown() {
        if(quoteData == null)
            return;
        if(flag == 0) {
            backQuoteData = quoteData;
            flag = 1;
        }
        int lastStockNum = backQuoteData.length;
        int pageSize = iStockRows;
        System.out.println(" backQuoteData.length = " + backQuoteData.length);
        if(iStockRows > backQuoteData.length)
            pageSize = backQuoteData.length;
        System.out.println(" pageSize = " + pageSize);
        if((iStart + pageSize) - 1 < lastStockNum) {
            if(pageSize == 1) {
                iStart = iStart + pageSize;
                iEnd = iStart + iStockRows;
            } else {
                iStart = (iStart + pageSize) - 1;
                iEnd = (iStart + iStockRows) - 1;
            }
            if(iEnd > lastStockNum)
                iEnd = lastStockNum;
            if(iHighlightIndex > (lastStockNum - iStart) + 1)
                iHighlightIndex = 1;
            int len = (iEnd - iStart) + 1;
            System.out.println(" len = " + len);
            String StockCode[] = new String[len];
            int i = 0;
            for(int j = iStart - 1; i < len; j++) {
                StockCode[i] = backQuoteData[j].code;
                System.out.println(" StockCode[i] = " + StockCode[i]);
                i++;
            }

            iUserStockCode = StockCode;
            AskForDataOnTimer();
        }
    }

    boolean Key_LEFT_Pressed() {
        if(iDynamicIndex == m_iStaticIndex + 1) {
            return false;
        } else {
            iDynamicIndex--;
            return true;
        }
    }

    boolean Key_RIGHT_Pressed() {
        boolean bNeedRepaint = false;
        if(iDynamicIndex < m_strItems.length - 1) {
            iDynamicIndex++;
            bNeedRepaint = true;
        }
        return bNeedRepaint;
    }

    boolean Key_ENTER_Pressed() {
        if(quoteData != null && packetInfo != null && iHighlightIndex > 0 && iHighlightIndex <= quoteData.length) {
            String sCode = quoteData[iHighlightIndex - 1].code;
            super.m_applet.QueryStock(sCode);
            return true;
        } else {
            return false;
        }
    }

    byte getSortByField(String strSortItem) {
        MultiQuoteItemInfo info = (MultiQuoteItemInfo)m_htItemInfo.get(strSortItem);
        if(info == null)
            return 0;
        else
            return (byte)info.sortID;
    }

    void printQuoteData() {
        if(quoteData == null) {
            System.err.println("QuoteData is NULL!!!");
            return;
        }
        for(int i = 0; i < quoteData.length; i++) {
            ProductDataVO stock = quoteData[i];
            float uprate = ((stock.curPrice - stock.yesterBalancePrice) / stock.yesterBalancePrice) * 100F;
            System.err.println(i + "\t\u6DA8\u5E45" + "\t\u6700\u65B0" + "\t\u524D\u6536" + "\t\u5F00\u76D8" + "\t\u6700\u9AD8" + "\t\u6700\u4F4E" + "\t\u6210\u4EA4\u91CF" + "\t\u6210\u4EA4\u91D1\u989D" + "\t\u73B0\u624B" + "\t\u91CF\u6BD4" + "\t\u59D4\u6BD4");
            System.out.print("\t" + uprate + "%");
            System.out.print("\t" + stock.curPrice);
            System.out.print("\t" + stock.closePrice);
            System.out.print("\t" + stock.openPrice);
            System.out.print("\t" + stock.highPrice);
            System.out.print("\t" + stock.lowPrice);
            System.out.print("\t" + stock.totalAmount);
            System.out.print("\t" + stock.totalMoney);
            System.out.print("\t" + stock.curAmount);
            System.out.print("\t" + stock.amountRate);
            System.out.print("\t" + stock.consignRate);
        }

    }

    void printPacketInfo() {
        if(packetInfo == null) {
            System.err.println("PacketInfo is NULL!!!");
            return;
        } else {
            return;
        }
    }

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

    void makeMenus() {
        menuStockRank = new Menu(super.m_applet.getShowString("SortBy"));
        menuMarket = new MenuItem(super.m_applet.getShowString("ClassedList") + "  F4");
        menuPageMinLine = new MenuItem(super.m_applet.getShowString("MinLine") + "  F5");
        menuPageKLine = new MenuItem(super.m_applet.getShowString("Analysis"));
        menuMarket.setActionCommand("cmd_80");
        menuMarket.addActionListener(this);
        for(int i = 0; i < m_strItems.length; i++) {
            MultiQuoteItemInfo info = (MultiQuoteItemInfo)m_htItemInfo.get(m_strItems[i]);
            if(info != null && info.sortID != -1) {
                MenuItem menuItem = new MenuItem(info.name);
                menuItem.setActionCommand("Sort_" + m_strItems[i]);
                menuItem.addActionListener(this);
                menuStockRank.add(menuItem);
            }
        }

        menuPageMinLine.setActionCommand("minline");
        menuPageMinLine.addActionListener(this);
        menuPageKLine.setActionCommand("kline");
        menuPageKLine.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
        if(cmd.indexOf("cmd_") >= 0)
            executeCommand();
        else
        if(cmd.indexOf("Sort_") >= 0) {
            changeSortField(cmd.substring(5));
            if(HQApplet.bDebug != 0)
                System.out.println("cmd ====" + cmd);
        } else
        if(cmd.indexOf("STOCK_") >= 0)
            super.m_applet.ShowMutilQuote(getStockType(cmd));
        else
        if(cmd.equals("minline")) {
            if(iHighlightIndex > 0 && iHighlightIndex <= quoteData.length) {
                ProductDataVO stockData = quoteData[iHighlightIndex - 1];
                String scode = String.valueOf(stockData.code);
                super.m_applet.showPageMinLine(scode);
            }
        } else
        if(cmd.equals("kline")) {
            if(iHighlightIndex > 0 && iHighlightIndex <= quoteData.length) {
                ProductDataVO stockData = quoteData[iHighlightIndex - 1];
                String scode = String.valueOf(stockData.code);
                super.m_applet.showPageKLine(scode);
            }
        } else
        if(cmd.equals("userstock"))
            super.m_applet.ShowMutilQuote((byte)0);
        else
            super.actionPerformed(e);
    }

    private void changeSortField(String strSortItem) {
        MultiQuoteItemInfo info = (MultiQuoteItemInfo)m_htItemInfo.get(strSortItem);
        if(info == null)
            return;
        if(info.sortID == -1)
            return;
        m_bShowSortTag = true;
        if(this.strSortItem.equals(strSortItem)) {
            isDescend = ((byte)(isDescend != 1 ? 1 : 0));
        } else {
            isDescend = 0;
            sortBy = (byte)info.sortID;
            this.strSortItem = strSortItem;
        }
        quoteData = backQuoteData;
        AskForDataOnTimer();
    }

    private byte getStockType(String name) {
        return ((byte)(!name.equals("PRODUCT_COMMON") ? -1 : 0));
    }

    void setMenuEnable(byte stockType, boolean b) {
        switch(stockType) {
        case 0: // '\0'
        default:
            return;
        }
    }

    private void setUserStockCode() {
    }

    private void initUserStockArray() {
        int size = iUserStockCode.length;
        quoteData = new ProductDataVO[size];
        for(int i = 0; i < size; i++) {
            quoteData[i] = new ProductDataVO();
            quoteData[i].code = iUserStockCode[i];
        }

    }

    private void executeCommand() {
        switch(currentStockType) {
        case 1: // '\001'
            super.m_applet.UserCommand("80");
            break;
        }
    }

}

⌨️ 快捷键说明

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