📄 autoupdatenewsjdialog.java
字号:
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Copyright (C) 2008 Cheok YanCheng <yccheok@yahoo.com>
*/
package org.yccheok.jstock.gui;
import java.awt.Desktop;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import javax.swing.event.HyperlinkEvent;
/**
*
* @author yccheok
*/
public class AutoUpdateNewsJDialog extends javax.swing.JDialog {
/** Creates new form AutoUpdateNewsJDialog */
public AutoUpdateNewsJDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
/** 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">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel2 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jEditorPane1 = new javax.swing.JEditorPane();
jXHeader1 = new org.jdesktop.swingx.JXHeader();
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("JStock News");
setResizable(false);
getContentPane().setLayout(new java.awt.BorderLayout(5, 5));
jPanel2.setLayout(new java.awt.BorderLayout(5, 5));
jPanel2.add(jPanel3, java.awt.BorderLayout.LINE_START);
jPanel2.add(jPanel4, java.awt.BorderLayout.LINE_END);
jEditorPane1.setContentType("text/html");
jEditorPane1.setEditable(false);
jEditorPane1.addHyperlinkListener(new javax.swing.event.HyperlinkListener() {
public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
jEditorPane1HyperlinkUpdate(evt);
}
});
jScrollPane1.setViewportView(jEditorPane1);
jPanel2.add(jScrollPane1, java.awt.BorderLayout.CENTER);
jXHeader1.setDescription("Whenever there is latest news on JStock, you will be automatically informed.");
jXHeader1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/32x32/epiphany-download.png"))); // NOI18N
jXHeader1.setTitle("JStock News");
jPanel2.add(jXHeader1, java.awt.BorderLayout.NORTH);
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/apply.png"))); // NOI18N
jButton1.setText("OK");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1);
jPanel2.add(jPanel1, java.awt.BorderLayout.SOUTH);
getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-416)/2, (screenSize.height-336)/2, 416, 336);
}// </editor-fold>//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
this.setVisible(false);
this.dispose();
}//GEN-LAST:event_jButton1ActionPerformed
private void jEditorPane1HyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {//GEN-FIRST:event_jEditorPane1HyperlinkUpdate
if (HyperlinkEvent.EventType.ACTIVATED.equals(evt.getEventType())) {
URL url = evt.getURL();
if(Desktop.isDesktopSupported())
{
Desktop desktop = Desktop.getDesktop();
if(desktop.isSupported(Desktop.Action.BROWSE))
{
if (url == null) {
// www.yahoo.com considered an invalid URL. Hence, evt.getURL() returns null.
String string = "http://" + evt.getDescription();
try {
url = new URL(string);
} catch (MalformedURLException ex) {
return;
}
}
try {
desktop.browse(url.toURI());
}
catch (URISyntaxException ex) {
}
catch (IOException ex) {
}
}
}
}
}//GEN-LAST:event_jEditorPane1HyperlinkUpdate
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
AutoUpdateNewsJDialog dialog = new AutoUpdateNewsJDialog(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
public void setNews(String news)
{
jEditorPane1.setText(news);
// Make the scroll bar scrolls to the top.
jEditorPane1.setCaretPosition(0);
}
// Variables declaration - do not modify//GEN-BEGIN:variables
javax.swing.JButton jButton1;
javax.swing.JEditorPane jEditorPane1;
javax.swing.JPanel jPanel1;
javax.swing.JPanel jPanel2;
javax.swing.JPanel jPanel3;
javax.swing.JPanel jPanel4;
javax.swing.JScrollPane jScrollPane1;
org.jdesktop.swingx.JXHeader jXHeader1;
// End of variables declaration//GEN-END:variables
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -