Dear visitor, welcome to Jabaco - Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Option Explicit 'override 'SuperClass: javax/swing/JLabel Dim gradientPaint As java#awt#GradientPaint = New GradientPaint(0, 70, color.gray, 0, 0, color.white, False) Public Sub paintComponent(g As Graphics) 'Public Sub paint(g As Graphics) On Error Goto LoadErr Debug.Print Me.getText() Dim g2 As Graphics2D = Cast(g, Graphics2D) g2.setPaint(gradientPaint) g2.fillRect(1, 0, Base.getWidth(), Base.getHeight()) Me.paintComponent(g) ' Me.paint(g) Exit Sub LoadErr: Stop End Sub |
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 |
Public Sub Form_Load() Dim Label1 As New GradientLabel With Label1 .setText("Hey there,") .setForeground(color.black) .setBounds(10,25,120,30) End With Me.add Label1 End Sub |
Jabaco Source |
|
1 |
Me.paintComponent(arg2)
|
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Option Explicit 'override 'SuperClass: javax/swing/JLabel Dim gradientPaint As java#awt#GradientPaint = New GradientPaint(0, 70, color.gray, 0, 0, color.white, False) 'Public Sub paintComponent(g As Graphics) Public Sub paint(g As Graphics) On Error Goto LoadErr Debug.Print Me.getText() Dim g2 As Graphics2D = Cast(g, Graphics2D) g2.setPaint(gradientPaint) g2.fillRect(1, 0, Base.getWidth(), Base.getHeight()) Me.paintComponent(g) ' Me.paint(g) Exit Sub LoadErr: ' Stop End Sub |
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Option Explicit 'override 'SuperClass: javax/swing/JLabel Dim gradientPaint As java#awt#GradientPaint = New GradientPaint(0, 70, color.gray, 0, 0, color.white, False) Public Sub paintComponent(g As Graphics) 'Public Sub paint(g As Graphics) On Error Goto LoadErr ''Debug.Print Me.getText() Dim g2 As Graphics2D = Cast(g, Graphics2D) g2.setPaint(gradientPaint) g2.fillRect(1, 0, Base.getWidth(), Base.getHeight()) g2.setPaint(Color.black) g2.drawString(Me.getText,0,20) Me.paintComponent(g) 'Me.paint(g) Exit Sub LoadErr: ' Stop End Sub |
Quoted
You have to uncomment the line with paint() and comment the line with paintComponent().
Then it works fine.
Quoted
'Public Sub paintComponent(g As Graphics)
Public Sub paint(g As Graphics)
...
Me.paintComponent(g)
' Me.paint(g)
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Option Explicit 'override 'SuperClass: javax/swing/JLabel Dim gradientPaint As java#awt#GradientPaint = New GradientPaint(0, 70, color.gray, 0, 0, color.white, False) Public Sub paintComponent(g As Graphics) ' On Error Goto LoadErr Dim g2 As Graphics2D = Cast(g, Graphics2D) g2.setPaint(gradientPaint) g2.fillRect(1, 0, Base.getWidth(), Base.getHeight()) g2.setPaint(Color.black) g2.drawString(Me.getText,0,20) Me.paintComponent(g) Exit Sub LoadErr: ' Stop End Sub |
Quoted
Exception In thread "AWT-EventQueue-0" java.lang.StackOverflowError
at java.util.HashMap.hash(Unknown Source)
at java.util.HashMap.put(Unknown Source)
at java.awt.RenderingHints.put(Unknown Source)
at sun.java2d.SunGraphics2D.makeHints(Unknown Source)
at sun.java2d.SunGraphics2D.getRenderingHints(Unknown Source)
at sun.java2d.pipe.AlphaPaintPipe.startSequence(Unknown Source)
at sun.java2d.pipe.SpanShapeRenderer$Composite.startSequence(Unknown Source)
at sun.java2d.pipe.SpanShapeRenderer.renderRect(Unknown Source)
at sun.java2d.pipe.SpanShapeRenderer.fill(Unknown Source)
at sun.java2d.pipe.PixelToShapeConverter.fillRect(Unknown Source)
at sun.java2d.SunGraphics2D.fillRect(Unknown Source)
at GradientLabel.paintComponent(GradientLabel.jsrc:64)
at GradientLabel.paintComponent(GradientLabel.jsrc:65)
Jabaco Source |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Option Explicit 'override 'SuperClass: javax/swing/JLabel Dim gradientPaint As java#awt#GradientPaint = New GradientPaint(0, 70, color.gray, 0, 0, color.white, False) Public Sub paint(g As Graphics) Me.setOpaque(False) Dim g2 As Graphics2D = Cast(g, Graphics2D) g2.setPaint(gradientPaint) g2.fillRect(1, 0, Base.getWidth(), Base.getHeight()) Me.paintComponent(g) End Sub |
This post has been edited 2 times, last edit by "Dani" (Aug 22nd 2013, 11:22am)