Hi,

Please see the snippet below.

Over the past weeks, the ULC Support team has answered a number of questions
from you and your team in India.

We strongly recommend purchasing support for your ongoing project.

Thanks and regards,

Janak

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of
[EMAIL PROTECTED]
Sent: Wednesday, July 26, 2006 4:23 PM
To: [email protected]
Subject: [ULC-developer] Gradient Painting



Hi all, I would like to paint a gradient for a background color on  a pane.
I am using ULC 6.1, the example that I have seen on the mailing list refer
to a UiJPanel, but I am unable to resolve this component.  Any help would be
appreciated.  I was looking at the following example.

http://lists.canoo.com/mailman/private/ulc-developer/2005/001990.html

thanks,
----------------------------------------------

import com.ulcjava.base.application.AbstractApplication;
import com.ulcjava.base.application.BorderFactory;
import com.ulcjava.base.application.ULCBorderLayoutPane;
import com.ulcjava.base.application.ULCBoxPane;
import com.ulcjava.base.application.ULCFrame;
import com.ulcjava.base.application.ULCLabel;
import com.ulcjava.base.application.border.ULCAbstractBorder;
import com.ulcjava.base.application.border.ULCCompoundBorder;
import com.ulcjava.base.application.util.Color;
import com.ulcjava.base.client.UIBorderLayoutPane;
import com.ulcjava.base.development.DevelopmentRunner;
import com.ulcjava.base.shared.internal.Anything;

import javax.swing.UIManager;

import java.awt.BorderLayout;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;


public class ULCGradientPaneSnippet extends AbstractApplication {
     public void start() {
         ULCLabel headerLabel = new ULCLabel("ULCGradientPane Sample");
         headerLabel.setBorder(createLineBorder());

         ULCLabel label = new ULCLabel("Content");
         label.setBorder(createEmptyBorder(20));

         ULCBoxPane centerPane = new ULCBoxPane();
         centerPane.setOpaque(false);
         centerPane.add(label);

         ULCGradientPane gradientPane = new ULCGradientPane();
         gradientPane.add(headerLabel, ULCBorderLayoutPane.NORTH);
         gradientPane.add(centerPane, ULCBorderLayoutPane.CENTER);

         ULCFrame frame = new ULCFrame("ULCGradientPaneSnippet");
         frame.setDefaultCloseOperation(ULCFrame.TERMINATE_ON_CLOSE);
         frame.setContentPane(gradientPane);
         frame.setVisible(true);
     }

     private static ULCCompoundBorder createLineBorder() {
         ULCAbstractBorder lineBorder =
BorderFactory.createLineBorder(Color.black);
         ULCCompoundBorder outsideBorder =
BorderFactory.createCompoundBorder(
                 createEmptyBorder(),
                 lineBorder
         );

         return BorderFactory.createCompoundBorder(
                 outsideBorder,
                 createEmptyBorder()
         );
     }

     private static ULCAbstractBorder createEmptyBorder() {
         return createEmptyBorder(4);
     }

     private static ULCAbstractBorder createEmptyBorder(int size) {
         return BorderFactory.createEmptyBorder(size, size, size, size);
     }

     public static class ULCGradientPane extends ULCBorderLayoutPane {
         protected String typeString() {
             return UIGradientPane.class.getName();
         }
     }

     public static class UIGradientPane extends UIBorderLayoutPane {
         protected Object createBasicObject(Anything args) {
             return new GradientPanel();
         }

         private class GradientPanel extends BasicPanel {
             public GradientPanel() {
                 super();
                 setLayout(new BorderLayout());
             }

             protected void paintComponent(Graphics g) {
                 super.paintComponent(g);

                 if (isOpaque()) {
                     java.awt.Color lightColor = java.awt.Color.blue;
                     java.awt.Color darkColor =
UIManager.getColor("control");
                     GradientPaint gradientPaint = new GradientPaint(
                             0.0F,
                             0.0F,
                             lightColor,
                             getWidth(),
                             getHeight(),
                             darkColor
                     );

                     Graphics2D g2 = (Graphics2D)g;
                     Paint originalPaint = g2.getPaint();
                     g2.setPaint(gradientPaint);
                     g2.fillRect(0, 0, getWidth(), getHeight());
                     g2.setPaint(originalPaint);
                 }
             };
         }
     }

     public static void main(String[] args) {
      DevelopmentRunner.setApplicationClass(ULCGradientPaneSnippet.class);
         DevelopmentRunner.main(args);
     }
}

_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer

Reply via email to