publicclass bug8023392 extends Applet { staticfinal String[] instructions = { "Please select the RadioButton for applet size labeled \"variable\" radiobutton in test harness window.", "A Frame containing several pairs of labels ((a) and (b)) is displayed.", "Labels of each pair look the same and are left-aligned (with spaces ", "between chars).", "1. Hit the print button.", "2. Select any available printer (printing to file is also fine).", "3. Look at the printing result (paper, PDF, PS, etc.):", " The (a) and (b) labels should look almost the same and the (a) labels", " shouldn't appear as if they are stretched along X axis."};
public SimplePrint2() {
setLayout(new BorderLayout());
label1 = new JLabel("2a) a b c d e" + " ");
label2 = new JLabel("2b) a b c d e");
Box p1 = new Box(BoxLayout.Y_AXIS);
p1.add(label1);
p1.add(label2);
p1.add(new JLabel("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww") {
String s = "3a) a b c d e ";
@Override protectedvoid paintComponent(Graphics g) {
sun.swing.SwingUtilities2.drawChars(this, g, s.toCharArray(), 0, s.length(), 0, 15);
}
});
p1.add(new JLabel("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww") {
String s = "3b) a b c d e";
@Override protectedvoid paintComponent(Graphics g) {
sun.swing.SwingUtilities2.drawChars(this, g, s.toCharArray(), 0, s.length(), 0, 15);
}
});
p1.add(new JLabel("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww") {
String s = "4a) a b c d e ";
AttributedCharacterIterator it;
{
AttributedString as = new AttributedString(s);
as.addAttribute(TextAttribute.FONT, getFont());
as.addAttribute(TextAttribute.FOREGROUND, Color.RED, 3, 8);
it = as.getIterator();
}
@Override protectedvoid paintComponent(Graphics g) {
sun.swing.SwingUtilities2.drawString(this, g, it, 0, 15);
}
});
p1.add(new JLabel("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww") {
String s = "4b) a b c d e";
AttributedCharacterIterator it;
{
AttributedString as = new AttributedString(s);
as.addAttribute(TextAttribute.FONT, getFont());
as.addAttribute(TextAttribute.FOREGROUND, Color.RED, 3, 8);
it = as.getIterator();
}
@Override protectedvoid paintComponent(Graphics g) {
sun.swing.SwingUtilities2.drawString(this, g, it, 0, 15);
}
});
JPanel p2 = new JPanel();
printButton = new JButton("Print");
printButton.addActionListener(this);
p2.add(printButton);
Container c = this;
c.add(p1, BorderLayout.CENTER);
c.add(p2, BorderLayout.SOUTH);
String[] data = { "1a) \u30aa\u30f3\u30e9\u30a4\u30f3\u6d88\u8fbc" + " ", "1b) \u30aa\u30f3\u30e9\u30a4\u30f3\u6d88\u8fbc"
};
JList l0 = new JList(data);
l0.setVisibleRowCount(l0.getModel().getSize());
JScrollPane jsp = new JScrollPane(l0);
l0.setBorder(new LineBorder(Color.GRAY));
c.add(jsp, BorderLayout.NORTH);
for (Component comp : new Component[]{label1, label2, printButton}) {
comp.setFont(new Font("Monospaced", 0, 16));
}
}
TextArea instructionsText;
TextArea messageText; int maxStringLength = 80;
//DO NOT call this directly, go through Sysout public TestDialog(Frame frame, String name) { super(frame, name); int scrollBoth = TextArea.SCROLLBARS_BOTH;
instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
add("North", instructionsText);
messageText = new TextArea("", 5, maxStringLength, scrollBoth);
add("South", messageText);
pack();
show();
}// TestDialog()
//DO NOT call this directly, go through Sysout publicvoid printInstructions(String[] instructions) { //Clear out any current instructions
instructionsText.setText("");
//Go down array of instruction strings
String printStr, remainingStr; for (int i = 0; i < instructions.length; i++) { //chop up each into pieces maxSringLength long
remainingStr = instructions[i]; while (remainingStr.length() > 0) { //if longer than max then chop off first max chars to print if (remainingStr.length() >= maxStringLength) { //Try to chop on a word boundary int posOfSpace = remainingStr.
lastIndexOf(' ', maxStringLength - 1);
if (posOfSpace <= 0) posOfSpace = maxStringLength - 1;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.