- Enclose with " for exact match e.g., "uitable report"
- Advanced on-site Matlab training - amazing value
- Customizing axes part 5 – origin crossover and labels
- Customizing uifigures part 1
- Listbox selection hacks
- A few parfor tips
- Handling red Java console errors
- MEX ctrl-c interrupt
- Figure window customizations
- rmfield performance
- Viewing saved profiling results
- Transparent labels
- Setting class property types – take 2
- Smart listbox & editbox scrollbars
- Faster findjobj
- Adding a search box to figure toolbar
- Upcoming public Matlab presentations
- Desktop (39)
- Figure window (43)
- Guest bloggers (54)
- GUI (137)
- Handle graphics (74)
- Hidden property (39)
- Icons (7)
- Java (155)
- Listeners (20)
- Memory (14)
- Mex (11)
- Presumed future risk (333)
- Public presentation (3)
- Semi-documented feature (7)
- Semi-documented function (32)
- Stock Matlab function (124)
- Toolbox (5)
- UI controls (45)
- Uncategorized (12)
- Undocumented feature (173)
- Undocumented function (33)
TagsActiveX Callbacks COM Compiler Desktop Donn Shull Editor Figure FindJObj GUI GUIDE Handle graphics HG2 Hidden property HTML Icons Internal component Java JavaFrame JIDE JMI Listener Malcolm Lidierth MCOS Memory Menubar Mex Optical illusion Performance Profiler Pure Matlab schema schema.class schema.prop scribe Semi-documented function Toolbar uicontrol UIInspect uitable uitools uiundo Undocumented feature Undocumented function Undocumented property
- Yair Altman (2 days 14 hours ago): @Yaroslav – thanks! I updated the text accordingly.
- Yaroslav (3 days 0 hours ago): Hi Yair, Great post yet again. It is worth mentioning that your methods can be extended to 3 dimensional plots, which are currently unsupported. For example, % Plot Peaks N = 49; x...
- Rocco (3 days 5 hours ago): Hi Yair, thanks for the reply. Very useful utility especially when used with frameless (undecorated) figure windows you mention above !
- Yair Altman (3 days 10 hours ago): @Kurt – perhaps your figure is not visible on-screen (minimized, hidden, or not yet fully-rendered) when you take the screenshot.
- Kurt (4 days 1 hour ago): When I run this code I get a black box and not the screen capture. Is there something I need or am doing wrong? I have both files in the same directory. Thanks.
- Malcolm Lidierth (7 days 1 hour ago): Not sure why you think it should not. Any MATLAB OOP class can define custom saveobj and loadobj methods to deal with the serialisation/deserialization process. Not your...
- Yair Altman (8 days 16 hours ago): yes
- Jerry (8 days 20 hours ago): Great, it works. Thanks! I guess the reason is that when it runs the setting process, the figure is still unfinished?
- ElGalloGringo (9 days 5 hours ago): I am trying to write my own script to parse this struct data and generate a figure from a subset of the children handles. One weird thing I am running into is that even though...
- Yair Altman (9 days 14 hours ago): @Jerry – adding drawnow; pause(0.1) after the plot command and before setting the color should solve the problem.
- Jerry (9 days 16 hours ago): Hello Yair. I used your code to draw a transparent line. But there are some problems. I wrote the below codes in a .m file. xlim([1,5]); hold('on'); cd = uint8([255,200,250,50,0;...
- Yair Altman (10 days 14 hours ago): @Sepehr – while Hashtable does indeed accept arrays as keys, the automatic conversion between Java and Matlab data types causes hash.get not to find the key. Instead, use...
- Sepehr (10 days 22 hours ago): Hi Yair, Great article. I have tried your suggestion on serializing objects so they can be used as both keys and values in a hashtable. It does not work. Here a piece of code that...
- Yair Altman (11 days 14 hours ago): @Radek – I think that the end-result would not be intuitive to users so I advise against doing this. If you still want to do it, then you could either update the...
- Yair Altman (12 days 4 hours ago): @Bastian – I just updated the main text with a solution to this – see here.
Search Results for: gui240 relevant articles found:
In my previous post, I explained how the findjobj utility can be used to access a Matlab component’s underlying Java component. Findjobj has another role: displaying the component hierarchy of complex Matlab containers such as the figure window, GUIDE or the Editor. When findjobj is called with no output arguments, the function infers that the user requests to see the GUI version, rather than to get the control’s Java handle: >&g… Continue reading
Last week I presented a detailed explanation of the uiinspect utility, which displays a GUI listing all the properties, callbacks and internal methods of an inspected object. Something like Matlab’s inspect tool on steroids. I explained that uiinspect uses com.mathworks.mlwidgets.inspector.PropertyView, which in turn uses JIDE’s PropertyTable. PropertyView automatically extracts the inspected object’s properties and displays th… Continue reading
…ccur within the specified number (e.g., fast double-clicks) will be considered by the component as only a single click. The default value of 0 means that all clicks will be processed separately, which is often undesirable in GUI applications. Remember that the value is in milliseconds, not seconds. FlyOverAppearance – boolean flag (default=false); if set, the button appearance is changed to a flat (2D) appearance with a special 3D border… Continue reading
…for example to create graphical insets. Multi-layered graphs, with each layer having independent axes. Figure 2: A multi-layered graph. Each plot has its own graph layer with independent axes. Built-in mouse interactivity and GUIs for interactive plot editing. Figure 3: A plot editor for a single-layered graph. Java programmers might note here the use of a few custom-designed Swing widgets: a dial that subclasses JSlider and supports multiple-tur… Continue reading
When designing Matlab applications, we can either use Matlab’s designer (guide), or manually position each GUI component programmatically, using its Position property. Matlab lacks the layout managers so common in Java, that enable easy relative component positioning, taking into account dynamic container size, components spacing weights etc. Of course, we can always trap the container’s ResizeFcn callback to update our layout, but d… Continue reading
…available space for a new label. I could drive the entire content down to make space for it, but that would reduce the usable space for the actual contents, which is already at a premium: Adding a transparent label to Matlab GUI (click for full-size image) A natural place for the new label, as indicated, would be on top of the empty space next to the content’s sub-tabs (Correlation and Backtesting). This empty space is taken up by Matlab&#… Continue reading
Matlab includes a wide variety of internal widgets (GUI components) that could be very useful in our GUIs. One such widget is an animated spinning icon, which is often used by Matlab itself and numerous toolboxes to illustrate a running task: Sample usage of an animated spinning icon One of the internal widgets that are readily-available for use in our Matlab GUI and displays a similar (but not identical) spinning icon is BusyAffordance, which i… Continue reading
…either directly or because its container was resized. ComponentShownCallback – fired when the component is displayed (setVisible(true)). Compare: ComponentHiddenCallback FocusGainedCallback – fired when the component gains GUI focus, by mouse click, Tab click, or calling the component’s requestFocus() method. FocusLostCallback – fired when the component loses focus to another component or window. Compare: FocusGainedCallback Hierarchy… Continue reading
A couple of weeks ago, a reader of this website requested an article about color-selection components. So Ed – this one’s for you Matlab includes a fully-documented uisetcolor function to enable color selection. uisetcolor uses a modal dialog window for this. To integrate this color-selection dialog in our GUI, simply add a uicontrol button or a menu item that call uisetcolor in their callback function. An example of such an integra… Continue reading