Поддерживает ли глобальное меню приложений Java-приложения?

Я большой пользователь Java-приложений, таких как Matlab и Maple. Будет ли глобальное меню поддерживать эти очень важные пакеты?

Если нет, есть ли планы сделать это?

5
задан 13 April 2012 в 02:41

5 ответов

Вы можете иметь глобальную интеграцию меню для любого Java-приложения , которое реализует JMenubar, установив Jayatana:

  • Скопируйте этот скрипт
  • Сохраните его в своем Настольный или домашний каталог.
  • Откройте терминал, введите cd ~/
  • Введите еще раз: bash path_to_the_newly_saved_script
  • Следуйте инструкциям (необходимо подключение к Интернету).

    #! / Bin / bash

    # ----------------------------------------------
    # Author: hanynowsky@gmail.com
    # Before executing this script make sure 
    # you're in your home directory `cd $HOME`
    #--------------------------------------------------
    
    # -------------------------------------NOTICE------------
    # APPLICABLE ONLY IN UBUNTU UNITY 
    # This script installs Jayatana for your JDKs 
    # It supposes you already have set your JAVA_HOME in ~/.bashrc
    # You will be prompted to choose which JDK to set as Default 
    # (choose the corresponding index).
    # In case you already installed jayatana and want to re-install, 
    # please uninstall then install again.
    # ------------------------------------------------------
    
    # -------------------------------------LICENSE--------------------
    #Licensed under the GNU LGPL, Version 3.0 (the "License");
    # you may not use this file except in compliance with the License
    # ----------------------------------------------------------------
    
    #JDKPATH=`echo $JAVA_HOME | sed -e 's/bash://g' | sed -e 's/Is a directory//g'`
    #JDKPATH=eval "echo $JAVA_HOME"
    JDKPATH=`echo $JAVA_HOME | grep [^*]`
    USERHOME=`echo $HOME`
    JAYATANADD="http://java-swing-ayatana.googlecode.com/svn/tags/1.2.4/jayatana"
    
    # INSTALL 
    INSTALLCOM () {
    sudo apt-get -y install openjdk-7-jdk libunity-dev libxt-dev gcc make ant subversion 
    sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 
    svn checkout $JAYATANADD 
    sudo ant install -buildfile $USERHOME/jayatana/build.xml -v
    sudo ant config -v 
    sudo update-alternatives --config java 
    sudo update-alternatives --config javac
    sudo ant install -Djava.home.7=/usr/lib/jvm/java-7-openjdk-amd64 -f $USERHOME/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    sudo ant config -Djava.home.7=$JDKPATH -f ~/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    }
    
    # UNINSTALL
    UNINSTALLCOM (){
    sudo ant deinstall -buildfile $USERHOME/jayatana/build.xml -v
    sudo ant deconfig -buildfile $USERHOME/jayatana/build.xml -v
    sudo ant deconfig -Djava.home.7=$JDKPATH -f $USERHOME/jayatana/build.xml -v -l $USERHOME/Desktop/jayatana-stall.log
    }
    
    # DELETE Jayatana Folder created by subversion checkout
    UNDIR() {
    read -p "Delete Jayatana Folder too? Enter ( y ) to delete or ( n ) otherwise : " choice
    if [ "$choice" = "y" ]; then mv $HOME/jayatana $HOME/.local/share/Trash/files/
    elif [ "$option" = "n" ]; then echo"Jayatana Folder is kept by $USER";
    echo "you can delete it later : ~/jayatana";
    else echo "Jayatana Folder is kept by $USER , you can delete it later : ~/jayatana";
    fi
    }
    
    # COMMON
    COMMON() {
    echo "$JDKPATH : is your default JDK. Version: " 
    echo `java -version`
    }
    eval COMMON;
    read -p "Enter ( i ) to install or ( u ) to uninstall : " option
    if [ "$option" = "i" ]; then eval INSTALLCOM
    elif [ "$option" = "u" ]; then eval UNINSTALLCOM;eval UNDIR;
    else echo "Aborted by $USER";
    fi
    exit 0;
    

Подробную информацию можно найти в этом посте: Поддержка глобального меню Ubuntu для приложений Java

< hr>

Для ECLIPSE это отличается. Пакет ECLIPSE занесен в черный список в библиотеке libappmenu.so, потому что его интеграция с глобальным меню каким-то образом нарушена (меню иногда дублируются и неупорядочены). То же самое касается EMACS23 (динамические меню не отображаются при использовании глобального меню). Таким образом, они находятся в черном списке, пока разработчики не предоставят глобальное исправление.

0
ответ дан 13 April 2012 в 02:41

Существует программа под названием java-swing-ayatana , которая поддерживает это. Я не уверен, работает ли это с каждым Java-приложением. Но теперь у него есть установка PPA, так что это довольно просто.

sudo add-apt-repository ppa:danjaredg/jayatana
sudo apt-get update
sudo apt-get install jayatana

Возможно, вам придется перезапустить сеанс после этого.

0
ответ дан 13 April 2012 в 02:41

Открытая ошибка, упомянутая в этой теме, касается Eclipse, который не использует стандартный набор инструментов Java GUI (Swing), используемый во многих приложениях Java (Eclipse использует SWT).

Итак, у нас, вероятно, не будет интеграции Unity для приложений Java, даже если они решат эту конкретную ошибку.

0
ответ дан 13 April 2012 в 02:41

Любая команда, которую можно запустить из командной строки, может быть добавлена ​​в меню.

Глобальные пункты меню можно найти в / usr / share / menu. Вы должны иметь возможность добавлять новые записи, редактируя существующую запись.

Личные записи можно добавить, щелкнув правой кнопкой мыши пункт Приложения на панели.

0
ответ дан 13 April 2012 в 02:41

Это в настоящее время открытая ошибка .

Я рекомендую подписаться на него, чтобы следить за его прогрессом. ( Как подписаться )

0
ответ дан 13 April 2012 в 02:41

Другие вопросы по тегам:

Похожие вопросы: