Create panel container
p = uipanel creates a panel in the current figure
and returns the
Panel object. If there is no
figure available, MATLAB® calls the
figure function to
p = uipanel( creates
a panel in the specified parent container. The parent container can
be a figure created with either the
uifigure function or a child
p = uipanel(___,
specifies panel properties using one or more name-value arguments.
Use this option with any of the input argument combinations in the
previous syntaxes. Property values for panels vary slightly
depending on whether the app is created with the
Create a panel in a UI figure.
fig = uifigure; p = uipanel(fig);
Add UI Components to Panel
Create a panel in a UI figure, and add a button to the panel.
fig = uifigure; p = uipanel(fig); btn = uibutton(p);
Set and Access Panel Property Values
Create a panel in a UI figure, and customize its appearance by specifying property values.
fig = uifigure; p = uipanel(fig, ... "Title","Data", ... "BackgroundColor","white");
Determine the panel location and size.
s = p.Position
s = 1×4 20 20 260 221
Update the width and height of the panel by modifying the third and fourth elements of the panel
p.Position(3:4) = [150 380];
Create Scrollable Panel
enables scrolling within a panel that has components outside
its borders. Scrolling is only possible when the panel is in
a figure created with the
uifigure function. App Designer uses
this type of figure for creating apps.
Create a panel in a UI figure. Add six UI components to the panel. The first two components are not visible because they lie outside the upper border of the panel.
fig = uifigure; p = uipanel(fig,"Position",[20 20 196 135]); ef1 = uieditfield(p,"Text","Position",[11 165 140 22],"Value","First Name"); ef2 = uieditfield(p,"Text","Position",[11 140 140 22],"Value","Last Name"); ef3 = uieditfield(p,"Text","Position",[11 115 140 22],"Value","Address"); dd = uidropdown(p,"Position",[11 90 140 22],"Items",["Male","Female"]); cb = uicheckbox(p,"Position",[11 65 140 22],"Text","Member"); btn = uibutton(p,"Position",[11 40 140 22],"Text","Send");
Enable scrolling in the panel by setting the
Scrollable property to
"on". By default, the scroll
bar is scrolled to the top of the panel.
p.Scrollable = "on";
parent — Parent container
object (default) |
Panel object |
Tab object |
ButtonGroup object |
Specify optional pairs of arguments as
the argument name and
Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
uipanel(Title="Options") specifies that the
panel title is
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
uipanel("Title","Options") specifies that
the panel title is
The properties listed here are a subset of the available properties. For the full list, see Panel Properties.
BackgroundColor — Background color
0.94] (default) | RGB triplet | hexadecimal color code |
'b' | ...
Background color, specified as an RGB triplet, a hexadecimal color code, or one of the color options listed in the table.
RGB triplets and hexadecimal color codes are useful for specifying custom colors.
An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range
[0,1]; for example,
[0.4 0.6 0.7].
A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (
#) followed by three or six hexadecimal digits, which can range from
F. The values are not case sensitive. Thus, the color codes
Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.
|Color Name||Short Name||RGB Triplet||Hexadecimal Color Code||Appearance|
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
|RGB Triplet||Hexadecimal Color Code||Appearance|
Units — Units of measurement
Units of measurement, specified as one of the values in this table.
Distances in pixels are independent of your system resolution on Windows® and Macintosh systems:
On Linux® systems, the size of a pixel is determined by your system resolution.
These units are normalized with respect to the parent container. The lower-left corner of the container maps to
|Points. One point equals 1/72nd of an inch.|
These units are based on the default uicontrol font of the graphics root object:
To access the default uicontrol font, use
The recommended value is
'pixels', because most MATLAB app building functionality measures distances in pixels. You can create an
object that rescales based on the size of the parent container by parenting the object
to a grid layout manager created using the
uigridlayout function. For more information, see Lay Out Apps Programmatically.
If you set the
Visible property of a panel object to
"off", then any child objects it contains (such
as buttons, button groups, or axes) become invisible along with the parent
panel. However, the
property value of each child object remains
Version HistoryIntroduced before R2006a
R2023a: Change panel border color using
BorderColor property, not
You can change the border color of a panel in both
figure-based apps by using the
BorderColor property is recommended over the
HighlightColor property, which is
supported only in
figure-based apps. However,
there are no plans to remove support for
R2022b: Change panel border width in
In apps created in App Designer and using the
uifigure function, use the
BorderWidth property to change the
border width of the panel.
R2020b: Turn interaction off and on
To control whether a panel responds to user interaction, use the
Enable property. When the
Enable property is set to
'on', you can interact with the panel and
with UI components within it as long as they are enabled. When the
Enable property is set to
'off', you cannot interact with the panel
or its content.
Enable property is supported only for panels
in App Designer and