Я пытаюсь навести курсор мыши на кнопку утверждения по умолчанию в JFileChooser, но нигде не могу найти примеров, где это было сделано раньше. Я пытался использовать жестко закодированные позиции x, y, но это бесполезно, когда я запускаю свое приложение на другом компьютере. Буду признателен за любую помощь, мой код выглядит следующим образом:
FileOpenDialog fileChooser = new FileOpenDialog(index);
fileChooser.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
}
});
// Need to snap mouse cursor to OPEN button here somehow or within overidden
// method of showOpenDialog???
int returnVal = fileChooser.showOpenDialog(mainFrame);
System.out.println("Return Value is " + returnVal);
if (returnVal == FileOpenDialog.APPROVE_OPTION) {
setFileIndex(index);
setInputFile(fileChooser.getSelectedFile());
}
class FileOpenDialog extends JFileChooser {
public String fileName;
public String dialogTitle;
public FileOpenDialog(int index) {
initComponent(index);
}
private void initComponent(int index) {
setBackground(Color.lightGray);
setAcceptAllFileFilterUsed(false);
CustomFileFilter myFilter = new CustomFileFilter();
setFileFilter(myFilter);
switch (index) {
case 0:
setFileName("\\MelbCupHorses.txt");
setDialogTitle("Please Choose Horses File");
break;
case 1:
setFileName("\\MelbCupEntrants.txt");
setDialogTitle("Please Choose Employees File");
break;
}
System.out.println(getCurrentDirectory().toString() + fileName);
File file = new File(getCurrentDirectory().toString() + fileName);
setSelectedFile(file);
}
/**
* @return the dialogTitle
*/
@Override
public String getDialogTitle() {
return dialogTitle;
}
/**
* @param dialogTitle the dialogTitle to set
*/
@Override
public void setDialogTitle(String dialogTitle) {
this.dialogTitle = dialogTitle;
}
}
Благодарю вас.
JFileChooser
таким образом, чтобы никогда не нужно было нажимать ни одну кнопку, кроме одной? В этом случаеFile
всегда должен быть одним и тем же файлом, а средство выбора кажется излишним. - person Andrew Thompson   schedule 10.06.2014JRootPane
, но обычно также имеет связанную с ней мнемонику клавиатуры, позволяющую пользователю двумя действиями с клавиатурой вызывать кнопку одобрения по умолчанию - person MadProgrammer   schedule 10.06.2014