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

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

?? operandstackpanel.java

?? 《深入java虛擬機》一書的光盤
?? JAVA
字號:
/** Copyright (c) 1996-1999 Bill Venners. All Rights Reserved.** This Java source file is part of the Interactive Illustrations Web* Site, which is delivered in the applets directory of the CD-ROM* that accompanies the book "Inside the Java 2 Virtual Machine" by Bill* Venners, published by McGraw-Hill, 1999, ISBN: 0-07-135093-4. This* source file is provided for evaluation purposes only, but you can* redistribute it under certain conditions, described in the full* copyright notice below.** Full Copyright Notice:** All the web pages and Java applets delivered in the applets* directory of the CD-ROM, consisting of ".html," ".gif," ".class,"* and ".java" files, are copyrighted (c) 1996-1999 by Bill* Venners, and all rights are reserved.  This material may be copied* and placed on any commercial or non-commercial web server on any* network (including the internet) provided that the following* guidelines are followed:** a. All the web pages and Java Applets (".html," ".gif," ".class,"* and ".java" files), including the source code, that are delivered* in the applets directory of the CD-ROM that* accompanies the book must be published together on the same web* site.** b. All the web pages and Java Applets (".html," ".gif," ".class,"* and ".java" files) must be published "as is" and may not be altered* in any way.** c. All use and access to this web site must be free, and no fees* can be charged to view these materials, unless express written* permission is obtained from Bill Venners.** d. The web pages and Java Applets may not be distributed on any* media, other than a web server on a network, and may not accompany* any book or publication.** BILL VENNERS MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE* SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING* BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,* FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  BILL VENNERS* SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY A LICENSEE AS A* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS* DERIVATIVES.*/package COM.artima.jvmsim;import java.awt.*;/*** This class represents that portion of the user interface* that displays the words on the operand stack.** @author  Bill Venners*/class OperandStackPanel extends Panel {    private int memoryLocationsVisibleCount;    private Label[] pointer;    private Label[] address;    private Label[] wordValue;    private Label[] logicalValue;    private int currentOptopRow;    private ColoredLabel optopRegister;    OperandStackPanel(int maxStack) {        // Add one to maxStack so that "optop>" has somewhere to go        // when the stack is full.        memoryLocationsVisibleCount = maxStack + 1;        pointer = new Label[memoryLocationsVisibleCount];        address = new Label[memoryLocationsVisibleCount];        wordValue = new Label[memoryLocationsVisibleCount];        logicalValue = new Label[memoryLocationsVisibleCount];        // Initialize the title        Label title = new Label(StringTable.operandStack, Label.CENTER);        title.setFont(new Font("Helvetica", Font.BOLD, 11));        // Initialize the labelled pc register panel        Panel registerPanel = new Panel();        registerPanel.setLayout(new BorderLayout(5,5));        optopRegister = new ColoredLabel("0000", Label.CENTER, Color.lightGray);        optopRegister.setFont(new Font("TimesRoman", Font.PLAIN, 11));        Label pcRegTitle = new Label(StringTable.optop, Label.RIGHT);        pcRegTitle.setFont(new Font("Helvetica", Font.ITALIC, 11));        registerPanel.add("East", optopRegister);        registerPanel.add("Center", pcRegTitle);        // Put the title and the pc register panel on the same panel        Panel titleRegisterPanel = new Panel();        titleRegisterPanel.setLayout(new BorderLayout());        titleRegisterPanel.add("West", registerPanel);        titleRegisterPanel.add("Center", title);        // Initialize column titles        Panel columnTitles = new Panel();        int[] hComponentCellWidths = { 2, 2, 2, 3 };        columnTitles.setLayout(new GridSnapLayout(1, 9, hComponentCellWidths));        columnTitles.setFont(new Font("Helvetica", Font.ITALIC, 11));        columnTitles.add(new Label("", Label.CENTER));        columnTitles.add(new Label(StringTable.offset, Label.CENTER));        columnTitles.add(new Label(StringTable.hexValue, Label.CENTER));        columnTitles.add(new Label(StringTable.value, Label.LEFT));        // Initialize the 4 column view of the method        Panel methodView = new Panel();        methodView.setLayout(new GridSnapLayout(memoryLocationsVisibleCount, 9, hComponentCellWidths));        methodView.setBackground(Color.lightGray);        Font plainFont = new Font("TimesRoman", Font.PLAIN, 11);        methodView.setFont(plainFont);        Font italicFont = new Font("TimesRoman", Font.ITALIC, 11);        for (int i = 0; i < memoryLocationsVisibleCount; ++i) {            pointer[i] = new Label("", Label.RIGHT);            pointer[i].setFont(italicFont);            methodView.add(pointer[i]);            address[i] = new Label("", Label.CENTER);            methodView.add(address[i]);            wordValue[i] = new Label("", Label.CENTER);            methodView.add(wordValue[i]);            logicalValue[i] = new Label("", Label.LEFT);            methodView.add(logicalValue[i]);        }        Panel methodViewWithTitles = new Panel();        methodViewWithTitles.setLayout(new BorderLayout());        methodViewWithTitles.add("North", columnTitles);        methodViewWithTitles.add("Center", methodView);        setLayout(new BorderLayout());        add("North", titleRegisterPanel);        add("Center", methodViewWithTitles);    }    public void updateView(int optop, Object[] operandStack) {        // Assume length of array is one less that memoryLocationsVisibleCount,        // which should equal maxStack + 1.        int len = operandStack.length;        for (int i = 0; i < len; ++i) {            address[i].setText(Integer.toString(i));            Object locVar = operandStack[i];            if (locVar == null) {                wordValue[i].setText("");                logicalValue[i].setText("");            }            else if (locVar instanceof Integer) {                Integer value = (Integer) locVar;                HexString wordValueHexString = new HexString(value.intValue(), 8);                wordValue[i].setText(wordValueHexString.getString());                logicalValue[i].setText(value.toString());            }            else if (locVar instanceof Float) {                Float wrapperVal = (Float) locVar;                float fVal = wrapperVal.floatValue();                int floatBits = Float.floatToIntBits(fVal);                HexString wordValueHexString = new HexString(floatBits, 8);                wordValue[i].setText(wordValueHexString.getString());                logicalValue[i].setText(wrapperVal.toString());            }            else if (locVar instanceof Long) {                Long value = (Long) locVar;				long longValue = value.longValue();				int lowerWord = (int) longValue;				int upperWord = (int) (longValue >>> 32);                HexString lowerWordHexString = new HexString(lowerWord, 8);                HexString upperWordHexString = new HexString(upperWord, 8);                wordValue[i].setText(lowerWordHexString.getString());                wordValue[i + 1].setText(upperWordHexString.getString());                logicalValue[i].setText(value.toString() + "L");				++i; // must increment i twice in long case            }            else if (locVar instanceof Double) {                Double value = (Double) locVar;				double doubleValue = value.doubleValue();				long longBits = Double.doubleToLongBits(doubleValue);				int lowerWord = (int) longBits;				int upperWord = (int) (longBits >>> 32);                HexString lowerWordHexString = new HexString(lowerWord, 8);                HexString upperWordHexString = new HexString(upperWord, 8);                wordValue[i].setText(lowerWordHexString.getString());                wordValue[i + 1].setText(upperWordHexString.getString());                logicalValue[i].setText(value.toString());				++i; // must increment i twice in double case            }            else if (locVar instanceof ReturnAddress) {                ReturnAddress wrapper = (ReturnAddress) locVar;                HexString wordValueHexString = new HexString(wrapper.getReturnAddress(), 8);                wordValue[i].setText(wordValueHexString.getString());                logicalValue[i].setText("RET ADDR");            }            else {                // Its an object                wordValue[i].setText(" OBJREF ");                logicalValue[i].setText((locVar.getClass()).getName());            }        }        optopRegister.setLabelText("    " + Integer.toString(optop));        // Erase the old "optop>" pointer        pointer[currentOptopRow].setText("");        // Place the "optop>" pointer        pointer[optop].setText(StringTable.optopPointer);        currentOptopRow = optop;    }    public Insets insets() {        return new Insets(5, 5, 5, 5);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区二区三区免费看| 中文字幕日韩一区二区| 国产精品久久看| 高清不卡一区二区| 一本色道**综合亚洲精品蜜桃冫 | 亚洲另类春色国产| 毛片av一区二区三区| 97超碰欧美中文字幕| 亚洲精品在线电影| 亚洲男人的天堂在线aⅴ视频 | 欧美一区二视频| 美腿丝袜在线亚洲一区| 国产呦萝稀缺另类资源| 欧美三级电影网| 欧美极品美女视频| 日本va欧美va瓶| 欧美日韩精品一区二区天天拍小说 | 欧美午夜影院一区| 欧美国产日产图区| 国产福利一区二区| 日韩欧美高清一区| 亚洲高清免费视频| 欧美视频一二三区| 亚洲一区欧美一区| 91免费视频观看| 亚洲欧洲一区二区三区| 成人午夜短视频| 国产日韩在线不卡| 国产毛片精品一区| 久久久精品日韩欧美| 精品在线一区二区| 日韩精品一区二区在线观看| 日韩av中文字幕一区二区| 67194成人在线观看| 天堂蜜桃一区二区三区| 666欧美在线视频| 美女网站一区二区| 精品国产sm最大网站| 韩国三级中文字幕hd久久精品| 日韩欧美一区在线| 久久国产精品免费| 久久综合九色综合97婷婷女人| 狠狠久久亚洲欧美| 欧美国产日韩a欧美在线观看| 成人网在线播放| 亚洲精品中文在线影院| 欧美精品粉嫩高潮一区二区| 日韩成人伦理电影在线观看| 亚洲精品一区在线观看| 成人妖精视频yjsp地址| 亚洲男同1069视频| 91精品国产综合久久久蜜臀粉嫩| 美国毛片一区二区| 国产女人水真多18毛片18精品视频| 成人精品一区二区三区中文字幕| 中文字幕欧美一| 欧美日韩在线播放| 国产在线精品视频| 亚洲欧洲在线观看av| 欧美高清激情brazzers| 国产乱子伦视频一区二区三区| 国产性做久久久久久| 色综合久久天天| 日本中文字幕一区二区视频| 久久精品视频免费观看| 在线观看欧美黄色| 韩国精品一区二区| 亚洲精品第一国产综合野| 欧美电影免费观看高清完整版| 成人高清免费观看| 亚洲免费在线视频| 精品精品欲导航| 久久久久一区二区三区四区| 午夜精品一区二区三区电影天堂 | 日本不卡一二三| 国产欧美精品一区二区三区四区| 色老汉一区二区三区| 久久av中文字幕片| 亚洲激情校园春色| 久久久久久久久99精品| 欧美亚洲图片小说| 国产iv一区二区三区| 日韩精品欧美精品| 亚洲人成精品久久久久久| 欧美va亚洲va香蕉在线| 欧美性猛交xxxx黑人交 | 青青青伊人色综合久久| 中文字幕高清一区| 日韩女优制服丝袜电影| 91福利在线导航| 国产传媒日韩欧美成人| 美女网站色91| 婷婷丁香激情综合| 樱花草国产18久久久久| 中文在线一区二区| 亚洲精品一线二线三线| 欧美一区二区精品久久911| 在线观看国产一区二区| 不卡的电影网站| 国产精品一级在线| 国产综合色在线视频区| 免费成人av在线播放| 亚洲在线成人精品| 亚洲另类色综合网站| 国产精品福利一区二区| 国产女人aaa级久久久级| 久久久久九九视频| 精品国产亚洲在线| 欧美成人乱码一区二区三区| 欧美精品日韩综合在线| 欧美日韩中文另类| 欧美性xxxxxxxx| 欧美三级中文字幕在线观看| 日本高清视频一区二区| 白白色 亚洲乱淫| 成人爱爱电影网址| 99久久综合精品| 91麻豆国产自产在线观看| www.亚洲免费av| 91亚洲男人天堂| 91国偷自产一区二区三区成为亚洲经典 | 国产精品1区二区.| 国产福利91精品| 国产99一区视频免费| 精品影视av免费| 国产精品亚洲第一| 99久久精品国产导航| 色天天综合色天天久久| 欧美日韩午夜在线| 日韩一区二区麻豆国产| 亚洲精品一区在线观看| 国产午夜精品一区二区三区四区| 亚洲国产精品ⅴa在线观看| 亚洲欧美综合网| 午夜久久久久久久久| 另类调教123区| 高清av一区二区| 在线观看欧美黄色| 欧美电影免费观看高清完整版| 国产欧美一区二区三区鸳鸯浴 | 热久久一区二区| 国模一区二区三区白浆| 成人国产免费视频| 欧美精品tushy高清| 亚洲精品一线二线三线无人区| 国产精品理论在线观看| 亚洲福利视频导航| 国产一区在线看| 欧美亚洲禁片免费| 久久综合精品国产一区二区三区 | 日韩精品一二区| 国产麻豆一精品一av一免费| 91年精品国产| 日韩三级av在线播放| 国产精品成人一区二区艾草| 午夜不卡av在线| 国产成人免费xxxxxxxx| 欧美性受xxxx| 国产亚洲欧美激情| 亚洲国产精品精华液网站| 国产乱子轮精品视频| 在线免费av一区| 国产女人水真多18毛片18精品视频 | 麻豆91在线观看| 色拍拍在线精品视频8848| 久久久亚洲精品一区二区三区| 亚洲精选一二三| 国产成人精品免费| 日韩一区二区三| 亚洲一区二区在线视频| 高清久久久久久| 欧美精品久久一区二区三区| 亚洲欧美中日韩| 国产大陆亚洲精品国产| 欧美一级xxx| 视频在线观看91| 色婷婷av一区二区三区之一色屋| 国产午夜精品理论片a级大结局| 天使萌一区二区三区免费观看| 91色porny蝌蚪| 国产人成亚洲第一网站在线播放| 美女网站一区二区| 欧美电影一区二区| 亚洲精品中文在线观看| 国产91露脸合集magnet| 精品少妇一区二区| 亚洲男人的天堂在线观看| 免费人成精品欧美精品| 欧美性猛交xxxxxxxx| 国产精品久久久一区麻豆最新章节| 国产一区二区女| 91精品国产欧美一区二区成人 | 韩国视频一区二区| 欧美精品久久久久久久久老牛影院| 亚洲免费色视频| 在线免费观看日本一区| 一区二区三区视频在线看| 色欧美乱欧美15图片| 亚洲精品在线网站| 极品美女销魂一区二区三区免费 |