jchooser embeded in GUI - obtain status of buttons and change to save type

4 visualizaciones (últimos 30 días)
This is a follow on from a previous question.
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.
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

Respuesta aceptada

Malcolm Lidierth
Malcolm Lidierth el 16 de Ag. de 2012
Editada: Malcolm Lidierth el 16 de Ag. de 2012
Replace 'disp(''Action'')' with a callback
function callback(hObj,evt)
Within the callback, evt.getActionCommand() will give the button e.g.
will return true for the OK button and
for cancel.
For dialog types use e.g.
Google "grep JFileChooser" to get links to the source code for JFileChooser.

Más respuestas (0)


Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by