logo       

RE: Gradient Painting: msg#00175

java.ulc.devel

Subject: RE: Gradient Painting

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: ulc-developer-admin@xxxxxxxxxxxxxxx
[mailto:ulc-developer-admin@xxxxxxxxxxxxxxx]On Behalf Of
bbroschinsky@xxxxxxxxx
Sent: Wednesday, July 26, 2006 4:23 PM
To: ulc-developer@xxxxxxxxxxxxxxx
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);
}
}


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise