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]
-------------------------------------------------------------------------