IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Conversion JFrame - JApplet


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Par défaut Conversion JFrame - JApplet
    Bonjour,

    J'ai une application autonome en Java que je voudrais lancer à partir d'une page internet (donc en applet).
    J'ai déjà trainé beaucoup (et longtemps) sur internet pour trouver des réponses à mon problème.

    J'ai vu entre autres, qu'il faudrait:
    - déplacer la méthode main(String arg[]) dans la classe de la JFrame
    - changer "public static void main(String arg[])" en "public void init()"
    - changer JFrame en JApplet (et donc importer "javax.swing.JApplet")
    etc...

    Il paraitrait que c'est "facile", mais je ne m'en sors pas du tout !


    Voici les 2 fichiers principaux (je lance Run.class):
    Code Run.java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Run
    {
     public static void main(String[] args)
      { MainScreen mainscreen1 = new MainScreen();
        mainscreen1.show();
      }
    }

    Code MainSreen.java : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    158
    159
    160
    161
    162
    163
    164
    165
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.BorderFactory;
    import javax.swing.border.Border;
     
     
     
    public class MainScreen extends JFrame
    {
      //---------------------------------------------------------------
      //Class level variables
      //---------------------------------------------------------------
     
      //Menus
      private JMenu FileMenu;
      private JMenu SalesOrderMenu;
      private Border loweredbevel;
      private JLabel statusLabel;
      private SapConnection sapConnection;
     
      private LogonScreen logonscreen1;
     
     //------------------------------------------------------------------ 
     // Constructor class
     //------------------------------------------------------------------
      public MainScreen()
      { //---------------------------------------------------------------
        //Set frame properties
        //---------------------------------------------------------------
        setSize(700,600);
        setTitle("Sales orders");
     
        // Exit applikation when using the Close button
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     
       //---------------------------------------------------------------
       // Center screen
       //---------------------------------------------------------------
     
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = this.getSize();
        if (frameSize.height > screenSize.height) {
          frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
          frameSize.width = screenSize.width;
        }
        this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
     
     
        Container myPane = getContentPane();
     
       //---------------------------------------------------------------
       // Add menus
       //---------------------------------------------------------------
     
       //Actions
       Action LogOn = new MenuActions("Logon","LOGON");
       Action LogOff = new MenuActions("Logoff","LOGOFF");
       Action exitApp = new MenuActions("Exit","EXIT_APP");
       Action CreateOrder = new MenuActions("Create salesorder","CREATE_ORDER");
       Action ViewOrder = new MenuActions("View order status","VIEW_ORDER");
     
       // File menu
       FileMenu = new JMenu("File");
       FileMenu.add(LogOn);
       FileMenu.add(LogOff);
       FileMenu.add(exitApp);
     
       // Sales order menu
       SalesOrderMenu  = new JMenu("Sales order");
       SalesOrderMenu.add(CreateOrder);
       SalesOrderMenu.add(ViewOrder);
     
       //Implement menu bar
       JMenuBar MenuBar = new JMenuBar();
       MenuBar.add(FileMenu);
       MenuBar.add(SalesOrderMenu);
       setJMenuBar(MenuBar);
     
       //Create status label with lowered border
       loweredbevel = BorderFactory.createLoweredBevelBorder();
       statusLabel = new JLabel("Status: Logged off");
       statusLabel.setBorder(loweredbevel);
       myPane.add(statusLabel,"South");
     
     
       //Initialize Logoon screen class
       logonscreen1 = new LogonScreen(this);
       sapConnection = new SapConnection();
     
     
      } //  public MainScreen()
     
     //---------------------------------------------------------------
     // CLASS MenuActions -  Private class to handle menu actions
     //---------------------------------------------------------------
      class MenuActions extends AbstractAction
      {
     
        public MenuActions(String p_name,String p_Action)
        { putValue(Action.NAME, p_name);
          putValue("myAction", p_Action);
        }
     
        public void actionPerformed(ActionEvent evt)
        { String actionType = (String)getValue("myAction");
         if ( actionType == "EXIT_APP" )
           System.exit(0);
         else if ( actionType == "LOGON" )
            SapLogon();
         else if ( actionType == "LOGOFF" )
            SapLogoff();
         else if ( actionType == "CREATE_ORDER" )
            CreateOrder();
         else if ( actionType == "VIEW_ORDER" )
            ViewOrder();
        }
      }
     
     //---------------------------------------------------------------
     // Private method SapLogon - Logon to SAP, shows the LogonScreen
     //---------------------------------------------------------------
      private void SapLogon()
      { logonscreen1.show();
     
        if ( sapConnection.mConnection == null )
          { statusLabel.setText("Status: Logged off"); }
        else
          { statusLabel.setText("Status: Logged on");  }
      }
     
     //---------------------------------------------------------------
     // Private method SapLogoff - Calls the SapLogoff method of the
     // LogonScreen class
     //---------------------------------------------------------------
      private void SapLogoff()
      { logonscreen1.SapLogoff();
        if ( sapConnection.mConnection == null )
          { statusLabel.setText("Status: Logged off"); }
        else
          { statusLabel.setText("Status: Logged on");  }
      }
     
     //---------------------------------------------------------------
     // Private method CreateOrder - Calls the CreateOrder screen
     //---------------------------------------------------------------
      private void CreateOrder()
      { CreateOrder createOrder = new CreateOrder(this);
        createOrder.show();
     
      }
     
     //---------------------------------------------------------------
     // Private method ViewOrder - Calls the ViewOrder screen
     //---------------------------------------------------------------
      private void ViewOrder()
      { ViewOrder viewOrder = new ViewOrder(this);
        viewOrder.show();
     
      }
     
    }  //END public class MainScreen extends JFrame

    Quelles modifications seraient à apporter ?


    Merci d'avance pour vos réponses

  2. #2
    Nouveau candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Par défaut
    Je crois avoir trouvé.

    Je ne me sers plus du fichier Run.java

    Dans le fichier MainScreen.java:
    - je remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class MainScreen extends JFrame
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class MainScreen extends JApplet
    - je remplace
    par
    - Je crée ensuite une JFrame "bidon", au début de l'init():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame frame = new JFrame("Frame");
    A chaque fois que j'utilisais "this" (qui définissait mon ancienne JFrame, dans mon ancienne application), j'utiliserai la JFrame "frame".

    - Je remplace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        setSize(700,600);
        setTitle("Sales orders");
     
        // Exit applikation when using the Close button
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        frame.setSize(700,600);
        frame.setTitle("Sales orders");
     
        // Exit applikation when using the Close button
        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    - Bon après, pour faire propre, j'ajoute (facultatif):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void start(){}
    public void stop(){}
    public void destroy(){}
    Voilà, j'espère que ça aidera ce qui auront le même problème que moi.

Discussions similaires

  1. JFrame -> JApplet -> JScrollPane -> JTabbedPane - Rafraichissement qui ne se fait pas
    Par savageman86 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 03/06/2008, 15h20
  2. Intégrer une JFrame dans une Japplet
    Par Kansuke dans le forum Général Java
    Réponses: 1
    Dernier message: 10/04/2008, 17h04
  3. JPanel pour intégration en JFrame et JApplet
    Par jproto dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 11/01/2008, 14h33
  4. Créer un JFrame et l'afficher à partir d'un JApplet
    Par bob_sapp dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 23/05/2006, 15h46
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo