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
|
// connecting action tasks to status bar via TaskMonitor
TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
@Override
public void propertyChange(java.beans.PropertyChangeEvent evt) {
String propertyName = evt.getPropertyName();
if ("started".equals(propertyName)) {
if (!busyIconTimer.isRunning()) {
statusAnimationLabel.setIcon(busyIcons[0]);
busyIconIndex = 0;
busyIconTimer.start();
}
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
} else if ("done".equals(propertyName)) {
busyIconTimer.stop();
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
progressBar.setValue(0);
} else if ("message".equals(propertyName)) {
String text = (String)(evt.getNewValue());
statusMessageLabel.setText((text == null) ? "" : text);
messageTimer.restart();
} else if ("progress".equals(propertyName)) {
int value = (Integer)(evt.getNewValue());
progressBar.setVisible(true);
progressBar.setIndeterminate(false);
progressBar.setValue(value);
}
}
});
}
@Action
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
// code de netbeans
// flux rss
public class MyThread extends Thread {
@Override
public void run(){
try {
// flux april
SyndFeedInput sfi1 = new SyndFeedInput();
String lien1 = "http://www.april.org/fr/rss.xml";
URL rss1 = new URL(lien1);
jEditorPane2.setContentType("text/html");
jEditorPane2.setEditable(false);
StringBuffer buf1 = new StringBuffer();
SyndFeed feed1 = sfi1.build(new XmlReader(rss1) {});
List entries1 = feed1.getEntries();
for (int i = 0; i < entries1.size(); i++) {
SyndEntry entry1 = (SyndEntry) entries1.get(i);
buf1.append("<br>Article : " + entry1.getTitle() + "<br>");
buf1.append("Date de publication : " + entry1.getPublishedDate() + "<br>");
buf1.append("<a href=" + entry1.getLink() + ">" + "Lire l'article sur le site" + "</a>" + "<br>");
}
jEditorPane2.addHyperlinkListener(new HyperlinkListener() {
@Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
Desktop desktop1 = Desktop.getDesktop();
if (desktop1.isSupported(Desktop.Action.BROWSE)) {
URI sss = new URI(e.getURL().toString());
desktop1.browse(sss);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.toString(), "Problème" , JOptionPane.ERROR_MESSAGE);
}
}
}
});
jEditorPane2.setText("<html><body>" + buf1.toString() + "</body></html>");
jEditorPane2.setCaretPosition(0);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.toString(), "Problème", JOptionPane.ERROR_MESSAGE);
}
}
}
MyThread myThread = new MyThread();
myThread.start();
// timer mise a jour de l'heure dans la barre d'etat
Timer t = new Timer(20000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent ev) {
statusMessageLabel.setText(new SimpleDateFormat("EEEE, d MMM yyyy kk:mm").format(new Date()));
}
}); |
Partager