23.07.2013 Views

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

Java IO.pdf - Nguyen Dang Binh

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 16.1. The PrettiestTable applet<br />

Example 16.7. PrettiestTable<br />

import java.text.*;<br />

import java.applet.*;<br />

import java.awt.*;<br />

public class PrettiestTable extends Applet {<br />

NumberFormat myFormat = NumberFormat.getNumberInstance();<br />

FieldPosition fp = new FieldPosition(NumberFormat.INTEGER_FIELD);<br />

public void init() {<br />

}<br />

y);<br />

y);<br />

this.setFont(new Font("Serif", Font.BOLD, 12));<br />

myFormat.setMaximumIntegerDigits(3);<br />

myFormat.setMaximumFractionDigits(2);<br />

myFormat.setMinimumFractionDigits(2);<br />

public void paint(Graphics g) {<br />

<strong>Java</strong> I/O<br />

FontMetrics fm = this.getFontMetrics(this.getFont()) ;<br />

int xmargin = 5;<br />

int lineHeight = fm.getMaxAscent() + fm.getMaxDescent();<br />

int y = lineHeight;<br />

int x = xmargin;<br />

int desiredPixelWidth = 3 * fm.getMaxAdvance();<br />

int fieldWidth = 6 * fm.getMaxAdvance();<br />

int headerWidth = fm.stringWidth("Degrees");<br />

g.drawString("Degrees", x + (fieldWidth - headerWidth)/2, y);<br />

headerWidth = fm.stringWidth("Radians");<br />

g.drawString("Radians", x + fieldWidth + (fieldWidth - headerWidth)/2,<br />

headerWidth = fm.stringWidth("Grads");<br />

g.drawString("Grads", x + 2*fieldWidth + (fieldWidth - headerWidth)/2,<br />

411

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!