Solved

Gradient background on a JSlider

Posted on 2006-07-19
8
884 Views
Last Modified: 2012-05-05
Can I put a gradient background on a JSlider without creating a subClassed JSlider, and if not, how would I need to modify the JSlider to give it a gradient background (Also, both with a background file, and if possible, by just specifying the two end colors?)
0
Comment
Question by:riaancornelius
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 92

Assisted Solution

by:objects
objects earned 250 total points
ID: 17137747
you'd write a custom ui for your slider

http://blog.elevenworks.com/?p=4
0
 
LVL 9

Author Comment

by:riaancornelius
ID: 17137936
awesome tutorial,
and that will definately be handy, but for this specific problem, I need to change only one JSlider and leave all others unchanged...

Thinking about it, It would be quite simple to create a new component and just extend paintComponent, but is there a way to add it onto an existing component without creating a new component?
0
 
LVL 92

Assisted Solution

by:objects
objects earned 250 total points
ID: 17142419
> I need to change only one JSlider and leave all others unchanged...

u can use different ui for different instances of the same component.

> but is there a way to add it onto an existing component without creating a new component?

yes, by using a custom ui ;)
0
 
LVL 26

Expert Comment

by:ksivananth
ID: 17142992
how about developing custom border?
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 9

Author Comment

by:riaancornelius
ID: 17143843
>> u can use different ui for different instances of the same component.
That makes sense. Will try that. Thanks Objects.

ksivananth, I need something less subtle than that.
0
 
LVL 3

Expert Comment

by:stimpyjcat
ID: 17156816
Try this AbstractComponentDecorator, which will let you decorate the background of one component at a time:

http://rabbit-hole.blogspot.com/2006/04/decoratingoverpainting-swing.html

Of course, it depends on how much background the original UI leaves to be painted.

Or, you could just wrap it in a JPanel and make the JPanel paint the gradient background.
0
 
LVL 26

Accepted Solution

by:
ksivananth earned 250 total points
ID: 17156842
to set gradient background to panel,

    class MyPanel extends JPanel{

        public void paintComponent( Graphics g ){
            Graphics2D g2 = (Graphics2D) g;
            g2.setPaint( new GradientPaint((float)   this.getX(),(float) this.getY(), Color.BLUE, (float) this.getX(), (float) this.getY()+ this.getHeight() - 2, Color.WHITE, true));
            g2.fillRoundRect(0,0, this.getWidth(),this.getHeight(), 12, 12);
        }
    }

I feel this is a easiest one!
0
 
LVL 9

Author Comment

by:riaancornelius
ID: 17166373
>> I feel this is a easiest one!
I agree, so I'm using it, but I think objects way is the right way to do it, and I know I'll be using that code in future, so I'm splitting points.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now