JComboBox 改变背景颜色
JComboBox change background color
因此,我创建了彼此靠近的组合框和按钮。
目标是更改组合框的背景并使其与 JButton 中的背景相同。我为两者应用了相同的颜色,但这就是我得到的。不活动时,下拉列表和向下按钮的颜色是灰色的。
当我单击组合框时,向下按钮的颜色和列表本身的背景会更改为所需的颜色。顶部的固定元素变得更深灰色,但它是钢材,没有预期的颜色。
这是一个绝对标准的组合框。这是我尝试配置的内容。
import javax.swing.*;
import java.awt.*;
import static handler.Commands.COMMANDS_ARRAY;
import static java.awt.Color.WHITE;
public class MessageComboBox extends JComboBox {
Dimension messageComboBoxDimension = new Dimension(242, 32);
public MessageComboBox() {
setBackground(new Color(71, 81, 93));
getEditor().getEditorComponent().setBackground(new Color(71, 81, 93));
((JTextField) this.getEditor().getEditorComponent()).setOpaque(true);
setModel(new DefaultComboBoxModel<>(COMMANDS_ARRAY));
setVisible(true);
setFocusable(false);
setPreferredSize(messageComboBoxDimension);
setRenderer(new DefaultListCellRenderer() {
@Override
public void paint(Graphics g) {
setBackground(new Color(71, 81, 93));
setForeground(WHITE);
super.paint(g);
}
});
}
}
关于如何使 JComboBox 向下按钮和固定下拉元素的背景与 JButton 中的背景相同(即使未获得焦点)有何建议?由于某种原因,它是灰色的。
这与LookAndFeel有关吗?
__________________________________________________________________________________
更新:
下一个主题中解决的问题
__________________________________________________________________________________
试试这个
yourCombo.getEditor().getEditorComponent().setBackGround(new Color(71, 81, 93))
对我有效,活跃或不活跃
因此,我创建了彼此靠近的组合框和按钮。 目标是更改组合框的背景并使其与 JButton 中的背景相同。我为两者应用了相同的颜色,但这就是我得到的。不活动时,下拉列表和向下按钮的颜色是灰色的。
当我单击组合框时,向下按钮的颜色和列表本身的背景会更改为所需的颜色。顶部的固定元素变得更深灰色,但它是钢材,没有预期的颜色。
这是一个绝对标准的组合框。这是我尝试配置的内容。
import javax.swing.*;
import java.awt.*;
import static handler.Commands.COMMANDS_ARRAY;
import static java.awt.Color.WHITE;
public class MessageComboBox extends JComboBox {
Dimension messageComboBoxDimension = new Dimension(242, 32);
public MessageComboBox() {
setBackground(new Color(71, 81, 93));
getEditor().getEditorComponent().setBackground(new Color(71, 81, 93));
((JTextField) this.getEditor().getEditorComponent()).setOpaque(true);
setModel(new DefaultComboBoxModel<>(COMMANDS_ARRAY));
setVisible(true);
setFocusable(false);
setPreferredSize(messageComboBoxDimension);
setRenderer(new DefaultListCellRenderer() {
@Override
public void paint(Graphics g) {
setBackground(new Color(71, 81, 93));
setForeground(WHITE);
super.paint(g);
}
});
}
}
关于如何使 JComboBox 向下按钮和固定下拉元素的背景与 JButton 中的背景相同(即使未获得焦点)有何建议?由于某种原因,它是灰色的。
这与LookAndFeel有关吗? __________________________________________________________________________________
更新:
下一个主题中解决的问题
试试这个
yourCombo.getEditor().getEditorComponent().setBackGround(new Color(71, 81, 93))
对我有效,活跃或不活跃