1

JTextArea に問題があります。setOpaque(false) で JTextArea を非表示にしたかったのですが、うまくいきません。これは私のコードです:


public class NewClass extends JFrame {

    private JPanel panel;
    private JTextArea tA;
    private JScrollPane scrollPane;

    public NewClass() {

        this.setTitle("Test");

        initJpanel();

        initTextArea();

        this.setSize(800, 640);

        this.setLocationRelativeTo(null);

        this.setResizable(false);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        this.setContentPane(panel);

        this.setVisible(true);

    }

    public static void main(String[] args) {
        new NewClass();
    }

    private void initJpanel() {
        panel = new JPanel();
        panel.setLayout(null);
        panel.setDoubleBuffered(true);
        panel.setSize(800, 640);
        panel.setLocation(0, 0);
        panel.setBackground(Color.red);
    }

    private void initTextArea() {

        tA= new JTextArea();
        tA.setOpaque(false);
        tA.setLineWrap(true);
        tA.setWrapStyleWord(true);
        tA.setSize(400, 100);
        tA.setLocation(0, 0);
        tA.setOpaque(false);
        //tA.setBackground(new Color(0, 0, 0, 90));
        scrollPane = new JScrollPane(tA);
        scrollPane.setSize(400, 100);
        scrollPane.setLocation(0, 0);
        scrollPane.setOpaque(false);
        //scrollPane.setBackground(new Color(0, 0, 0, 90));
        scrollPane.setVisible(true);

        panel.add(scrollPane);
    }
}

このコードを試しましたが、うまくいきません。JTextArea は透明になりません。

4

1 に答える 1

4

scrollPane のビューポートの不透明度も設定する必要があります。

scrollPane.getViewport().setOpaque(false);
于 2013-09-09T16:01:00.170 に答える