Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #19797 > unrolled thread

Question on homework....

Started bysimple <csimple29@gmail.com>
First post2012-11-18 15:45 -0800
Last post2012-11-18 16:38 -0800
Articles 2 — 2 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Question on homework.... simple <csimple29@gmail.com> - 2012-11-18 15:45 -0800
    Re: Question on homework.... Knute Johnson <nospam@knutejohnson.com> - 2012-11-18 16:38 -0800

#19797 — Question on homework....

Fromsimple <csimple29@gmail.com>
Date2012-11-18 15:45 -0800
SubjectQuestion on homework....
Message-ID<c3f77290-c243-4861-9ec3-40a7cbf6b612@googlegroups.com>
Working on this homework - need to have java when launched the program show the main intro window (which it does show me) and then I need to show the welcome page but don't know how to make this appear right after.  The last step is it has to show me the rules windows but not sure how I tell the system the user wants to see the rules.  

When I run the batch file the intro window appears for a few seconds but not the other window  why is it not picking up???? I don't understand where it is getting the if type==1 ???  where is getting 1 from??? Do I need to create menu to ask for type 1 or 2???  Would really appreciate if someone can clarify why it is not working.....

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class window extends JWindow
{

  ImageIcon imIntro = new ImageIcon("images\\Lintro.jpg");
  ImageIcon imWelcome = new ImageIcon("images\\Welcome.jpg");
  ImageIcon imRules = new ImageIcon("images\\Rules.jpg");
  static Thread t = new Thread();
  static int thread = 0;
  static JButton bouton;
  static int X;
  static int Y;

  /* Parametres du constructeur :
        type: 1-> Intro, 2->rules */

  public window( int X, int Y, int type ) {

    super();
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    setSize(X,Y);
    setLocation( (dim.width - X)/2 , (dim.height - Y)/2);
    setVisible(true);
    Container fen = getContentPane();

    if (type == 1 ) bouton = new JButton(imIntro);
    else            bouton = new JButton(imRules);
    bouton.setPreferredSize(new Dimension(X, Y) );
    fen.add(bouton);
    bouton.setVisible(true);

    show();

       if( type == 1 ) { //this is the part I don't know where is it getting it
        try {
            t.sleep(2000);
            thread = 1;
        }
        catch( java.lang.InterruptedException ex ) {
            JOptionPane.showMessageDialog(null, "error");
            }
        dispose();

    }
    /* If it is the rules - close window when user cliques*/
     
    else {
        bouton.addActionListener( new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                     dispose();
                }
        });
    }

 }
}

[toc] | [next] | [standalone]


#19798

FromKnute Johnson <nospam@knutejohnson.com>
Date2012-11-18 16:38 -0800
Message-ID<k8bv2a$j7u$1@dont-email.me>
In reply to#19797
On 11/18/2012 3:45 PM, simple wrote:
> Working on this homework - need to have java when launched the
> program show the main intro window (which it does show me) and then I
> need to show the welcome page but don't know how to make this appear
> right after.  The last step is it has to show me the rules windows
> but not sure how I tell the system the user wants to see the rules.
>
> When I run the batch file the intro window appears for a few seconds
> but not the other window  why is it not picking up???? I don't
> understand where it is getting the if type==1 ???  where is getting 1
> from??? Do I need to create menu to ask for type 1 or 2???  Would
> really appreciate if someone can clarify why it is not working.....
>
> import javax.swing.*; import java.awt.*; import java.awt.event.*;
>
>
> public class window extends JWindow {
>
> ImageIcon imIntro = new ImageIcon("images\\Lintro.jpg"); ImageIcon
> imWelcome = new ImageIcon("images\\Welcome.jpg"); ImageIcon imRules =
> new ImageIcon("images\\Rules.jpg"); static Thread t = new Thread();
> static int thread = 0; static JButton bouton; static int X; static
> int Y;
>
> /* Parametres du constructeur : type: 1-> Intro, 2->rules */
>
> public window( int X, int Y, int type ) {
>
> super(); Dimension dim =
> Toolkit.getDefaultToolkit().getScreenSize(); setSize(X,Y);
> setLocation( (dim.width - X)/2 , (dim.height - Y)/2);
> setVisible(true); Container fen = getContentPane();
>
> if (type == 1 ) bouton = new JButton(imIntro); else            bouton
> = new JButton(imRules); bouton.setPreferredSize(new Dimension(X, Y)
> ); fen.add(bouton); bouton.setVisible(true);
>
> show();
>
> if( type == 1 ) { //this is the part I don't know where is it getting
> it try { t.sleep(2000); thread = 1; } catch(
> java.lang.InterruptedException ex ) {
> JOptionPane.showMessageDialog(null, "error"); } dispose();
>
> } /* If it is the rules - close window when user cliques*/
>
> else { bouton.addActionListener( new ActionListener() { public void
> actionPerformed(ActionEvent e) { dispose(); } }); }
>
> } }
>

You've got a lot of problems with this code.  You can't sleep in the
constructor.  All GUI construction needs to be done on the Event
Dispatch Thread.  show() has been deprecated for setVisible(true).  You 
don't have any main() method (or you haven't shown us all the code).

So it sounds like you have three windows you want to display.  You 
should create three classes with the code that each of these windows 
needs to function.  If you want a window to disappear after a period of 
time, use a javax.swing.Timer, that you start when the window is opened, 
to close that window and open the next one.  If you are using a JButton, 
in the button's ActionListener, close the one window and open the next.

-- 

Knute Johnson

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web