-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
None
-
1.3.0
-
x86
-
generic
Name: vr73486 Date: 11/09/99
In windows Look And Feel JTextArea in jTextComponent test has a gray background
To reproduce bug:
Compile and run the following code.
Note that JTextArea background color is gray
Note that JTextPane has a white background
------
/* Copyright (c) Sun Microsystems 1999
$Header: /home/sun/src/JDK1.2/jTextComponent.java,v 1.4 1999/10/13 10:52:05 isam Exp $
*/
import java.awt.*;
import java.awt.font.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;
public class jTextComponent extends JApplet
{
public void init()
{
jTextComponent1 jTextComponent2 = new jTextComponent1();
getContentPane().add(jTextComponent2);
}
public static void main(String[] args)
{
JFrame frame = new JFrame("\u0645\u062b\u0627\u0644");
frame.setContentPane(new jTextComponent1());
frame.pack();
frame.setVisible(true);
}
}
class jTextComponent1 extends JPanel
{
public jTextComponent1()
{
JLabel l;
JPanel p;
JTextField field;
JTextArea area;
JTextPane pane;
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTF1, implicit, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
field = new JTextField(15);
field.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(field);
p.setPreferredSize(new Dimension(175,60));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTF2, explicit RTL, right");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
field = new JTextField(15);
field.setHorizontalAlignment(JTextField.RIGHT);
field.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_RTL);
field.setText("\u0053\u0074\u0061\u0072\u0074\u0020\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(field);
p.setPreferredSize(new Dimension(200,60));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTF3, explicit RTL, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
field = new JTextField(15);
field.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_RTL);
field.setText("\u0053\u0074\u0061\u0072\u0074\u0020\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(field);
p.setPreferredSize(new Dimension(175,60));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTF4, explicit LTR, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
field = new JTextField(15);
field.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_LTR);
field.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(field);
p.setPreferredSize(new Dimension(175,60));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTF5, explicit LTR, right");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
field = new JTextField(15);
field.setHorizontalAlignment(JTextField.RIGHT);
field.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_LTR);
field.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(field);
p.setPreferredSize(new Dimension(175,60));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTA1, implicit, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
area = new JTextArea(3,15);
area.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
area.setLineWrap(true);
p.add(l);
p.add(area);
p.setPreferredSize(new Dimension(175,110));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTA2, explicit RTL, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
area = new JTextArea(3,15);
area.setLineWrap(true);
area.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_RTL);
area.setText("\u0053\u0074\u0061\u0072\u0074\u0020\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(area);
p.setPreferredSize(new Dimension(175,110));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTA3, explicit LTR, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
area = new JTextArea(3,15);
area.setLineWrap(true);
area.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_LTR);
area.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(area);
p.setPreferredSize(new Dimension(175,110));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTP1 implicit, left");
pane = new JTextPane();
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
pane.setPreferredSize(new Dimension(180,250));
pane.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(pane);
p.setPreferredSize(new Dimension(175,160));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTP2 explicit RTL, left");
pane = new JTextPane();
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
pane.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_RTL);
pane.setPreferredSize(new Dimension(180,250));
pane.setText("\u0053\u0074\u0061\u0072\u0074\u0020\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(pane);
p.setPreferredSize(new Dimension(175,160));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTP3 explicit RTL, right");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
pane = new JTextPane();
pane.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_RTL);
MutableAttributeSet rightStyle;
rightStyle = new SimpleAttributeSet();
StyleConstants.setAlignment(rightStyle,StyleConstants.ALIGN_RIGHT);
StyledDocument doc = pane.getStyledDocument();
SimpleAttributeSet a = new SimpleAttributeSet();
pane.setParagraphAttributes(rightStyle,true);
pane.setPreferredSize(new Dimension(180,250));
pane.setText("\u0053\u0074\u0061\u0072\u0074\u0020\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(pane);
p.setPreferredSize(new Dimension(175,160));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTP4 explicit LTR, left");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
pane = new JTextPane();
pane.getDocument().putProperty(TextAttribute.RUN_DIRECTION,TextAttribute.RUN_DIRECTION_LTR);
pane.setPreferredSize(new Dimension(180,250));
pane.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(pane);
p.setPreferredSize(new Dimension(175,160));
panel.add(p);
p = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
l = new JLabel("JTP5 explicit LTR, right");
l.setVerticalAlignment(SwingConstants.BOTTOM);
l.setFont(new Font(l.getFont().getName(), Font.ITALIC, 9));
pane = new JTextPane();
pane.setParagraphAttributes(rightStyle,true);
pane.setPreferredSize(new Dimension(180,250));
pane.setText("\u062a\u0641\u0627\u062d\u0020\u0623\u062d\u0645\u0631\u0020\u05d9\u05d5\u05dd\u0020\u05e0\u05e2\u05d9\u05dd");
p.add(l);
p.add(pane);
p.setPreferredSize(new Dimension(175,160));
panel.add(p);
panel.setPreferredSize(new Dimension(200,1900));
JScrollPane scroll = new JScrollPane(panel);
scroll.setPreferredSize(new Dimension(210,450));
add(scroll);
}
}
WorkAround:
======================================================================