IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Java DefaultStyledDocument et SimpleAttributeSet


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut Java DefaultStyledDocument et SimpleAttributeSet
    En fait j'ai quelque probleme pour mettre un style precis sur mon document. J'ai creer un SimpleAttributeSet et l'initialise avec les styles que je souhaite, j'essaye de l'appliquer a mon document mais ca marche pas, je debute donc j'ai un peu de mal...
    Je joint mon code pour voir si vous trouver la betise que j'ai du ecrire,
    pour l'instant j'essaye juste d'applique le style a un String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    public static void main(String[] args)
      {
    //	  Color[] patColors={Color.PINK,Color.RED,Color.GREEN,Color.BLUE,Color.ORANGE,
    //			  Color.CYAN,Color.MAGENTA,Color.YELLOW,Color.LIGHT_GRAY};
     
     
        //create style and font
    	  	SimpleAttributeSet textStyle = new SimpleAttributeSet();
    	  	//Font seqFont=new Font("TimesRoman",Font.PLAIN,10);//set new font
    	  	//Color col_stats_bg=new Color(255,240,210);//bkgnd color of stats pane
    	  	StyleConstants.setFontFamily(textStyle,"Courier");
    	  	StyleConstants.setFontSize(textStyle,16);
    	  	StyleConstants.setForeground(textStyle,Color.RED);
     
     
      	// create a document
        DefaultStyledDocument doc = new DefaultStyledDocument();
        doc.setCharacterAttributes(0, 10, textStyle, false);
    	  try
    	  {
    	    doc.insertString(0,"jkhvkmimimimimijhvkjvh",textStyle);
    	    doc.setCharacterAttributes(0,doc.getLength(),textStyle,true); 
    	  }
    	  catch(BadLocationException ble)
    	  { System.err.println("Could not insert text ..... "+ble);
    	  }
     
     
        Display_MEME_Output2 testApp = new Display_MEME_Output2();
        testApp.setEditable(false);
        testApp.setAutoscrolls(true);
        testApp.setDocument(doc);
        testApp.setCaretPosition(0);
        testApp.setMargin(new Insets(10,10,10,10));
     
        JScrollPane scroll = new JScrollPane(testApp,
            JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
     
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(scroll);
        frame.getContentPane().add(testApp.getSouthPanel(),"South"); //add SAVE button
        frame.setSize(PIXEL_WIDTH/2,PIXEL_HT);
        frame.setLocation(200,200);
        frame.setVisible(true);
      }

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Salut,



    Merci

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    Finalement j'ai reussi a trouver une autre solution au lieu de travailler sur un JEditorPane j'utilise un JTextPane. Du coup on peut ajouter plus facilement des style et ca marche...Faite pas attention au donnees...(File,Table...)
    Desole mais le code n'est pas tres propre...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
     //Parse MEME output
    		File file=new File("C:\\Data\\WorkDir\\memeOutputFor12CTgenes.txt");
    		File file2=new File("C:\\Data\\WorkDir\\memeInputFor12CTgenes.txt");
    		Object table[][]=new Object[40][2000];
    		Object table2[][]=new Object[40][2000];
    		Object table3[][]=new Object[40][2000];
    		table=Parse_MEME_Output.extractMotifs(file);
    		table2=Parse_MEME_Output.extractGeneSequence(file2);
    		table3=Parse_MEME_Output.parameterMotif(table,table2);
     
    	  int styleNumber=9;
        //create style and font	
    	  	JTextPane jtp = new JTextPane();
    	  	//JEditorPane jep=new JEditorPane();
    	  	DefaultStyledDocument doc = new DefaultStyledDocument();
    	    jtp.setEditable(false);
    	    jtp.setAutoscrolls(true);
    	  	jtp.setDocument(doc);
    	  	JScrollPane scroll = new JScrollPane(jtp,
    	  			JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
    	  	        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    	  	    JFrame frame = new JFrame();
    	  	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	  	    frame.add(scroll);
    	  	    //frame.getContentPane().add(jtp,"South"); //add SAVE button
    	  	    frame.setSize(PIXEL_WIDTH/2,PIXEL_HT);
    	  	    frame.setLocation(200,200);
    	  	    frame.setVisible(true);
     
     
    	  	Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
    	  	StyleConstants.setFontFamily(def, "Courier");
    	  	StyleConstants.setFontSize(def,12);
    	  	Style regular = jtp.addStyle("regular", def);
    	  	Style s =jtp.addStyle("black", regular);
    	  	StyleConstants.setForeground(s, Color.BLACK);
    	  	Style s2 =jtp.addStyle("red", regular);
    	  	StyleConstants.setForeground(s2, Color.RED);
     
     
    	  	Color[] patternColors={Color.BLUE,Color.GRAY,Color.GREEN,Color.MAGENTA,
    	  							Color.ORANGE,Color.PINK,Color.YELLOW,Color.RED,Color.CYAN};
    	  	boolean[] patternBold={false,true,true,true,false,false,false,false,false};
    	  	boolean[] patternItalics={false,false,false,false,true,true,true,false,true};
     
    	  	Style[] patternStyle=new Style[styleNumber];
     
    	  	for (int j=0;j<styleNumber;j++)
    	  	{
    	  		Style style=StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
    	  		StyleConstants.setFontFamily(style, "Courier");
    		  	StyleConstants.setFontSize(style,12);
    		  	Style reg = jtp.addStyle("reg", def);
    		  	Style s3 =jtp.addStyle("pattern", reg);
    		  	StyleConstants.setForeground(s3, patternColors[j]);
    		  	patternStyle[j]=style;
    	  	}
     
     
    	  	for (int i=0;i<table3.length;i++)
    	  	{
    	  	try{
    	  		String numeroMotif=(String)table3[0][i];
    	  		String sequenceMotif=(String)table3[1][i]+"\n";
    	  		String sequenceGene=(String)table3[3][i]+"\t";
    	  		String geneName=(String)table3[2][i]+"\n";
    	  		String start1=((String)table3[4][i]+"\n");
    	  		//int start=Integer.parseInt(start1);
    	  		//String score=(String)table3[4][i]+"\n";
    	  		String length1=(String)table3[5][i]+"\n";
    	  		//int length=Integer.parseInt(length1);
     
    	  		doc.insertString(doc.getLength(),sequenceGene, jtp.getStyle("black"));
    //	  		doc.setCharacterAttributes(start,length,jtp.getStyle("red"),true);
    	  		doc.insertString(doc.getLength(),geneName, jtp.getStyle("black"));
     
    	  		}
    	  	catch(BadLocationException ble)
    	  		{
    	  		System.err.println("Could not insert text ..... "+ble);
    	  		}  	
    	  	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo