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

조회 수: 3(최근 30일)
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

채택된 답변

Malcolm Lidierth
Malcolm Lidierth 2012년 8월 16일
편집: Malcolm Lidierth 2012년 8월 16일
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.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by