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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
package mkrss;
import java.awt.Dimension;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import java.util.*;
//http://tempsreel.nouvelobs.com/file/rss_perm/rss_permanent.xml
public class AfficheFluxRss extends JFrame implements ActionListener, ItemListener {
private JPanel container2 = null;//Déclaration de l'objet JPanel
private BoxLayout layout2 = null ;//Déclaration de notre layout
private JLabel texte2 = null;//Déclaration de l'objet JLabel
private JButton bouton2= null;//Déclaration du bouton
JTextArea grandeZone = null;
Choice maCombo = null;
JTextField DescField = null;
OutilsDOM myutilzgui2;
public AfficheFluxRss ( OutilsDOM myutil){
super();
build2(myutil);//On initialise notre fenêtre
}//Fin du second constructeur
private void build2(OutilsDOM myutil){
this.setTitle("Morad KALKOUL: parser de flux RSS"); //On donne un titre à l'application
this.setSize(1000,400); //On donne une taille à notre fenêtre
this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); //On dit à l'application de se fermer
//lors du clic sur la croix
//On lui spécifie un container principal
this.setContentPane(getContainer2(myutil));
}//fin de build
private JPanel getContainer2(OutilsDOM myutil){
this.maCombo = new Choice();
container2 = new JPanel() ; //On crée notre objet
layout2 = new BoxLayout(container2, BoxLayout.Y_AXIS);
container2.setLayout(layout2);
texte2 = new JLabel() ;//On crée notre objet
texte2.setPreferredSize(new Dimension(250,200)) ;//On lui donne une taille
texte2.setText("Url: " + myutil.rssvct.unoeud.lastElement().fluxrss.toString()); //On lui donne un texte
container2.add(texte2);
myutilzgui2 = new OutilsDOM() ;
myutilzgui2 = myutil ;
//Remplissage de la liste déroulante.
for (int x = 0; x < this.myutilzgui2.rssvct.unoeud.size(); x++ ){
maCombo.add(x +1 + "." + this.myutilzgui2.rssvct.unoeud.elementAt(x).titre);
}//fin de for
maCombo.addItemListener(this);
container2.add(maCombo);
//fin du remplissage de la liste.
grandeZone = new JTextArea(4, 10);
grandeZone.setSize(500, 100);
JScrollPane scrollingArea = new JScrollPane(grandeZone);
container2.add(grandeZone);
container2.add(scrollingArea);
bouton2 = new JButton () ;//Création du bouton
bouton2.setPreferredSize(new Dimension(125,25)) ;//On lui donne une taille
bouton2.setText("Fermer") ;//On lui donne un texte
container2.add(bouton2);
bouton2.addActionListener(this);//On ajoute la fenêtre en tant qu'écouteur du bouton
return container2 ;
}//Fin de getContainer2
public void itemStateChanged( ItemEvent i ){
StringTokenizer s = new StringTokenizer(i.getItem().toString().substring(0, 5),".");
int ii = Integer.parseInt(s.nextToken());
if ( this.myutilzgui2.rssvct.unoeud.elementAt(ii - 1).lu.equals(true)){
JOptionPane.showMessageDialog(this, "Vous avez déjà lu cette article.",
"avertissement",
JOptionPane.WARNING_MESSAGE);
grandeZone.setText(this.myutilzgui2.rssvct.unoeud.elementAt(ii - 1).description);
}//fin de if
else {
this.myutilzgui2.rssvct.unoeud.elementAt(ii - 1).lu = true;
grandeZone.setText(this.myutilzgui2.rssvct.unoeud.elementAt(ii - 1).description);
}//fin de else
//int i = Integer.parseInt(maString);
}//Fin de itemStateChaged
public void actionPerformed(ActionEvent e){
try {
if(e.getSource() == bouton2){//Si l'action émane bien du bouton2
this.setVisible(false);
//urlfield.setText("http://");
}// du traitement sur le bouton
}//Fin de try
catch ( Exception e1 ){
}//fin de catch
}//Fin de actionPerformed
}//Fin classe AfficheFluxRss |
Partager