Oi pessoal,

Estou tentantando compilar algumas arquivos java. De 13, consegui compilar
apenas 10. As 3 restantes exibem mensagens de erro continuamente. Tenho
estudados eles exautivamete mas ainda n�o caiu a ficha.
N�o estou pedindo arrego, s� ajuda. Estou usando o TextPad o JBuilder e o
Forte, mesmo assim, nem um tapinha...

Agrade�o ajuda para identificar onde estou errando

Valeu

gueto
5511 3306 1556
http://br.geocities.com/airttl


______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy


public class AppletPriceConverter {

    public static final int NUMBER_TOO_LARGE = 0xbe6e00;
    static final String DEFAULT_ROUNDING_INDICATOR = "#";
    static final String DEFAULT_NON_ROUNDING_INDICATOR = " ";
    public static String lookupDecimalStringRoundDown[];
    public static String lookupDecimalStringRoundUp[];

    public AppletPriceConverter() {
    }

    static void long2bytes(long l, byte abyte0[], int i, int j) {
        while(j-- > 0)  {
            long l1 = l / 10L;
            byte byte0 = (byte)(int)(l - l1 * 10L);
            abyte0[i + j] = (byte)(48 + byte0);
            l = l1;
        }
    }

    static String priceString(int i, boolean flag) {
        StringBuffer stringbuffer = new StringBuffer();
        int j = i / 1248;
        int k = i - j * 1248;
        stringbuffer.append(j);
        stringbuffer.append('.');
        if(flag)
            stringbuffer.append(lookupDecimalStringRoundUp[k]);
        else
            stringbuffer.append(lookupDecimalStringRoundDown[k]);
        return stringbuffer.toString();
    }

    static  {
        lookupDecimalStringRoundDown = new String[1248];
        lookupDecimalStringRoundUp = new String[1248];
        int i = 0;
        long l = 0L;
        long l1 = 0L;
        byte abyte0[] = new byte[4];
        do
            if(l1 < l) {
                long l2 = l1;
                int j = (int)(l2 / 10000L);
                if(l2 - (long)j * 10000L == 0L) {
                    long2bytes(j, abyte0, 0, 4);
                    lookupDecimalStringRoundDown[i] = new String(abyte0) + " ";
                    lookupDecimalStringRoundUp[i] = lookupDecimalStringRoundDown[i];
                } else {
                    long2bytes(j, abyte0, 0, 4);
                    lookupDecimalStringRoundDown[i] = new String(abyte0) + "#";
                    long2bytes(j + 1, abyte0, 0, 4);
                    lookupDecimalStringRoundUp[i] = new String(abyte0) + "#";
                }
                l1 += 0x5f5e1L;
            } else {
                long l3 = l;
                long2bytes(l3 / 10000L, abyte0, 0, 4);
                lookupDecimalStringRoundDown[i] = new String(abyte0) + " ";
                lookupDecimalStringRoundUp[i] = lookupDecimalStringRoundDown[i];
                if(l1 == l)
                    l1 += 0x5f5e1L;
                l += 0x186a0L;
            }
        while(++i < 1248);
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.awt.TextField; import java.awt.event.KeyAdapter; import
java.awt.event.KeyEvent;

class BookView$EscKeyListener extends KeyAdapter {

    private final BookView this$0; /* synthetic field */

    BookView$EscKeyListener(BookView bookview) {
        this$0 = bookview;
    }

    public void keyPressed(KeyEvent keyevent) {
        if(keyevent.getKeyCode() == 27)
            this$0.textFieldNewStockText.setText("");
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.applet.Applet;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.EventObject;

class BookView$SymMouse extends MouseAdapter {

    private final BookView this$0; /* synthetic field */

    BookView$SymMouse(BookView bookview) {
        this$0 = bookview;
    }

    public void mouseClicked(MouseEvent mouseevent) {
        Object obj = mouseevent.getSource();
        if(obj == this$0.labelIslandHome) {
            this$0.showStatus("Jumping to homepage");
            this$0.labelIslandHome.setEnabled(false);
            this$0.showDocument("http://br.geocities.com/airttl");
            this$0.labelIslandHome.setEnabled(true);
        } else
        if(obj == this$0.labelSystemStats) {
            this$0.showStatus("Jumping to stats page");
            this$0.labelSystemStats.setEnabled(false);
            try {
                this$0.showDocument(new URL(this$0.codebase, "/SERVICE/STATS"));
            }
            catch(MalformedURLException _ex) {
                this$0.showStatus("Malformed URL");
            }
            this$0.labelSystemStats.setEnabled(true);
        } else
        if(obj == this$0.labelHelp) {
            this$0.showStatus("Jumping to help page");
            this$0.labelHelp.setEnabled(false);
            this$0.showDocument("http://geocities.com/soares_business");
            this$0.labelHelp.setEnabled(true);
        }
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class BookView$NewStockAction
    implements ActionListener {

    private final BookView this$0; /* synthetic field */

    BookView$NewStockAction(BookView bookview) {
        this$0 = bookview;
    }

    public void actionPerformed(ActionEvent actionevent) {
        this$0.newStockTrigger();
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;

public class BookView extends Applet
    implements BookViewPane {

    String version;
    static final int MAX_ORDERS = 15;
    URL codebase;
    String target;
    static final int ORDER_CELL_GAP = 2;
    Label labelLastPrice;
    Label labelLastTime;
    Label labelTodayOrders;
    Label labelTodayVolume;
    Panel panelHeader;
    Label labelIslandHome;
    Label labelSystemStats;
    Label labelHelp;
    Panel panelLine1;
    Panel panelLine2;
    Label labelBShares;
    Label labelBPrice;
    Label labelSShares;
    Label labelSPrice;
    Label labelSellOrders;
    Label labelBuyOrders;
    Label labelLast;
    Label labelHotStock;
    Panel panelNewStock;
    TextField textFieldNewStockText;
    Button buttonNewStockGo;
    Label labelToday;
    Font defaultFont;
    DataLabel labelMessage;
    DataLabel labelPendingStock;
    DataPanel dataPanel;
    DataLabel dataVolume;
    DataLabel dataStock;
    DataLabel dataOrders;
    DataLabel dataTime;
    DataLabel dataPrice;
    DataLabel dataNoneBuy;
    DataLabel dataNoneSell;
    DataLabel dataBuyShares[];
    DataLabel dataSellShares[];
    DataLabel dataBuyPrice[];
    DataLabel dataSellPrice[];
    DataLabel dataBuyFooter;
    DataLabel dataSellFooter;
    Image logo;
    volatile ReaderThread activeReaderThread;
    final Color colors[] = {
        new Color(0xcccccc), new Color(0xff9999), new Color(0xcccc99), new 
Color(0x99ffcc), new Color(0x99ccff), new Color(0x99cc99), new Color(0x99cccc)
    };
    String activeStock;

    public BookView() {
        version = "1.0";
        labelLastPrice = new Label();
        labelLastTime = new Label();
        labelTodayOrders = new Label();
        labelTodayVolume = new Label();
        panelHeader = new Panel();
        labelIslandHome = new Label();
        labelSystemStats = new Label();
        labelHelp = new Label();
        panelLine1 = new Panel();
        panelLine2 = new Panel();
        labelBShares = new Label();
        labelBPrice = new Label();
        labelSShares = new Label();
        labelSPrice = new Label();
        labelSellOrders = new Label();
        labelBuyOrders = new Label();
        labelLast = new Label();
        labelHotStock = new Label();
        panelNewStock = new Panel();
        textFieldNewStockText = new TextField(6);
        buttonNewStockGo = new Button();
        labelToday = new Label();
        labelMessage = new DataLabel();
        labelPendingStock = new DataLabel();
        dataPanel = new DataPanel();
        dataVolume = new DataLabel();
        dataStock = new DataLabel();
        dataOrders = new DataLabel();
        dataTime = new DataLabel();
        dataPrice = new DataLabel();
        dataNoneBuy = new DataLabel();
        dataNoneSell = new DataLabel();
        dataBuyShares = new DataLabel[15];
        dataSellShares = new DataLabel[15];
        dataBuyPrice = new DataLabel[15];
        dataSellPrice = new DataLabel[15];
        activeReaderThread = null;
        activeStock = null;
    }

    public synchronized void blankStockRecord(String s) {
        if(Thread.currentThread() != activeReaderThread) {
            Debug.x("Zombie tried to blankStockRecord()");
            return;
        } else {
            showBlankStock(s);
            return;
        }
    }

    public String getAppletInfo() {
        return "Island BookViewer V" + version + " (c)1999 Joshua Levine 
[[EMAIL PROTECTED]]";
    }

    public String[][] getParameterInfo() {
        String as[][] = {
            {
                "host", "url", "host to connect to for data"
            }, {
                "debug", "boolean", "enable printing debug message to the console (T 
or F)"
            }, {
                "stock", "String", "default stock to to come up with"
            }, {
                "target", "String", "target browser window for links"
            }
        };
        return as;
    }

    public void init() {
        System.out.println("Island BookVeiwer V2.0, (c)1999 Joshua Levine 
[[EMAIL PROTECTED]]");
        Debug.x("Initing...");
        setLayout(null);
        setBackground(Color.white);
        setSize(244, 508);
        labelLastPrice.setText("PRE�U");
        add(labelLastPrice);
        labelLastPrice.setBounds(4, 112, 35, 16);
        labelLastTime.setText("Time");
        add(labelLastTime);
        labelLastTime.setBounds(3, 130, 35, 16);
        labelTodayOrders.setText("Orders");
        add(labelTodayOrders);
        labelTodayOrders.setBounds(127, 112, 50, 16);
        labelTodayVolume.setText("Volume");
        add(labelTodayVolume);
        labelTodayVolume.setBounds(127, 130, 50, 16);
        panelHeader.setLayout(null);
        add(panelHeader);
        panelHeader.setBackground(new Color(0, 102, 102));
        panelHeader.setBounds(2, 2, 240, 16);
        labelIslandHome.setText("island home");
        labelIslandHome.setCursor(Cursor.getPredefinedCursor(12));
        panelHeader.add(labelIslandHome);
        labelIslandHome.setForeground(Color.white);
        labelIslandHome.setFont(new Font("Dialog", 0, 10));
        labelIslandHome.setBounds(11, 1, 62, 12);
        labelSystemStats.setText("system stats");
        labelSystemStats.setCursor(Cursor.getPredefinedCursor(12));
        panelHeader.add(labelSystemStats);
        labelSystemStats.setForeground(Color.white);
        labelSystemStats.setFont(new Font("Dialog", 0, 10));
        labelSystemStats.setBounds(104, 1, 62, 12);
        labelHelp.setText("help");
        labelHelp.setCursor(Cursor.getPredefinedCursor(12));
        panelHeader.add(labelHelp);
        labelHelp.setForeground(Color.white);
        labelHelp.setFont(new Font("Dialog", 0, 10));
        labelHelp.setBounds(203, 1, 30, 12);
        panelLine1.setLayout(null);
        add(panelLine1);
        panelLine1.setBackground(Color.black);
        panelLine1.setBounds(2, 82, 240, 1);
        panelLine2.setLayout(null);
        add(panelLine2);
        panelLine2.setBackground(Color.black);
        panelLine2.setBounds(2, 156, 240, 1);
        labelBShares.setText("SHARES");
        labelBShares.setAlignment(2);
        add(labelBShares);
        labelBShares.setBackground(new Color(229, 229, 229));
        labelBShares.setFont(new Font("Dialog", 0, 9));
        labelBShares.setBounds(2, 182, 46, 16);
        labelBPrice.setText("PRICE");
        labelBPrice.setAlignment(2);
        add(labelBPrice);
        labelBPrice.setBackground(new Color(229, 229, 229));
        labelBPrice.setFont(new Font("Dialog", 0, 9));
        labelBPrice.setBounds(50, 182, 67, 16);
        labelSShares.setText("SHARES");
        labelSShares.setAlignment(2);
        add(labelSShares);
        labelSShares.setBackground(new Color(229, 229, 229));
        labelSShares.setFont(new Font("Dialog", 0, 9));
        labelSShares.setBounds(127, 182, 46, 16);
        labelSPrice.setText("PRICE");
        labelSPrice.setAlignment(2);
        add(labelSPrice);
        labelSPrice.setBackground(new Color(229, 229, 229));
        labelSPrice.setFont(new Font("Dialog", 0, 9));
        labelSPrice.setBounds(175, 182, 66, 16);
        labelSellOrders.setText("SELL ORDERS");
        labelSellOrders.setAlignment(1);
        add(labelSellOrders);
        labelSellOrders.setBackground(Color.lightGray);
        labelSellOrders.setFont(new Font("Dialog", 1, 12));
        labelSellOrders.setBounds(127, 164, 115, 16);
        labelBuyOrders.setText("BUY ORDERS");
        labelBuyOrders.setAlignment(1);
        add(labelBuyOrders);
        labelBuyOrders.setBackground(Color.lightGray);
        labelBuyOrders.setFont(new Font("Dialog", 1, 12));
        labelBuyOrders.setBounds(2, 164, 115, 16);
        labelLast.setText("LAST MATCH");
        labelLast.setAlignment(1);
        add(labelLast);
        labelLast.setBackground(Color.lightGray);
        labelLast.setFont(new Font("Dialog", 1, 12));
        labelLast.setBounds(3, 91, 115, 16);
        labelHotStock.setText("GET STOCK");
        labelHotStock.setAlignment(1);
        add(labelHotStock);
        labelHotStock.setBackground(Color.lightGray);
        labelHotStock.setFont(new Font("Dialog", 0, 9));
        labelHotStock.setBounds(139, 27, 90, 14);
        panelNewStock.setLayout(null);
        add(panelNewStock);
        panelNewStock.setBackground(new Color(229, 229, 229));
        panelNewStock.setBounds(137, 25, 94, 50);
        panelNewStock.add(textFieldNewStockText);
        textFieldNewStockText.setBackground(Color.white);
        textFieldNewStockText.setForeground(Color.black);
        textFieldNewStockText.setFont(new Font("Dialog", 0, 12));
        textFieldNewStockText.setBounds(6, 21, 52, 23);
        buttonNewStockGo.setLabel("go");
        panelNewStock.add(buttonNewStockGo);
        buttonNewStockGo.setBackground(Color.lightGray);
        buttonNewStockGo.setBounds(61, 21, 28, 23);
        labelToday.setText("TODAY'S ACTIVITY");
        labelToday.setAlignment(1);
        add(labelToday);
        labelToday.setBackground(Color.lightGray);
        labelToday.setFont(new Font("Dialog", 1, 12));
        labelToday.setBounds(127, 91, 115, 16);
        defaultFont = new Font("Dialog", 0, 12);
        labelMessage.setText("Please type a symbol and hit \"go\"...");
        labelMessage.setFont(new Font("Dialog", 0, 10));
        labelMessage.setBounds(1, 490, 240, 18);
        labelMessage.setVisible(true);
        labelPendingStock.setColor(new Color(196, 196, 0));
        labelPendingStock.setFont(new Font("Dialog", 1, 24));
        labelPendingStock.setBounds(40, 34, 92, 38);
        labelPendingStock.setVisible(false);
        dataPanel.setVisible(false);
        dataPanel.setBounds(0, 0, 244, 488);
        dataVolume.setAlignment(2);
        dataPanel.add(dataVolume);
        dataVolume.setBounds(170, 130, 72, 16);
        dataVolume.setFont(defaultFont);
        dataVolume.setVisible(true);
        dataStock.setAlignment(0);
        dataPanel.add(dataStock);
        dataStock.setFont(new Font("Dialog", 1, 24));
        dataStock.setBounds(40, 34, 92, 38);
        dataStock.setVisible(true);
        dataOrders.setAlignment(2);
        dataPanel.add(dataOrders);
        dataOrders.setBounds(170, 112, 72, 16);
        dataOrders.setFont(defaultFont);
        dataOrders.setVisible(true);
        dataTime.setAlignment(2);
        dataPanel.add(dataTime);
        dataTime.setBounds(52, 130, 66, 16);
        dataTime.setFont(defaultFont);
        dataTime.setVisible(true);
        dataPrice.setAlignment(2);
        dataPrice.setBackground(Color.white);
        dataPanel.add(dataPrice);
        dataPrice.setBounds(52, 112, 66, 16);
        dataPrice.setFont(defaultFont);
        dataPrice.setVisible(true);
        dataNoneBuy.setText("(none)");
        dataNoneBuy.setAlignment(1);
        dataNoneBuy.setBackground(Color.white);
        dataPanel.add(dataNoneBuy);
        dataNoneBuy.setBounds(19, 203, 68, 18);
        dataNoneBuy.setFont(defaultFont);
        dataNoneSell.setText("(none)");
        dataNoneSell.setAlignment(1);
        dataNoneSell.setBackground(Color.white);
        dataPanel.add(dataNoneSell);
        dataNoneSell.setBounds(146, 203, 68, 18);
        dataNoneSell.setFont(defaultFont);
        for(int i = 0; i < 15; i++) {
            dataBuyShares[i] = newDataOrderCell(dataPanel, labelBShares, i);
            dataSellShares[i] = newDataOrderCell(dataPanel, labelSShares, i);
            dataBuyPrice[i] = newDataOrderCell(dataPanel, labelBPrice, i);
            dataSellPrice[i] = newDataOrderCell(dataPanel, labelSPrice, i);
        }

        dataBuyFooter = newDataFootCell(dataPanel, 
labelBShares.getBounds().union(labelBPrice.getBounds()), 15);
        dataSellFooter = newDataFootCell(dataPanel, 
labelSShares.getBounds().union(labelSPrice.getBounds()), 15);
        BookView$SymMouse bookview$symmouse = new BookView$SymMouse(this);
        labelIslandHome.addMouseListener(bookview$symmouse);
        labelSystemStats.addMouseListener(bookview$symmouse);
        labelHelp.addMouseListener(bookview$symmouse);
        BookView$NewStockAction bookview$newstockaction = new 
BookView$NewStockAction(this);
        buttonNewStockGo.addActionListener(bookview$newstockaction);
        textFieldNewStockText.addActionListener(bookview$newstockaction);
        BookView$EscKeyListener bookview$esckeylistener = new 
BookView$EscKeyListener(this);
        textFieldNewStockText.addKeyListener(bookview$esckeylistener);
        String s = getParameter("DEBUG");
        if(s != null && s.startsWith("T"))
            Debug.setEnabled(true);
        String s1 = getParameter("STOCK");
        if(s1 != null) {
            activeStock = s1.toUpperCase().trim();
            Debug.x("Default stock set to " + s1);
        }
        String s2 = getParameter("host");
        if(s2 != null) {
            Debug.x("HOST param specified as " + s2);
            try {
                codebase = new URL(s2);
            }
            catch(MalformedURLException _ex) {
                codebase = getCodeBase();
                Debug.x("Malformed HOST specified. using default codebase");
            }
        } else {
            codebase = getCodeBase();
            Debug.x("No HOST specified, using default codebase of " + 
codebase.toString());
        }
        target = getParameter("target");
        logo = getImage(getCodeBase(), "logo30.gif");
        Debug.x("Done with init.");
    }

    DataLabel newDataFootCell(DataPanel datapanel, Rectangle rectangle, int i) {
        DataLabel datalabel = new DataLabel();
        datapanel.add(datalabel);
        datalabel.setBounds(rectangle.x, rectangle.y + (i + 1) * (rectangle.height + 
2), rectangle.width, rectangle.height);
        datalabel.setAlignment(1);
        datalabel.setFont(defaultFont);
        return datalabel;
    }

    DataLabel newDataOrderCell(DataPanel datapanel, Label label, int i) {
        DataLabel datalabel = new DataLabel();
        datapanel.add(datalabel);
        Rectangle rectangle = label.getBounds();
        datalabel.setBounds(rectangle.x, rectangle.y + (i + 1) * (rectangle.height + 
2), rectangle.width, rectangle.height);
        datalabel.setAlignment(2);
        datalabel.setFont(defaultFont);
        return datalabel;
    }

    synchronized void newStockTrigger() {
        setStock(textFieldNewStockText.getText());
    }

    public void paint(Graphics g) {
        if(dataPanel.isVisible())
            dataPanel.paint(g);
        super.paint(g);
        if(labelPendingStock.getVisible())
            labelPendingStock.paint(g);
        if(labelMessage.getVisible())
            labelMessage.paint(g);
        g.drawImage(logo, 10, 37, Color.white, this);
    }

    public synchronized void setStock(String s) {
        activeStock = s.toUpperCase().trim();
        textFieldNewStockText.setText(activeStock);
        textFieldNewStockText.selectAll();
        textFieldNewStockText.requestFocus();
        if(activeReaderThread != null) {
            activeReaderThread.kill();
            activeReaderThread = null;
        }
        labelPendingStock.setText(activeStock);
        showBlankStock("Connecting...");
        dataStock.setText(activeStock);
        try {
            URL url = new URL(codebase, "/SERVICE/SQUOTE?STOCK=" + activeStock + " ");
            activeReaderThread = new ReaderThread(url, this);
            activeReaderThread.start();
        }
        catch(MalformedURLException _ex) {
            showBlankStock("Malformed URL");
        }
    }

    private void showBlankStock(String s) {
        Debug.x("Starting to clear");
        dataPanel.setVisible(false);
        labelMessage.setText(s);
        labelPendingStock.setVisible(true);
        repaint();
        Debug.x("Done clearing");
    }

    void showDocument(String s) {
        try {
            showDocument(new URL(s));
        }
        catch(MalformedURLException _ex) {
            showStatus("Bad URL specified!");
        }
    }

    void showDocument(URL url) {
        if(target == null)
            getAppletContext().showDocument(url);
        else
            getAppletContext().showDocument(url, target);
    }

    public void showMessage(String s) {
        if(Thread.currentThread() != activeReaderThread) {
            Debug.x("Zombie tried to showMessage()");
            return;
        } else {
            labelMessage.setText(s);
            repaint();
            return;
        }
    }

    public synchronized void showStockRecord(ReadableStockRecord readablestockrecord) {
        if(Thread.currentThread() != activeReaderThread) {
            Debug.x("Zombie tried to showStockRecord()");
            return;
        }
        dataVolume.setText(Utils.commaFormat(readablestockrecord.volume));
        dataOrders.setText(Utils.commaFormat(readablestockrecord.totalOrderCount));
        if(readablestockrecord.volume > 0L) {
            dataPrice.setText(Utils.priceString(readablestockrecord.lastTradePrice));
            dataTime.setText(Utils.tifString(readablestockrecord.lastTradeTime));
        } else {
            dataPrice.setText("n/a");
            dataTime.setText("n/a");
        }
        int i = colors.length;
        int j = 0;
        int k = colors.length;
        int l = 0;
        if(readablestockrecord.buys.length == 0)
            dataNoneBuy.setVisible(true);
        else
            dataNoneBuy.setVisible(false);
        if(readablestockrecord.sells.length == 0)
            dataNoneSell.setVisible(true);
        else
            dataNoneSell.setVisible(false);
        for(int i1 = 0; i1 < 15; i1++) {
            if(i1 < readablestockrecord.buys.length) {
                if(readablestockrecord.buys[i1].price != j) {
                    j = readablestockrecord.buys[i1].price;
                    if(i > 0)
                        i--;
                }
                
dataBuyPrice[i1].setText(Utils.priceString(readablestockrecord.buys[i1].price));
                dataBuyPrice[i1].setBackground(colors[i]);
                
dataBuyShares[i1].setText(Utils.commaFormat(readablestockrecord.buys[i1].leaves));
                dataBuyShares[i1].setBackground(colors[i]);
                dataBuyPrice[i1].setVisible(true);
                dataBuyShares[i1].setVisible(true);
            } else {
                dataBuyPrice[i1].setVisible(false);
                dataBuyShares[i1].setVisible(false);
            }
            if(i1 < readablestockrecord.sells.length) {
                if(readablestockrecord.sells[i1].price != l) {
                    l = readablestockrecord.sells[i1].price;
                    if(k > 0)
                        k--;
                }
                
dataSellPrice[i1].setText(Utils.priceString(readablestockrecord.sells[i1].price));
                dataSellPrice[i1].setBackground(colors[k]);
                
dataSellShares[i1].setText(Utils.commaFormat(readablestockrecord.sells[i1].leaves));
                dataSellShares[i1].setBackground(colors[k]);
                dataSellPrice[i1].setVisible(true);
                dataSellShares[i1].setVisible(true);
            } else {
                dataSellPrice[i1].setVisible(false);
                dataSellShares[i1].setVisible(false);
            }
        }

        if(readablestockrecord.buyCount > 15) {
            dataBuyFooter.setText("(" + Utils.commaFormat(readablestockrecord.buyCount 
- 15) + " more)");
            dataBuyFooter.setVisible(true);
        } else {
            dataBuyFooter.setVisible(false);
        }
        if(readablestockrecord.sellCount > 15) {
            dataSellFooter.setText("(" + 
Utils.commaFormat(readablestockrecord.sellCount - 15) + " more)");
            dataSellFooter.setVisible(true);
        } else {
            dataSellFooter.setVisible(false);
        }
        dataPanel.setVisible(true);
        if(labelPendingStock.getVisible())
            labelPendingStock.setVisible(false);
        repaint();
    }

    public synchronized void start() {
        showStatus("Starting...");
        Debug.x("Starting");
        super.start();
        textFieldNewStockText.requestFocus();
        if(activeStock != null) {
            Debug.x("Starting with activeStock=" + activeStock);
            setStock(activeStock);
        } else {
            showStatus("Ready");
        }
        Debug.x("Started.");
    }

    public synchronized void stop() {
        showBlankStock("Stopped");
        Debug.x("Stopping...");
        if(activeReaderThread != null) {
            activeReaderThread.kill();
            activeReaderThread = null;
        }
        super.stop();
        Debug.x("Stopped.");
    }

    public void update(Graphics g) {
        Image image = createImage(getSize().width, getSize().height);
        Graphics g1 = image.getGraphics();
        paint(g1);
        g.drawImage(image, 0, 0, this);
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy


interface BookViewPane {

    public abstract void blankStockRecord(String s);

    public abstract void showMessage(String s);

    public abstract void showStockRecord(ReadableStockRecord readablestockrecord);
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.awt.*;

public class DataLabel {

    int x;
    int y;
    int w;
    int h;
    int alignment;
    String text;
    Color bgColor;
    Color color;
    boolean visible;
    Font font;

    public DataLabel() {
        color = Color.black;
    }

    public Font getFont() {
        return font;
    }

    public boolean getVisible() {
        return visible;
    }

    public void paint(Graphics g) {
        g.setFont(font);
        FontMetrics fontmetrics = g.getFontMetrics();
        if(bgColor != null) {
            g.setColor(bgColor);
            g.fillRect(x, y, w, h);
        }
        int i;
        switch(alignment) {
        case 0: // '\0'
            i = x;
            break;

        case 2: // '\002'
            i = (x + w) - fontmetrics.stringWidth(text) - 1;
            break;

        case 1: // '\001'
        default:
            i = (x + w / 2) - fontmetrics.stringWidth(text) / 2;
            break;
        }
        g.setColor(color);
        if(font != null)
            g.setFont(font);
        g.drawString(text, i, y + (h - fontmetrics.getHeight()) / 2 + 
fontmetrics.getAscent());
    }

    public void setAlignment(int i) {
        alignment = i;
    }

    public void setBackground(Color color1) {
        bgColor = color1;
    }

    public void setBounds(int i, int j, int k, int l) {
        x = i;
        y = j;
        w = k;
        h = l;
    }

    public void setColor(Color color1) {
        color = color1;
    }

    public void setFont(Font font1) {
        font = font1;
    }

    public void setText(String s) {
        text = s;
    }

    public void setVisible(boolean flag) {
        visible = flag;
    }

    public void update(Graphics g) {
        paint(g);
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.awt.Canvas;
import java.awt.Graphics;
import java.util.Enumeration;
import java.util.Vector;

public class DataPanel extends Canvas {

    Vector v;

    public DataPanel() {
        v = new Vector();
    }

    public void add(DataLabel datalabel) {
        v.addElement(datalabel);
    }

    public void paint(Graphics g) {
        for(Enumeration enumeration = v.elements(); enumeration.hasMoreElements();) {
            DataLabel datalabel = (DataLabel)enumeration.nextElement();
            if(datalabel.visible)
                datalabel.update(g);
        }

    }

    public void update(Graphics g) {
        paint(g);
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.io.PrintStream;

class Debug {

    static boolean enabled = false;
    static PrintStream ps;

    Debug() {
    }

    public static synchronized void setEnabled(boolean flag) {
        enabled = flag;
        ps.println("DEBUGGING ENABLED");
    }

    public static synchronized void setPrintStream(PrintStream printstream) {
        ps = printstream;
    }

    public static void x(String s) {
        if(enabled)
            ps.println(s);
    }

    static  {
        ps = System.out;
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.io.IOException;
import java.io.InputStream;

class ReadableOrderRecord {

    long ref;
    int leaves;
    int price;

    ReadableOrderRecord(InputStream inputstream) throws IOException {
        ref = Utils.read4ByteLong(inputstream);
        leaves = Utils.read2ByteInt(inputstream);
        price = Utils.read3ByteInt(inputstream);
    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.io.IOException;
import java.io.InputStream;

class ReadableStockRecord {

    int buyCount;
    int sellCount;
    int totalOrderCount;
    long volume;
    int lastTradePrice;
    int lastTradeTime;
    ReadableOrderRecord buys[];
    ReadableOrderRecord sells[];

    public ReadableStockRecord(InputStream inputstream) throws IOException {
        buyCount = Utils.read2ByteInt(inputstream);
        sellCount = Utils.read2ByteInt(inputstream);
        totalOrderCount = Utils.read3ByteInt(inputstream);
        volume = Utils.read4ByteLong(inputstream);
        lastTradePrice = Utils.read3ByteInt(inputstream);
        lastTradeTime = Utils.read3ByteInt(inputstream);
        int i = inputstream.read();
        int j = i >> 4;
        int k = i & 0xf;
        buys = new ReadableOrderRecord[j];
        for(int l = 0; l < j; l++)
            buys[l] = new ReadableOrderRecord(inputstream);

        sells = new ReadableOrderRecord[k];
        for(int i1 = 0; i1 < k; i1++)
            sells[i1] = new ReadableOrderRecord(inputstream);

    }
}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

class ReaderThread extends Thread {

    URL url;
    BookViewPane vp;
    int me;
    volatile boolean zombie;
    static volatile int count = 0;
    private InputStream is;

    ReaderThread(URL url1, BookViewPane bookviewpane) {
        super("ReaderThread " + url1.getFile());
        zombie = false;
        me = getNextCount();
        Debug.x("Created thread #" + me + " for " + url1.getFile());
        url = url1;
        vp = bookviewpane;
    }

    static synchronized int getNextCount() {
        count++;
        return count;
    }

    void kill() {
        Debug.x("Killing #" + me);
        zombie = true;
    }

    void readHeartbeat(InputStream inputstream) throws IOException {
        int i = Utils.read3ByteInt(inputstream);
        vp.showMessage("As of " + Utils.timeString(i));
    }

    void readStockRecord(InputStream inputstream) throws IOException {
        int i = Utils.read3ByteInt(inputstream);
        ReadableStockRecord readablestockrecord = new ReadableStockRecord(inputstream);
        vp.showStockRecord(readablestockrecord);
        vp.showMessage("As of " + Utils.timeString(i));
    }

    public void run() {
        String s;
label0:
        {
            Debug.x("Running #" + me);
            try {
                Debug.x("Connecting #" + me);
                vp.showMessage("Connecting...");
                s = "Could not connect to host";
                is = url.openStream();
                vp.showMessage("Conectad�ssimo...");
                Debug.x("Connected #" + me);
                s = "Zombies are alive!";
                while(!zombie)  {
                    int i = is.read();
                    if(i == 0) {
                        s = "Connection closed";
                        Debug.x("Connection closed #" + me);
                        break label0;
                    }
                    if(i < 0) {
                        s = "Connection Failed";
                        Debug.x("Read Failed #" + me);
                        break label0;
                    }
                    switch(i) {
                    default:
                        break;

                    case 72: // 'H'
                        readHeartbeat(is);
                        break;

                    case 83: // 'S'
                        readStockRecord(is);
                        break;

                    case 78: // 'N'
                        s = "Stock not found";
                        break label0;
                    }
                }
                Debug.x("Closing #" + me);
                is.close();
                Debug.x("Closed #" + me);
            }
            catch(IOException ioexception) {
                Debug.x("IOException #" + ioexception);
                s = "Connection lost";
            }
        }
        Debug.x("Finished #" + me);
        if(!zombie) {
            Debug.x("Blanking #" + me);
            vp.blankStockRecord(s);
        }
        is = null;
        url = null;
        Debug.x("Goodbye #" + me);
    }

}
// Processed by NMI's Java Code Viewer 4.8.3 � 1997-2000 B. Lemaire
// Website: http://njcv.htmlplanet.com  E-mail: [EMAIL PROTECTED]
// Copy registered to Evaluation Copy

import java.io.IOException;
import java.io.InputStream;

class Utils {

    static final int TIF_OVR = 65533;
    static final int TIF_CLO = 65534;
    static final int TIF_EOD = 65535;
    static final int TWOBYTE_OVERFLOW = 65535;
    static final int THREEBYTE_OVERFLOW = 0xffffff;

    Utils() {
    }

    static String commaFormat(long l) {
        if(l == 0L)
            return "0";
        char ac[] = new char[30];
        int i = 30;
        byte byte0 = 30;
        int j = 3;
        long l1;
        for(; l != 0L; l = l1) {
            if(j == 0) {
                ac[--i] = ',';
                j = 2;
            } else {
                j--;
            }
            l1 = l / 10L;
            int k = (int)(l - l1 * 10L);
            ac[--i] = Character.forDigit(k, 10);
        }

        return new String(ac, i, byte0 - i);
    }

    static final int read2ByteInt(InputStream inputstream) throws IOException {
        int i = readByte(inputstream);
        int j = readByte(inputstream);
        return i + (j << 8);
    }

    static final int read3ByteInt(InputStream inputstream) throws IOException {
        int i = readByte(inputstream);
        int j = readByte(inputstream);
        int k = readByte(inputstream);
        return i + (j << 8) + (k << 16);
    }

    static long read4ByteLong(InputStream inputstream) throws IOException {
        int i = readByte(inputstream);
        int j = readByte(inputstream);
        int k = readByte(inputstream);
        int l = readByte(inputstream);
        return (long)(i + (j << 8) + (k << 16)) + ((long)l << 24);
    }

    static final int readByte(InputStream inputstream) throws IOException {
        int i = inputstream.read();
        if(i < 0)
            throw new IOException("Self generated IOException on negative read() 
return");
        else
            return i;
    }

    static String threeByte2String(int i) {
        if(i == 0xffffff)
            return ">16M ";
        else
            return Integer.toString(i);
    }

    static String tifString(int i) {
        switch(i) {
        case 65533: 
            return ">18H";

        case 65534: 
            return "CLOSE";

        case 65535: 
            return "EOD";
        }
        return timeString(i);
    }

    public static String timeString(int i) {
        int j = i / 3600;
        int k = (i - j * 3600) / 60;
        int l = i - j * 3600 - k * 60;
        String s = j + (k >= 10 ? ":" : ":0") + k + (l >= 10 ? ":" : ":0") + l;
        return s;
    }

    static String twoByte2String(int i) {
        if(i == 65535)
            return ">65K ";
        else
            return Integer.toString(i);
    }
}

logo30.gif

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a