# Dial & Slider

**URL:** <https://forum.juce.com/t/dial-slider/65197>\
**Category:** General JUCE discussion\
**Created:** [February 12, 2025, 12:40pm UTC](https://forum.juce.com/t/dial-slider/65197 "2025-02-12T12:40:33Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 12, 2025, 12:40pm UTC](https://forum.juce.com/t/dial-slider/65197/1 "2025-02-12T12:40:33Z")

</div>

I have made some plugins that work with the default slider but i want to change it to my own, But it won’t come up on the interface, Do you no what the problem could be? I can show you the code for the project. Thanks.

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [February 13, 2025, 11:53am UTC](https://forum.juce.com/t/dial-slider/65197/2 "2025-02-13T11:53:23Z")

</div>

If you want help with your project from other developers its always better to have your code checked into a repo somewhere it can be easily read and referred to … github is great for this.

Its nearly impossible to give you any hints about things without looking at code. You could also include the code in a post, but generally this is less easier to debug than having a repo …

---

<div class="post-metadata">

**Author:** ![r31](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/r31/32/20237_2.png) [@r31](https://forum.juce.com/u/r31)\
**Post date:** [February 15, 2025, 4:26am UTC](https://forum.juce.com/t/dial-slider/65197/3 "2025-02-15T04:26:51Z")

</div>

First off, your title implies that you want a dial instead of a slider… If you want to use a JUCE default dial, you can use `juce::Slider::setSliderStyle(juce::Slider::SliderStyle::Rotary)`.

note that a slider and a dial are, more or less, the same thing in terms of the way the UI interacts with the user. As such, there are not separate JUCE types for these sorts of things. When considering UI, instead of this dichotomy, I would consider _in what direction_ the user’s mouse/trackpad/touch input should correspond to an increase or decrease in the value that the slider represents)

More relevant, there are 2 primary simple ways to change the way a `juce::Slider` to look a certain way.

1. use a `juce::LookAndFeel`. Inherit from one of the default types and override the `juce::Slider::LookAndFeelMethods` (for instance, if you want a knob, override `drawRotarySlider()`).

2. Inherit from `juce::Slider` itself, overriding the `paint()` method , and, if necessary, the `resized()` method (which `Slider` inherits from `Component`). This is more flexible, as it allows you to directly draw the component using a [juce::Graphics](https://docs.juce.com/master/classGraphics.html) object, which flexibly lets you draw stuff into the bounds of the component you are.

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 17, 2025, 7:56am UTC](https://forum.juce.com/t/dial-slider/65197/4 "2025-02-17T07:56:24Z")

</div>

Thanks for getting back to me, I have tried that, I also have my own custom look and feel class, Is th possible to send you the file to see where my error is please?

Regards

---

<div class="post-metadata">

**Author:** ![r31](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/r31/32/20237_2.png) [@r31](https://forum.juce.com/u/r31)\
**Post date:** [February 17, 2025, 8:50am UTC](https://forum.juce.com/t/dial-slider/65197/5 "2025-02-17T08:50:26Z")

</div>

Sure. The best way to do that is to set up a Github or Gitlab repository.

If you don’t know how to use them, they’re nothing to be afraid of.

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 17, 2025, 10:31am UTC](https://forum.juce.com/t/dial-slider/65197/6 "2025-02-17T10:31:56Z")

</div>

I don’t have a github, Can i just send it as a email.

Regards

---

<div class="post-metadata">

**Author:** ![r31](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/r31/32/20237_2.png) [@r31](https://forum.juce.com/u/r31)\
**Post date:** [February 17, 2025, 6:40pm UTC](https://forum.juce.com/t/dial-slider/65197/7 "2025-02-17T18:40:27Z")

</div>

no. the required context isn’t really there in just one file, and nobody wants to download random zips. go ahead and put it up.

plus, its easy enough to make an account on one of several such services

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 18, 2025, 6:57am UTC](https://forum.juce.com/t/dial-slider/65197/8 "2025-02-18T06:57:01Z")

</div>

Thanks for getting back to me, I have setup an account but it says the file is to big.

Regards

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 18, 2025, 7:04am UTC](https://forum.juce.com/t/dial-slider/65197/9 "2025-02-18T07:04:17Z")

</div>

So i have had to add the plugineditor files and the customlookand feel files. Thanks.

[https://github.com/JIMJAY624/Interface](https://github.com/JIMJAY624/Interface)

Thanks for getting back to me, I have setup an account but it says the file is to big.

Regards

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 18, 2025, 12:16pm UTC](https://forum.juce.com/t/dial-slider/65197/10 "2025-02-18T12:16:12Z")

</div>

Thanks for getting back to me my repo is [https://github.com/JIMJAY624/Interface](https://github.com/JIMJAY624/Interface)

---

<div class="post-metadata">

**Author:** ![Mrugalla](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mrugalla/32/13092_2.png) [@Mrugalla](https://forum.juce.com/u/Mrugalla)\
**Post date:** [February 18, 2025, 3:57pm UTC](https://forum.juce.com/t/dial-slider/65197/11 "2025-02-18T15:57:19Z")

</div>

you forgot to addAndMakeVisible() on the sliders. all juce components need to know which their parent component is and be told to be visible in order to show up.

also you should remove most of the lines in the constructor about preparing the sliders and instead use the slider attachments you have there. you don’t eveb have to wrap them in unique\_ptr if you write an initializer list before the constructor’s function body

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 19, 2025, 9:43am UTC](https://forum.juce.com/t/dial-slider/65197/12 "2025-02-19T09:43:10Z")

</div>

Thanks for getting back to me, My repo is [GitHub - JIMJAY624/Interface](https://github.com/JIMJAY624/Interface)

---

<div class="post-metadata">

**Author:** ![jim1](https://avatars.discourse-cdn.com/v4/letter/j/779978/32.png) [@jim1](https://forum.juce.com/u/jim1)\
**Post date:** [February 20, 2025, 10:54am UTC](https://forum.juce.com/t/dial-slider/65197/13 "2025-02-20T10:54:59Z")

</div>

ok thanks
