Klassen add Methode funktioniert nicht.

Diskutiere add Methode funktioniert nicht. im Java Basics - Anfänger-Themen Forum; Hey ich habe 3 Klassen: Main Klasse: public class Main { public static void main(String[] args) { Window window = new...

  1. DoppelFabi
    DoppelFabi Mitglied
    Hey ich habe 3 Klassen:
    Main Klasse:

    Code (Java):
    public class Main
    {
       
        public static void main(String[] args)
        {
            Window window = new Window();
            window.setVisible(true);
           
           
           
           
        }

    }
     
    Die Main Methode ist mit der Window Methode verbunden:
    Code (Text):
    import java.awt.Component;

    import javax.swing.JFrame;

    public class Window
    {

        private JFrame frame;
       
       
        public void setVisible(boolean b)
        {
           
            frame.setVisible(b);
           
        }
       
        public void add(Component comt) {
           
            frame.add(comt);
           
        }
       
       
        public Window()
        {
            frame = new JFrame();
            frame.setSize(800, 800);
           
           
        }
    }
     
    Und noch die JLabels Klasse:
    Code (Text):
    import java.awt.Font;

    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class JLabels extends JFrame
    {
        Window window =  new Window();
        private JLabel test;
       
       
        public JLabels() {
           
            test.setText("rrtegrtegregre");
            test.setBounds(400,400,500,500);
            test.setFont(new Font("Calibri", 0, 30));
            window.add(test);
           
           
           
        }
    }
     
    Ich habe das Problem das der JLabel denn ich in der JLabels Klasse habe nicht angezeigt wird.
    Bin wirklich Anfänger könntet ihr mal schauen was für Fehler ihr findet?
     
  2. Wenn du jetzt Java lernen möchtest, dann sichere dir hier unseren Java-Videokurs heute zum Sonderpreis (hier klicken!)
  3. krgewb
    krgewb Bekanntes Mitglied
    Du hast nirgends "new JLabels()".

    So funktioniert es:
    Code (Java):
    import java.awt.Font;
    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class JLabels extends JFrame
    {

        Window window =  new Window();
        private JLabel test = new JLabel();

        public JLabels() {

            window.setVisible(true);
            test.setText("rrtegrtegregre");
            test.setBounds(400, 400, 500, 500);
            test.setFont(new Font("Calibri", 0, 30));
            window.add(test);
        }
    }
    Code (Java):
    public class Main
    {
        public static void main(String[] args)
        {
            new JLabels();
        }
    }
    An deiner Klasse Window musste ich nichts ändern.
     
    Zuletzt bearbeitet: 16. März 2019 um 01:45 Uhr
  4. DoppelFabi
    DoppelFabi Mitglied
    Ich teste es mal aus.

    Noch eine Frage wie ist es mit denn Methoden ich muss ja für z. B. setVisible eine public void erstellen aber z. B. für setText was mache ich da? Muss ich für jeden JLabel z. b. test 1 und test 2 zwei methoden machen einmal setTextTest1 & setTextTest2 ? Ich möchte ja jeden Text immer wieder ändern

    LG
    Fabian
     
  5. Robat
    Robat Bekanntes Mitglied
    - Wozu ist denn die Window-Klasse überhaupt da? Momentan macht diese nur Dinge, die ein JFrame sowieso schon kann
    - Warum erbt Labels von JFrame?
    - Das ganze ist mEn etwas over engineered
     
  6. DoppelFabi
    DoppelFabi Mitglied
    Die Window Klasse macht halt einfach nur das Fenster ich persönlich finde es einfach leichter und übersichtlicher.
    Und normalerweise besitze ich keine JLabels klasse die ist nur zum test dort.
    Ich habe eine Klasse die sich Methoden nennt und dort mache ich alle public void methoden für setBounds und setText. Und über public methoden() { sind die ganzen JLabels & JButtons.
    Und dein letzten Punkt verstehe ich nicht ganz:rolleyes:
     
  7. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Ich würde sagen, under engineered, eher so gar nicht engineered :p
     
  8. Robat
    Robat Bekanntes Mitglied
    So kann man es auch bezeichnen. Ich war dabei eher auf die - so scheint es - unnötigen Klassen aus :p
     
  9. DoppelFabi
    DoppelFabi Mitglied
    Habe ein wenig weiter gemacht nun hab ich wieder scheiße geschrieben

    Mein Ziel ist es JTextField aus der Klasse SearchingSystem anzuzeigen mit denn JLabels aus der Methoden Klasse
    Window:
    Code (Text):


    import java.awt.Component;

    import javax.swing.JFrame;
    import javax.swing.JPanel;

    @SuppressWarnings("serial")
    public class Window extends JFrame
    {
     
        private JFrame Window;
     
     
        public void setVisible(boolean b)
        {
         
            Window.setVisible(b);
         
        }
     
        public void adding(Component comp)
        {
         
            Window.add(comp);
         
        }
     
        public Window()
        {
         

         
            Window = new JFrame();
            Window.setTitle("Fenstername");
            Window.setSize(1800,861);
         
         
            Window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Window.setLocationRelativeTo(null);
            Window.setAutoRequestFocus(true);
            Window.setResizable(false);
            Window.requestFocus();
         
            Window.setIconImage(getToolkit().getImage("src/Icon.jpg"));
            Window.setVisible(true);
        }
     
     
     
        public static void main(String[] args)
        {
         
            new Methoden();      
            new SearchingSystem();
        }
    }



     
    Meine Methoden Klasse:
    Code (Text):


    import java.awt.Font;

    import javax.swing.JFrame;
    import javax.swing.JLabel;

    @SuppressWarnings("serial")
    public class Methoden extends JFrame
    {
     
        Window window = new Window();
     
        private JLabel MadeBy = new JLabel();
        private JLabel Version = new JLabel();
     
     
        public void setText(String text)
        {
         
            MadeBy.setText(text);
            Version.setText(text);
         
        }
     
     
        public Methoden()
        {
         
            MadeBy.setBounds(200,200,200,200);
            MadeBy.setText("ggnhfzhjrhzrhtzur");
            MadeBy.setFont(new Font("Calibri", 0, 30));
            MadeBy.setLayout(null);
         
            Version.setBounds(300,300,200,200);
            Version.setText("gfothgighidkh");
            Version.setFont(new Font("Calibri", 0, 17));
            Version.setLayout(null);
         
         
         
            window.adding(MadeBy);
            window.adding(Version);
        }

    }
     
    Und zum Schluss noch meine SearchingSystem Klasse
    Code (Text):


    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JPanel;
    import javax.swing.JTextField;

    import me.doxing.base.Peoples.testperson;

    @SuppressWarnings("serial")
    public class SearchingSystem extends JTextField
    {
     
        Window window = new Window();
     
        private JPanel Panel = new JPanel();
     
        private JTextField Searching = new JTextField();
     
        public SearchingSystem()
        {
            Searching = new JTextField("htgzrftgrhthgrfthgre", 15);
         
            Searching.addActionListener(new ActionListener()
            {

                @Override
                public void actionPerformed(ActionEvent e)
                {
                    String input = Searching.getText();
                    if(input.equals("test"))
                    {
                     
                        new testperson();
                     
                    }
                }
            });
         
         
            Panel.add(Searching);
            window.adding(Panel);
         
        }
    }
     
    Nun...
    Es werden 2 Fenster geöffnet in einem sind die JLabels und in einem ist der JTextField
    Also keine Ahnung was ich da schon wieder hinbekommen habe sitze schon wieder 1 Stunde verzweifelt vorm Rechner und suche nach dem Fehler
     
  10. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Du solltest dich noch mal mit den Grundlagen von OOP beschäftigen ;)


    Was soll den SearchingSystem sein?
     
  11. DoppelFabi
    DoppelFabi Mitglied
    Das ist einfach nur ein JTextField mit ActionListener wo man z.b mrBrown eingibt und dann soll halt die Klasse mrBrown aufgerufen werden und dann werden paar Information über z.b. dich angezeigt also name, alter, wohnort, religion etc.
     
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

add Methode funktioniert nicht. - Ähnliche Themen

Statische Methode return funktioniert nicht.
Statische Methode return funktioniert nicht. im Forum Java Basics - Anfänger-Themen
Bild über Methode ändern funktioniert nicht
Bild über Methode ändern funktioniert nicht im Forum Java Basics - Anfänger-Themen
Methodenaufruf funktioniert nicht richtig
Methodenaufruf funktioniert nicht richtig im Forum Allgemeine Java-Themen
Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk"
Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" im Forum Java Basics - Anfänger-Themen
Methode in Klasse funktioniert nicht
Methode in Klasse funktioniert nicht im Forum Java Basics - Anfänger-Themen
Thema: add Methode funktioniert nicht.