有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JComboBox未绘制

我用Java制作的一个接口有问题。它对JPanel、JTextField、JCheckBox、JRadioButton和JButton都能正常工作,它们都能正确绘制。但JComboBox没有。它只绘制已设置的任何背景颜色

由于项目的复杂性,这些组件都没有添加到容器中,而是实际存在,并被绘制到容器上,其他组件正在工作,所以我认为这不是问题所在:以下是创建代码:

paintableComponent = new JComboBox(new String[]{"test"});

绘制代码,这是在一个伪组件中

if(this.getParentComponent() != null && this.getParentComponent() instanceof Component && !((Component)this.getParentComponent()).getValue("style.overflow").equals("visible")){
    g.setClip(this.getParentComponent().getX(), this.getParentComponent().getY(), this.getParentComponent().getWidth(), this.getParentComponent().getHeight());
}
Graphics oldG = g;
g = g.create(getX(), getY(), getWidth(), getHeight());
paintableComponent.paint(g);
g = oldG;
Iterator<Component> i = children.iterator();
while(i.hasNext()){
    i.next().paint(g);
}

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    JComboBox有必须布局的子组件。在画画之前,试着打电话给jComboInstance.setSize(),让它给孩子们布局