test2 class
Expand|Select|Wrap|Line Numbers
- public class test2 extends javax.swing.JFrame {
- /** Creates new form test2 */
- public test2() {
- 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">
- private void initComponents() {
- jButton1 = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- jButton1.setText("jButton1");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(160, 160, 160)
- .addComponent(jButton1)
- .addContainerGap(167, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addContainerGap(228, Short.MAX_VALUE)
- .addComponent(jButton1)
- .addGap(49, 49, 49))
- );
- pack();
- }// </editor-fold>
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- String url="http://www.flash-slideshow-maker.com/images/help_clip_image004.jpg";
- System.out.append("Loadiiing ....");
- Test3 t=new Test3(url);// TODO add your handling code here:
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new test2().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JButton jButton1;
- // End of variables declaration
- }
Test3 class
Expand|Select|Wrap|Line Numbers
- public class Test3 extends javax.swing.JFrame {
- /** Creates new form Test3 */
- public Test3(String url) {
- initComponents();
- try {
- System.out.append("Loadiiing 1....");
- displayMap(url, jPanel1, new JLabel());
- System.out.append("Loaded2.......... ....");
- } catch (MalformedURLException ex) {
- Logger.getLogger(Test3.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jPanel1 = new javax.swing.JPanel();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 359, Short.MAX_VALUE)
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 268, Short.MAX_VALUE)
- );
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(20, 20, 20)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(21, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(21, 21, 21)
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addContainerGap())
- );
- pack();
- }// </editor-fold>
- private void displayMap(String url,JPanel panel,JLabel label) throws MalformedURLException{
- URL imageurl=new URL(url);
- Image image=(Toolkit.getDefaultToolkit().createImage(imageurl));
- ImageIcon icon = new ImageIcon(image);
- label.setIcon(icon);
- panel.add(label);
- // System.out.println(panel.getSize().width);
- this.getContentPane().add(panel);
- }
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- // new Test3().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JPanel jPanel1;
- // End of variables declaration
- }
My output:
Loadiiing ....Loadiiing 1....
When I press the jButton1, the test2 from freezes until the image loads.Are there alternative solutions to do this?