Veröffentlicht 29. August 200817 j Hey Leuts, ich versuche gerade meinem JFrame eine Gui yu verpassen...genauer moechte ich 3 labels an die raender setzen um den Frame zu umrahmen...ich habe das gleiche schon einmal bei einem normalen fenster gemacht,...beim JFrame klappts allerdings nicht...hier mein Quellcode: import java.awt.BorderLayout; import java.awt.Color; import javax.swing.*; public class PopUp extends JFrame { JFrame frame; private JTextField filterApplication, filterUsername; private JButton searchButton; private JLabel southLabel, eastLabel, westLabel; PopUp() { frame = new JFrame("PopUp zum hinzufuegen eines Passwort/Application Paars"); frame.setSize(500, 300); frame.setLocation(130, 75); frame.setVisible(true); //Panel erstellen JPanel topPanel = new JPanel(); JPanel downPanel = new JPanel(); JPanel eastPanel = new JPanel(); JPanel westPanel = new JPanel(); topPanel.setBackground(Color.lightGray); downPanel.setBackground(Color.lightGray); eastPanel.setBackground(Color.lightGray); westPanel.setBackground(Color.lightGray); filterApplication = new JTextField(20); filterApplication.setText("Benutzeroberfläche"); filterUsername = new JTextField(20); filterUsername.setText("Benutzernamen"); searchButton = new JButton("Suchen"); southLabel = new JLabel("© by Nico Buschkamp"); eastLabel = new JLabel(""); westLabel = new JLabel(""); topPanel.add(filterApplication); topPanel.add(filterUsername); topPanel.add(searchButton); downPanel.add(southLabel); eastPanel.add(eastLabel); westPanel.add(westLabel); this.getContentPane().add(topPanel, BorderLayout.NORTH); this.getContentPane().add(downPanel, BorderLayout.SOUTH); this.getContentPane().add(eastPanel, BorderLayout.EAST); this.getContentPane().add(westPanel, BorderLayout.WEST); } public static void main(String[] args) { PopUp popUp = new PopUp(); } } habe ich etwas uebersehen? danke schon einmal im vorraus gruss fontys-tipc
29. August 200817 j beim JFrame klappts allerdings nicht...Wie äussert sich denn dieses "klappt nicht"? Wird überhaupt etwas angezeigt? Wenn ja: Was? Spontan würde mir bei dem Quellcode einfallen: Der Aufruf von JFrame#setLayout(new BorderLayout()); fehltWieso erweiterst du JFrame und hast zusätzlich noch ein JFrame als Property? Das sieht schon seltsam aus.
29. August 200817 j es erscheint lediglich das schlichte fenster...keine labels nix Hast du das hier probiert: Der Aufruf von JFrame#setLayout(new BorderLayout()); fehlt Wenn nein: Warum nicht? Hast du schonmal ein Swing-Tutorial gelesen? Wenn nein: machen!
31. August 200817 j es erscheint nichts weil du erzeugt ganz brav ein frame. aber einfügen tust du die labels dann in "this". das is ja ein anderes frame. wie mein kollege schon bemerkt hat ist es sehr komisch das du 2 frames hast. und hier ist es dein fehler!!
31. August 200817 j ah alles klar,...hab den fehler mit den frames behoben und das layout auch auf borderlayout gesetzt...nun klappts...dangööö
1. September 200817 j Entwerder machst du das JFrame über "extends JFrame" dann ist deine tgesamte klasse ein JFrame mit allen Methoden von JFrame und so. Oder legst du dir ein eigenes JFrame als Objekt innerhalb der Klasse an. Du hast hier die beiden möglichkeiten netterweise vermischt. Lösch mal das extends JFrame aus deinen Code raus und mach anstatt "this.getContentPane().add" einfach frame.getContentPane.add().
1. September 200817 j ah alles klar,...hab den fehler mit den frames behoben und das layout auch auf borderlayout gesetzt...nun klappts...dangööö genau das habe ich gemacht trotzdem danke
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.