Hi,
ganz kurz zu mir:
Ich habe C++ gelernt und mit Qt schon einige private Projekte erfolgreich umgesetzt.
Ich versuche mich jetzt in Java und muss feststellen das sich sehr viel ähnelt. Gerade swing mit JLabel was in Qt QLabel ist etc.
Auch die ganzen Layouts sind gleich, wodurch es mir Spaß macht, damit java zu lernen.
Aber!
Was ich in c++ bzw. Qt nicht hatte, war das Problem mit dem setVisible mit Jframe.
Wenn ich das richtig verstanden habe, muss man wirklich nach jeder Änderung im JFrame, diesen neuladen in dem man erneut JFrame auf setVisible(true); setzt ?
ich versuche mich nämlich gleich wieder an einem eigenen projekt.
Dort möchte ich mit jsoup eine html seite parsen.
Da ich Anfänger bin, hab ich es ganz einfach gehalten.
Aufbau:
MenuBar -> Menu ("Seite") -> MenuItem("Laden")
mit einem ActionListener lasse ich die Methode sLaden(); aufrufen.
in sLaden jabe ich ein JPanel , einen Button und ein Label erstellt.
wenn ich auf den Button drücke, dann soll er mir im JLabel den header title der geparsten HMTL Seite anzeigen.
Nun habe ich das Problem, das ich JFrame bereits für den Button auf visible gesetzt habe.
Da der Button nun einen ActionListener hat und ein bereits vorhandenes JLabel neu geladen werden muss, müsste ich ja erneut JFrame auf visible true setzen.
Wenn ich das mache, zeigt er mir anschließend jedoch 2 buttons an.
Wenn ich im ActionEvent erst das JLabel in das JPanel einfüge , dann bekomm ich nach jedem klick einen "weiteren" JLabel angezeigt.
Wie ist hier die richtige vorgehensweise ?
Ich möchte nur einen button und ein leeres Label.
Wenn ich den Button drücke, soll das JLabel gefüllt werden.
Wenn ich ihn erneut drücke, dann soll das JLabel einfach nur überschrieben werden.
Hab auch schon probiert, im ActionEvent vom Button, als erstes das Label auf =""; zu setzen und danach erst zu füllen, damit es überschrieben wird, aber auch das geht nicht.
Ich glaube dann wurde es nicht angezeigt.
Ich bin leider aktuell auf arbeit und habe kein Quellcode zur Hand.
hat jemand eine Idee, was ich hier beachten muss und wie das
mit dem JFrame visible true genau funktioniert? reicht das nicht 1 mal?
Danke schon einmal.
MFG
ganz kurz zu mir:
Ich habe C++ gelernt und mit Qt schon einige private Projekte erfolgreich umgesetzt.
Ich versuche mich jetzt in Java und muss feststellen das sich sehr viel ähnelt. Gerade swing mit JLabel was in Qt QLabel ist etc.
Auch die ganzen Layouts sind gleich, wodurch es mir Spaß macht, damit java zu lernen.
Aber!
Was ich in c++ bzw. Qt nicht hatte, war das Problem mit dem setVisible mit Jframe.
Wenn ich das richtig verstanden habe, muss man wirklich nach jeder Änderung im JFrame, diesen neuladen in dem man erneut JFrame auf setVisible(true); setzt ?
ich versuche mich nämlich gleich wieder an einem eigenen projekt.
Dort möchte ich mit jsoup eine html seite parsen.
Da ich Anfänger bin, hab ich es ganz einfach gehalten.
Aufbau:
MenuBar -> Menu ("Seite") -> MenuItem("Laden")
mit einem ActionListener lasse ich die Methode sLaden(); aufrufen.
in sLaden jabe ich ein JPanel , einen Button und ein Label erstellt.
wenn ich auf den Button drücke, dann soll er mir im JLabel den header title der geparsten HMTL Seite anzeigen.
Nun habe ich das Problem, das ich JFrame bereits für den Button auf visible gesetzt habe.
Da der Button nun einen ActionListener hat und ein bereits vorhandenes JLabel neu geladen werden muss, müsste ich ja erneut JFrame auf visible true setzen.
Wenn ich das mache, zeigt er mir anschließend jedoch 2 buttons an.
Wenn ich im ActionEvent erst das JLabel in das JPanel einfüge , dann bekomm ich nach jedem klick einen "weiteren" JLabel angezeigt.
Wie ist hier die richtige vorgehensweise ?
Ich möchte nur einen button und ein leeres Label.
Wenn ich den Button drücke, soll das JLabel gefüllt werden.
Wenn ich ihn erneut drücke, dann soll das JLabel einfach nur überschrieben werden.
Hab auch schon probiert, im ActionEvent vom Button, als erstes das Label auf =""; zu setzen und danach erst zu füllen, damit es überschrieben wird, aber auch das geht nicht.
Ich glaube dann wurde es nicht angezeigt.
Ich bin leider aktuell auf arbeit und habe kein Quellcode zur Hand.
hat jemand eine Idee, was ich hier beachten muss und wie das
mit dem JFrame visible true genau funktioniert? reicht das nicht 1 mal?
Danke schon einmal.
MFG