使 JTextField 背景透明

Run*_*ion 6 java swing jtextfield

我试图使 JTextField 的背景透明,这样它下面的 JLabel 仍然可见,但是每当在 JTextField 中输入文本时,您都可以看到文本。这就是我现在所拥有的。

JTextField 背景在下图中设置为黑色。 在此处输入图片说明

理论上,如果 JTextField 的背景是透明的,它应该是这样的。 在此处输入图片说明

所以,我的问题是如何使 JTextField 的背景透明?

wum*_*mpz 6

这个例子使用简单setOpaque(false)。标签文本始终可见。我用 Java 1.7 和 1.8 对其进行了测试。因此,如果它对您不起作用,您还做了什么来初始化您的框架?

public class TextField extends javax.swing.JFrame {
    public TextField() {
        initComponents();
    }

    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);

        jLabel1.setText("Test");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(60, 40, 70, 14);

        jTextField1.setText("jTextField1");
        jTextField1.setOpaque(false);
        getContentPane().add(jTextField1);
        jTextField1.setBounds(50, 30, 90, 40);

        pack();
    }// </editor-fold>                        

    public static void main(String args[]) {
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TextField().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JLabel jLabel1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration                   
}
Run Code Online (Sandbox Code Playgroud)