Java Swing através da Área de Trabalho Remota - Estranho, estranhos GUI squashing

4

Eu pensei que esta questão se encaixa SuperUser mais do que StackOverflow porque não é sobre a programação Java real, apesar de programadores podem ser mais propensos a encontrar o problema. De qualquer forma, deixe-me começar com algumas estatísticas antes de fazer a pergunta:

Laptop:

  • Windows 7 x32
  • Resolução de tela 1024 x 768; Nvidia GeForce Go 6200
  • Conectado à área de trabalho através da rede sem fio ad-hoc
  • Acessar a internet pela área de trabalho

Desktop:

  • Windows 7 x64
  • Resolução de tela 1920 x 1080
  • Conectado ao laptop via rede sem fio ad-hoc
  • Acesso à internet via modem a cabo

Estou conectando ao meu laptop via Área de trabalho remota da minha área de trabalho para aproveitar a grande tela. Estou fazendo programação no meu laptop (por questões de portabilidade). Tudo o mais funciona de maneira suave e rápida na Área de Trabalho Remota, pois ambos os computadores estão conectados diretamente através da rede sem fio ad-hoc.

O único problema é o seguinte: os aplicativos Java Swing não exibem a GUI adequadamente. Adquiri um aplicativo Java Swing e estou depurando no Eclipse. Aqui está o que eu tenho quando eu corri o aplicativo:

Aparentemente,nãoparecehavernadadeerradocomoaplicativoGUIqueestoudepurando,porqueoPaineldeControleJavaexibeomesmoproblema.

EupesquiseialtoebaixonoGooglesobreisso;omaispróximoquechegueideumasoluçãoé esta . Mas, infelizmente, o uso de -Dsun.java2d.nodraw=true não tem efeito algum.

Isso só acontece na área de trabalho remota. Eu tentei localmente e os aplicativos GUI são exibidos corretamente. Isso não é um problema para mim, pois posso parar de usar o Remote Desktop ao desenvolver aplicativos Java Swing. No entanto, gostaria de saber se alguém encontrou isso e encontrou alguma solução.

PS: Todos os softwares envolvidos (Eclipse, Java JRE, etc.) são versões mais recentes.

    
por ADTC 12.02.2012 / 10:05

6 respostas

2

Eu posso dizer que no passado eu tive que definir a profundidade de cor um pouco menor que a configuração mais alta ao visualizar certos aplicativos via conexão de área de trabalho remota, como o Eclipse.

Em relação a um possível bug na VM Java , consulte esta resposta para mais informações. Eu duvido que este seja o caso, uma vez que você não recebeu nenhuma mensagem de erro referente à incapacidade de criar uma Java Virtual Machine ... mas ainda vale a pena conferir!

    
por 14.02.2012 / 14:44
6

Eu simplesmente alterei a cor para 32 bits no meu desktop e no cliente RDP, e o Java ficou perfeito.

    
por 23.06.2012 / 16:30
5

Eu tive o mesmo problema e mudar a profundidade de cor não funcionou para mim. Isso:

-Dsun.java2d.d3d=false

pareceu funcionar para mim:

    
por 09.07.2013 / 17:35
1

Meu mesmo problema foi corrigido depois que eu terminei as janelas e me conectei novamente com o usuário conectado à Área de Trabalho Remota (NÃO apenas desconectando do Remote Dekstop).

    
por 03.01.2013 / 19:12
1

Eu tive uma situação em que minha GUI Java falhava em pintar completamente, ou seja, todo o conteúdo da janela principal era obsoleto e não atualizava quando era executado na área de trabalho remota.

Adicionando

-Dsun.java2d.d3d=false

também consertou isso para mim.

    
por 21.05.2014 / 21:31
0

Eu tentei iniciar uma imagem do Docker com a instalação automática do IntelliJ ou Eclipse dentro do Container, mas sempre obtive uma janela de conteúdo em branco para privacidade, licença e instalação. Eu fiz isso em uma máquina do CentOS 7 conectada via Conexão RDP.

Então eu vi que o aplicativo instalado local OpenJdk Privacy Tool tem o mesmo problema, ele começa, mas não mostra o conteúdo do aplicativo, sem botões, sem texto ... apenas uma tela em branco.

Eu pesquisei pelo google e encontrei algumas soluções alternativas que não ajudam.

xhost + initx startx _JAVA_AWT_WM_NONREPARENTING = 1 export DISPLAY = localhost: 10.0 (e diferentes outras soluções em torno disso)

Eu tentei instalar compiz e assim por diante ...... nada ajuda!

A solução:

Ao conectar via RDP à máquina do CentOS, defina o valor máx. Profundidade para alta cor 16 bits - não mais (não 24 bits, não 32 bits)! Então você verá o conteúdo de tais Apps / Programas usando Swing / Awt / Java, que tem este conteúdo mostrando problemas!

    
por 20.09.2018 / 13:33