This page is no longer maintained — Please continue to the home page at www.scala-lang.org

[scala.swing] Class cast exception with labels

2 replies
loverdos
Joined: 2008-11-18,
User offline. Last seen 2 years 27 weeks ago.

I am using 2.7.5 but the same problems exists in 2.8.0.r18215.

What I get is:

$ scala -cp tabs.jar tabs
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:
scala.swing.Label cannot be cast to java.awt.Component
at
javax
.swing
.plaf.basic.BasicSliderUI.getHighestValueLabel(BasicSliderUI.java:880)
at
javax
.swing
.plaf.basic.BasicSliderUI.calculateTrackBuffer(BasicSliderUI.java:584)
at
javax
.swing.plaf.basic.BasicSliderUI.calculateGeometry(BasicSliderUI.java:
513)
at javax.swing.plaf.basic.BasicSliderUI
$Handler.propertyChange(BasicSliderUI.java:1451)
at
java
.beans
.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
339)
at
java
.beans
.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
276)
at
java
.beans
.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
318)
at java.awt.Component.firePropertyChange(Component.java:8188)
at javax.swing.JComponent.firePropertyChange(JComponent.java:4438)
at javax.swing.JSlider.setPaintLabels(JSlider.java:1302)
at scala.swing.Slider.paintLabels_$eq(Slider.scala:27)
at tabs$$anon$8$$anon$6$$anon$9.(tabs.scala:84)
at tabs$$anon$8$$anon$6.(tabs.scala:73)
at tabs$$anon$8.(tabs.scala:13)
at tabs$.top(tabs.scala:7)
at tabs$.top(tabs.scala:6)
at scala.swing.SimpleGUIApplication$$anon
$1.run(SimpleGUIApplication.scala:14)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
...

Searching through trac I did not find anything similar. Any idea why
this is happening and how easy the fix might be? I suppose I will have
to open a ticket if the bug is indeed with scala.swing.

Note that if you try to compile & run the tabs.scala, you will need
some resources (pictures) from the jar as well.

Christos.

imaier
Joined: 2008-07-01,
User offline. Last seen 23 weeks 2 days ago.
Re: [scala.swing] Class cast exception with labels

I have fixed it trunk.

If you get a CCE in Swing without doing any casts yourself, it's a bug
in scala.swing (or Java Swing). In any event just add a ticket to trac.

Thanks
Ingo

Christos KK Loverdos wrote:
> I am using 2.7.5 but the same problems exists in 2.8.0.r18215.
>
> What I get is:
>
> $ scala -cp tabs.jar tabs
> Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:
> scala.swing.Label cannot be cast to java.awt.Component
> at
> javax
> .swing
> .plaf.basic.BasicSliderUI.getHighestValueLabel(BasicSliderUI.java:880)
> at
> javax
> .swing
> .plaf.basic.BasicSliderUI.calculateTrackBuffer(BasicSliderUI.java:584)
> at
> javax
> .swing.plaf.basic.BasicSliderUI.calculateGeometry(BasicSliderUI.java:
> 513)
> at javax.swing.plaf.basic.BasicSliderUI
> $Handler.propertyChange(BasicSliderUI.java:1451)
> at
> java
> .beans
> .PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
> 339)
> at
> java
> .beans
> .PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
> 276)
> at
> java
> .beans
> .PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:
> 318)
> at java.awt.Component.firePropertyChange(Component.java:8188)
> at javax.swing.JComponent.firePropertyChange(JComponent.java:4438)
> at javax.swing.JSlider.setPaintLabels(JSlider.java:1302)
> at scala.swing.Slider.paintLabels_$eq(Slider.scala:27)
> at tabs$$anon$8$$anon$6$$anon$9.(tabs.scala:84)
> at tabs$$anon$8$$anon$6.(tabs.scala:73)
> at tabs$$anon$8.(tabs.scala:13)
> at tabs$.top(tabs.scala:7)
> at tabs$.top(tabs.scala:6)
> at scala.swing.SimpleGUIApplication$$anon
> $1.run(SimpleGUIApplication.scala:14)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
> ...
>
> Searching through trac I did not find anything similar. Any idea why
> this is happening and how easy the fix might be? I suppose I will have
> to open a ticket if the bug is indeed with scala.swing.
>
> Note that if you try to compile & run the tabs.scala, you will need
> some resources (pictures) from the jar as well.
>
> Christos.
>

loverdos
Joined: 2008-11-18,
User offline. Last seen 2 years 27 weeks ago.
Re: [scala.swing] Class cast exception with labels

That was fast!

Thank you Ingo.

Christos.

On Jul 6, 2009, at 6:23 PM, Ingo Maier wrote:

> I have fixed it trunk.
>
> If you get a CCE in Swing without doing any casts yourself, it's a
> bug in scala.swing (or Java Swing). In any event just add a ticket
> to trac.
>
> Thanks
> Ingo
>
> Christos KK Loverdos wrote:
>> I am using 2.7.5 but the same problems exists in 2.8.0.r18215.
>> What I get is:
>> $ scala -cp tabs.jar tabs
>> Exception in thread "AWT-EventQueue-0"
>> java.lang.ClassCastException: scala.swing.Label cannot be cast to
>> java.awt.Component
>> at
>> javax
>> .swing
>> .plaf.basic.BasicSliderUI.getHighestValueLabel(BasicSliderUI.java:
>> 880)
>> at
>> javax
>> .swing
>> .plaf.basic.BasicSliderUI.calculateTrackBuffer(BasicSliderUI.java:
>> 584)
>> at
>> javax
>> .swing
>> .plaf.basic.BasicSliderUI.calculateGeometry(BasicSliderUI.java: 513)
>> at javax.swing.plaf.basic.BasicSliderUI
>> $Handler.propertyChange(BasicSliderUI.java:1451)
>> at
>> java
>> .beans
>> .PropertyChangeSupport
>> .firePropertyChange(PropertyChangeSupport.java: 339)
>> at
>> java
>> .beans
>> .PropertyChangeSupport
>> .firePropertyChange(PropertyChangeSupport.java: 276)
>> at
>> java
>> .beans
>> .PropertyChangeSupport
>> .firePropertyChange(PropertyChangeSupport.java: 318)
>> at java.awt.Component.firePropertyChange(Component.java:8188)
>> at javax.swing.JComponent.firePropertyChange(JComponent.java:4438)
>> at javax.swing.JSlider.setPaintLabels(JSlider.java:1302)
>> at scala.swing.Slider.paintLabels_$eq(Slider.scala:27)
>> at tabs$$anon$8$$anon$6$$anon$9.(tabs.scala:84)
>> at tabs$$anon$8$$anon$6.(tabs.scala:73)
>> at tabs$$anon$8.(tabs.scala:13)
>> at tabs$.top(tabs.scala:7)
>> at tabs$.top(tabs.scala:6)
>> at scala.swing.SimpleGUIApplication$$anon
>> $1.run(SimpleGUIApplication.scala:14)
>> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
>> ...
>> Searching through trac I did not find anything similar. Any idea
>> why this is happening and how easy the fix might be? I suppose I
>> will have to open a ticket if the bug is indeed with scala.swing.
>> Note that if you try to compile & run the tabs.scala, you will
>> need some resources (pictures) from the jar as well.
>> Christos.
>

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland