// Processed by NMI's Java Code Viewer 4.8.2 © 1997-2000 B. Lemaire // Website: http://njcv.htmlplanet.com E-mail: info@njcv.htmlplanet.com // Copy registered to Evaluation Copy // Source File Name: StatusField.java import java.awt.*; class StatusField extends Canvas { private String displayedMessage; private Font font; private FontMetrics metrics; private Dimension d; public StatusField(String s) { font = new Font("Dialog", 0, 8); displayedMessage = s; metrics = getFontMetrics(font); resize(metrics.stringWidth(displayedMessage) + 6 + 5, metrics.getHeight() + 7); setBackground(Color.lightGray); } public void updateText(String s) { updateText(s, true); } public void updateText(String s, boolean flag) { displayedMessage = s; resize(metrics.stringWidth(displayedMessage) + 6 + 5, metrics.getHeight() + 7); repaint(); if(flag) getParent().layout(); } public void paint(Graphics g) { update(g); } public void update(Graphics g) { g.setFont(font); d = size(); g.setColor(Color.lightGray); g.fillRect(0, 0, d.width, d.height); g.setColor(Color.black); g.drawString(displayedMessage, 5, metrics.getLeading() + metrics.getAscent() + 1 + 2); g.setColor(Color.lightGray); g.draw3DRect(2, 2, d.width - 3, d.height - 5, false); } }