2014-05-21 8 views
7

Image of the glitch
enter image description hereJava Swing graphique glitch?

J'apprends Java en reproduisant des exemples d'un manuel et dès que je suis arrivé à l'aide des classes GUI j'ai vécu quelques problèmes étranges, si tel est le terme correct. Comme vous pouvez le voir sur l'image, certaines parties du texte sont manquantes.

Le code générant cette boîte de dialogue est pas compliqué: soit

import java.awt.*; 
import java.awt.event.*; 
import java.util.*; 
import javax.swing.*; 
import javax.swing.Timer; 

public class InnerClassTest { 
    public static void main(String[] args) { 
     TalkingClock clock = new TalkingClock(1000, true); 
     clock.start(); 

     // keep program running until user selects "OK" 
     JOptionPane.showMessageDialog(null, "Quit program?"); 
     System.exit(0); 
    } 
} 

class TalkingClock { 
    /* 
    * COnstructs a talking clock 
    * @param interval the interval between messages (in milliseconds) 
    * @param beep true if the clock should beep 
    */ 
    public TalkingClock(int interval, boolean beep) { 
     this.interval = interval; 
     this.beep = beep; 
    } 

    /* 
    * Start the clock. 
    */ 
    public void start() { 
     ActionListener listener = new TimePrinter(); 
     Timer t = new Timer(interval, listener); 
     t.start(); 
    } 

    private int interval; 
    private boolean beep; 

    class TimePrinter implements ActionListener { 
     @Override public void actionPerformed(ActionEvent event) { 
      Date now = new Date(); 
      System.out.println("At the tone, the time is " + now); 
      if (beep) Toolkit.getDefaultToolkit().beep(); 
     } 
    } 
} 

je reçois quand je glitches similair ouvre le "panneau de contrôle" Java. Regardez l'icône Java sur this image. (Un morceau de texte manque ici. Le titre actuel onglet doit être « Uppdatera »)
enter image description here

Je ne ressentais cette question dans une autre application et je me présente une version à jour de la plate-forme Java les derniers pilotes disponibles pour ma Nvidia GeForce GT 630M.

Avez-vous une suggestion sur les choses que je peux essayer de résoudre ce problème?

+0

Commencez votre code d'interface utilisateur dans le contexte du fil d'envoi des événements, voir [threads initiaux] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html) pour plus de détails – MadProgrammer

+0

pour se souvenir d'un problème avec les cartes graphiques, .... mais je ne me souviens pas des détails. –

+0

Cela peut indiquer une non-concordance entre les emplacements choisis lors de l'installation pour Windows et pour Java. – trashgod

Répondre

1

J'ai longtemps eu le même problème que vous et j'ai finalement trouvé comment le réparer.

Comme d'autres l'ont commenté, c'était un problème avec mon pilote de carte graphique (j'ai un NVIDIA GeForce GT 640M). Je pensais que ce n'était pas au début puisque j'avais le dernier pilote alors j'ai essayé de réinstaller Java sans succès. Finalement, j'ai annulé mon pilote graphique (Panneau de configuration -> Gestionnaire de périphériques -> Cartes graphiques -> (le nom de votre carte graphique) -> Pilote (onglet) -> Pilote de retour arrière (bouton)) et cela a résolu le problème. J'ai essayé de mettre à jour vers la version plus récente et le problème est revenu, c'est donc définitivement le pilote le plus récent qui causait le problème.

1

Désactiver Anti Aliasing ou FXAA sur votre carte graphique;)

2

j'avais couru dans ce problème, mais je l'ai fixé! Tout ce que je l'ai été après avoir regardé cette page, je suis allé et a décidé de vérifier les paramètres de ma carte graphique, et je l'ai compris -

https://www.youtube.com/watch?v=UWu3dyXlbAM

Vérifiez que pour ce que je faisais. Tout ce que je faisais était d'aller dans "Gérer les paramètres 3D" et j'ai cliqué sur "Rechercher" et ajouté "Java 1.8.0_25 ...." et le configurer pour utiliser nVidia High Performance Processor. Je suppose que la nouvelle Java a juste besoin d'une invite pour utiliser les bons graphiques: D.

+0

merci, ceci est réellement aidé. Pendant tout ce temps, j'ai pensé que j'avais un problème avec la carte graphique NVidial, mais le problème était dans la carte Intel Integrated Graphics. J'ai mis le processeur graphique préféré à "processeur de haute performance NVIDIA" (dans le panneau de configuration NVidia -> Gérer les paramètres 3d, Paramètres du programme -> Ajouter -> Java) et Java UI fonctionne maintenant correctement. –