我想使背景爲JTextField透明,這樣它下面的JLabel仍然可見,但每當輸入文本到JTextField中,您都可以看到文本。這是我現在基本上所擁有的。使JTextField背景透明
JTextField背景在下圖中設置爲黑色。
理論上,如果JTextField的背景是透明的,它應該看起來像這樣。
所以,我的問題是如何使JTextField的背景透明?
我想使背景爲JTextField透明,這樣它下面的JLabel仍然可見,但每當輸入文本到JTextField中,您都可以看到文本。這是我現在基本上所擁有的。使JTextField背景透明
JTextField背景在下圖中設置爲黑色。
理論上,如果JTextField的背景是透明的,它應該看起來像這樣。
所以,我的問題是如何使JTextField的背景透明?
這個例子很簡單使用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
}
我想通了,初始化框架時它做了這個操作.. javax.swing.UIManager.setLookAndFeel(info.getClassName()); – RuneRebellion
沒有setBounds應該是upvoted – mKorbel
爲什麼沒有setBounds?我沒有使用任何佈局管理器。爲什麼不把我的組件這樣? – wumpz
更改外觀設置爲金屬或窗口 它會工作,如果u必須設置透明已經 雨雲LAF使得文字區域backgroung可見只要程序運行
您是否使用.setOpaque(假); ? – Noob
是的,我確定將它設置爲false – RuneRebellion
嘗試.setColor(new Color(0,0,0,0)); – Noob