2011-07-29 3 views
1

J'ai donc un fichier jar exécutable qui, lorsqu'il est exécuté sous Windows ou sous Linux en utilisant la commandedifférence dans l'affichage d'une application Swing via un client à distance et l'affichage directement

`java -jar filename.jar` 

la sortie is this. Mais quand la même chose est vue via une connexion à distance avec le client VNC, la sortie est réduite à this

J'ai essayé de changer la résolution de l'instance de vncserver en utilisant -geometry attribut et ont également essayé fournir des valeurs pour « - cc "et les attributs" -depth ". Mais en vain. Quelqu'un peut-il me dire ce que je dois faire pour obtenir l'affichage prévu correctement dans la session VNC?

Répondre

1

Cela peut être vu lorsque l'interface graphique ne se construit pas sur le event dispatch thread. La connexion à distance ajoute assez de latence pour exposer le problème sous-jacent.

Parce que les deux images ont des noms différents de dialogue, vérifiez que les deux représentent le même code. Vérifiez également le journal .vnc du serveur distant pour voir quel gestionnaire de fenêtres est utilisé.

Addendum: Je ne sais pas quel serveur VNC votre serveur utilise, mais vous pouvez éditer $HOME/.vnc/xstartup pour spécifier le gestionnaire de fenêtres. La Metacity de Gnome a fonctionné pour moi.

+0

Le même code est seulement utilisé. J'ai également trouvé le même problème avec les boîtes de dialogue (Fichier ouvert et similaire). J'ai essayé des alternatives comme "NX" qui ne semble pas fonctionner pour une raison étrange. –

+0

Plus je voulais savoir s'il y avait une solution dans VNC lui-même. –

+1

BTW, j'utilise une méthode invokeLater comme mentionné dans le lien que vous avez fourni. –

1

Les clients VNC ont également des paramètres, comme la profondeur de couleur, etc., qui influent sur la qualité de sortie. Et cela dépend aussi des capacités de VNC. Quel SErver et quel client utilisez-vous? Si vous avez défini dans VNCSErver, vérifiez les paramètres de VNCViewer.

+0

Oui. C'est ce que je voulais dire en définissant les attributs -cc et -depth. J'utilise le client VNC Viewer. –

+0

Vous devrez changer votre gestionnaire de fenêtres. Il semble que vous utilisiez un ancien/primitif comme TWM, etc. Si c'est le cas, vous devez passer à GDM de KDM. –

+0

Je vais essayer de le faire et vous dire si cela a résolu le problème. Mais je ne sais pas si je vais avoir les droits d'administration pour faire cela [le privilège root est nécessaire pour cela?], Bcos c'est un système distant .. –

Questions connexes