2017-08-15 4 views
-1

J'essaie d'utiliser un gui construit avec windows builder dans eclipse en utilisant jframe. J'ai essayé d'appeler la méthode Ftwo(); dans ma méthode principale et j'ai importé la classe mais elle ne reconnaît pas la méthode merci package com.cameron.main;Utiliser jframe window builder dans une classe différente

import java.awt.BorderLayout; 
import java.awt.EventQueue; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.border.EmptyBorder; 

public class Ftwo extends JFrame { 



    private JPanel contentPane; 

    /** 
    * Launch the application. 
    */ 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        Ftwo frame = new Ftwo(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    /** 
    * Create the frame. 
    */ 
    public Ftwo() { 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 450, 300); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     contentPane.setLayout(new BorderLayout(0, 0)); 
     setContentPane(contentPane); 
    } 

} 
+1

'public Ftwo()' est un constructeur. – ck1

+0

@ ck1 je comprends mais comment puis-je le mettre dans la méthode principale – ThatPurpleGuy

+0

Il semble que vous essayez de vous plonger dans Java complexe, comme la création et l'exécution d'une interface graphique, avant d'avoir étudié et compris Java de base, et c'est en arrière et en mettant la charrette proverbiale avant le cheval. Vous êtes bien mieux d'abord étudier et apprendre les bases, et je vous exhorte à faire juste cela - obtenir une introduction décente au livre Java et l'étudier et résoudre ses problèmes. Construire une base de connaissances avant d'essayer de construire un gratte-ciel. –

Répondre

2

En supposant MyApp est dans le même package Java, juste instancier une nouvelle Ftwo instance et la rendre visible. Par exemple:

import java.awt.*; 

public class MyApp { 
    public static void main(String[] args) { 
     Ftwo ftwo = new Ftwo(); 
     EventQueue.invokeLater(() -> ftwo.setVisible(true)); 
    } 
} 
+0

comment j'ajouterais des paramètres à la méthode chaque fois pour par exemple changer ce que le texte dit au lieu de faire un nouveau gui chaque fois – ThatPurpleGuy

+0

Ajoutez un paramètre 'String' au constructeur qui est utilisé pour placer le texte sur un' JLabel' dans 'Ftwo'. Par exemple. 'public Ftwo (texte de chaîne)'. – ck1

+0

Une autre option: ajouter un paramètre public sur 'Ftwo' qui définit le texte sur un' JLabel'. Par exemple. 'ftwo.setText (" Du texte! ");' – ck1