相关疑难解决方法(0)

我可以修改现有对象的JComboBox弹出背景颜色吗?

我有一个现有的JComboBox对象.我可以使用内部方法修改其许多属性.但是,我找不到类似的方法来自定义弹出窗口的外观 - 特别是弹出窗口的背景颜色.我有一个现有的对象,所以我希望使用它现有的方法/属性,而不是写一个专用的类.这可能吗?

注意:这个问题是不是与以上相同的链接的问题(不正确地指出,这个问题已经有答案):这个问题问了一下所选项目的bgcolor(不以组合框的编辑框); 我问的是弹出框的bgcolor.

java swing popup jcombobox

5
推荐指数
1
解决办法
3747
查看次数

更改背景颜色可编辑JComboBox

我正在编写JFrame表单中的可编辑组合框,但我想改变背景颜色.

程序如何工作:如果我点击"按"按钮,那么组合框的背景需要变成黑色.

我试过了:

1.

cbo.setBackground(Color.BLACK);
Run Code Online (Sandbox Code Playgroud)

但它没有做任何事情

2

cbo.getEditor().getEditorComponent().setBackground(Color.BLACK);

((JTextField) cbo.getEditor().getEditorComponent()).setOpaque(true);
Run Code Online (Sandbox Code Playgroud)

做这个:

图片

代码示例:

public class NewJFrame extends javax.swing.JFrame {

    private JComboBox cboCategorie;

    public NewJFrame() {
        initComponents();

        cboCategorie = new JComboBox();
        cboCategorie.setBounds(10, 10, 250, 26);
        cboCategorie.setVisible(true);
        cboCategorie.setEditable(true);
        this.add(cboCategorie);

    }

private void pressActionPerformed(java.awt.event.ActionEvent evt) {
        cboCategorie.getEditor().getEditorComponent().setBackground(Color.BLACK);
        ((JTextField) cboCategorie.getEditor().getEditorComponent()).setOpaque(true);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Java JDK7

任何sugestions?

java swing jcombobox java-7 setbackground

4
推荐指数
1
解决办法
2万
查看次数

更改 JComboBox 中选择的颜色(选择后)

我正在使用 Swing 编写 GUI。我有一个JComboBox使用 aListCellRenderer和 a编写的自定义BasicComboBoxEditor

在我的getListCellRendererComponent()方法中,我根据项目是否被“选择”(鼠标悬停在上面)来更改列表的颜色,这很好,但我不希望选择在做出选择后更改背景颜色,目前正在这样做。

第一张图片显示了选择之前的界面外观,第二张图片显示了选择之后的界面外观。

在做出选择之前 选择完成后

问题

如何将“选择”的背景更改为“stockColor”?

MCVE

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.Vector;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
import javax.swing.plaf.basic.BasicComboBoxEditor;

public class TFComboBox extends JComboBox{

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

    public static void createAndShowGUI(){
        JFrame frame = new JFrame("MCVE");

        JPanel pane = new JPanel(new BorderLayout());
        TFComboBox cb = new …
Run Code Online (Sandbox Code Playgroud)

java swing jcombobox listcellrenderer

2
推荐指数
1
解决办法
7324
查看次数