jchooser embeded in GUI - obtain status of buttons and change to save type
2 views (last 30 days)
Show older comments
I am trying to embed a uifile load/save file dialog into another GUI, I'm having issues determining which button was pressed (load/save or cancel) and changing the "open" button to say "Save"
How can I:
1. In the ActionPerformedCallback obtain the jchooser status (i.e. which button was pressed)
2. Change the jchooser to be a save dialog rather than open.
Thanks
import javax.swing.JFileChooser;
d = dialog('windowstyle', 'normal', 'position', [0 0 750 400] );
centerfig ( d )
set ( d, 'visible', 'on' );
[jPanel,hPanel] = javacomponent(javax.swing.JPanel, [], d);
hControl = uicontrol('style','checkbox', 'parent',d,'string','click me', 'units','normalized','position', [0.9 0.8 0.1 0.2]);
set(hPanel, 'units','normalized','position',[0 0 0.9 1.0]);
jchooser = javaObjectEDT('javax.swing.JFileChooser', pwd );
set(handle(jchooser, 'callbackproperties'),'ActionPerformedCallback', 'disp(''Action'')')
% Show the actual dialog
jPanel.add(jchooser)
0 Comments
Accepted Answer
Malcolm Lidierth
on 16 Aug 2012
Edited: Malcolm Lidierth
on 16 Aug 2012
@Robin
Replace 'disp(''Action'')' with a callback
function callback(hObj,evt)
...
end
Within the callback, evt.getActionCommand() will give the button e.g.
evt.getActionCommand()==javax.swing.JFileChooser.APPROVE_SELECTION
will return true for the OK button and
evt.getActionCommand==javax.swing.JFileChooser.CANCEL_SELECTION
for cancel.
For dialog types use e.g.
setDialogType(javax.swing.JFileChooser.OPEN_DIALOG)
Google "grep JFileChooser" to get links to the source code for JFileChooser.
More Answers (0)
See Also
Categories
Find more on Migrate GUIDE Apps in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!