В более новой версии Java ярлыки некоторых моих приложений переопределяются ярлыками MacOS.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 В более новой версии Java ярлыки некоторых моих приложений переопределяются ярлыками MacOS.

Сообщение Anonymous »

Мое приложение использовало Java 8, а в MacOS для многих действий определены ярлыки, которые работают нормально, например, этот, определенный для использования COMMAND-1

Код: Выделить всё

public final class AutoCorrectAction
extends CorrecterAction
{
private static final String ACTION_NAME = "autocorrect";

public AutoCorrectAction(final int paneIndex)
{
super(ACTION_NAME, TextLabel.MENU_AUTOCORRECT.getMsg(), paneIndex);
if (paneIndex == TagDisplayer.INDEX_NONE)
{
putValue(ACCELERATOR_KEY,(KeyStroke.getKeyStroke(KeyEvent.VK_1,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())));

}

this.putValue(Action.SMALL_ICON, JaikozIcon.LOCAL_AUTOCORRECT.getIconSmall());
this.putValue(JaikozAction.LARGE_ICON, JaikozIcon.LOCAL_AUTOCORRECT.getIconLarge());
this.putValue(Action.SHORT_DESCRIPTION,TextLabel.MENU_AUTOCORRECTTOOLTIP.getMsg());

}

public final void actionPerformed(final ActionEvent e)
{
start.logger.entering(this.getClass().getName(), JaikozLogFormatter.ACTION_PERFORMED);
this.performTask(new AutoCorrecter(start, isSelectedOnly(e), isUseRowSelection));
start.logger.exiting(this.getClass().getName(), JaikozLogFormatter.ACTION_PERFORMED);
}
}
Моя последняя версия программного обеспечения теперь использует Java 11, и теперь, когда я нажимаю COMMAND-1, она сворачивает окна и отображается в Finder, поиск Google определил, что это стандартный ярлык Mac — https://support.apple.com/en-us/HT201236

Command-1: просматривать элементы в окне Finder в виде значков.

Итак, мой вопрос заключается в том, каково правильное поведение Mac: должен ли мой ярлык в моем приложении переопределять ярлык MacOS или нет, т. е. является ли это ошибкой, появившейся в Java 11, или предыдущее поведение было ошибочным и теперь исправлено.
Как ни странно, у меня есть еще одно действие, определенное таким же образом, которое использует Command-2, это также стандартный ярлык MacOS

Команда 2: просмотр элементов в окне Finder в виде списка.

Код: Выделить всё

public final class CreateAcousticIdAction
extends CorrecterAction
{
private static final String ACTION_NAME = "createmusicipacousticid";

public CreateAcousticIdAction(final int paneIndex)
{
super(CreateAcousticIdAction.ACTION_NAME, TextLabel.MENU_CREATE_MUSICIP_ACOUSTIC_ID.getMsg(), paneIndex);
this.putValue(Action.SMALL_ICON, JaikozIcon.CREATE_MUSICIP_PUID.getIconSmall());
this.putValue(JaikozAction.LARGE_ICON, JaikozIcon.CREATE_MUSICIP_PUID.getIconLarge());

this.putValue(Action.SHORT_DESCRIPTION, TextLabel.MENU_CREATE_MUSICIP_ACOUSTIC_IDTOOLTIP.getMsg());
putValue(ACCELERATOR_KEY,(KeyStroke.getKeyStroke(KeyEvent.VK_2,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())));
}

public final void actionPerformed(final ActionEvent e)
{
this.performTask(new CreateAcoustId(start,  isSelectedOnly(e), isUseRowSelection), JaikozThreadGroup.THREAD_CREATE_ACOUSTICID);
}
}
Тем не менее, мой ярлык продолжает работать и не переопределяется ярлыками MacOS!
Обновить
Я создал фильм по запросу - http://www.jthink.net/jaikoz/scratch/cmd1issue.mov
Теперь я заметил, что когда я нажимаю Cmd-1, окно сворачивается, но при этом оно запускается автоматически, поэтому он делает обе вещи.

Подробнее здесь: https://stackoverflow.com/questions/627 ... -overridde
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»