JComboBox не рисует - PullRequest
       16

JComboBox не рисует

0 голосов
/ 30 марта 2012

У меня проблема с интерфейсом, который я создаю на 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 Ответ

3 голосов
/ 30 марта 2012

JComboBox имеет дочерние компоненты, которые должны быть размещены. Попробуйте позвонить jComboInstance.setSize() перед окраской, чтобы дать возможность раскладывать детям.

...