我有使JComboBox透明的問題。我試圖設置不透明爲背景0的錯誤和alpha,但它不起作用。我想,我需要改變一些的類,它呈現什麼similar.And這裏是代碼..使JComboBox透明
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.plaf.basic.BasicComboBoxUI;
import java.awt.Color;
public class App {
private JFrame frame;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
App window = new App();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public App() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.getContentPane().setBackground(Color.GREEN);
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
String[] petStrings = { "Bird", "Cat", "Dog", "Rabbit", "Pig" };
JComboBox comboBox = new JComboBox(petStrings);
comboBox.setBounds(149, 99, 155, 20);
comboBox.setOpaque(false);
//comboBox.setBackground(new Color(0,0,0,0));
((JTextField)comboBox.getEditor().getEditorComponent()).setOpaque(false);
comboBox.setUI(new BasicComboBoxUI(){
public void paintCurrentValueBackground(Graphics g,Rectangle bounds,boolean hasFocus){}});
frame.getContentPane().add(comboBox);
}
}
你能告訴我們哪裏是問題在你的身邊,爲更好地幫助更快張貼[SSCCE(http://sscce.org/),短,可運行,可編譯,只是約JFrame和JComboBox – mKorbel
檢查這[後](http://www.pushing-pixels.org/2008/02/27/translucent-and-shaped-windows-in-core-java.html )出來。 – bonCodigo
@bonCodigo - 您提到的帖子是關於創建造型和半透明的窗戶。不要認爲它適用於JComboBox。 – sreejit