Veröffentlicht 22. April 200916 j Hi... Hab ein problem beim positionieren eines JLabels. super("Main"); setLayout(new BorderLayout()); setDefaultCloseOperation(EXIT_ON_CLOSE); status = new JLabel("ready to play..."); Headline = new JLabel(); Headline.setIcon(new ImageIcon("D:/imgs/headline.jpg")); game = new CardGame(this); game.init((rows * col) / 2, 80, 80); CardPanel cp = new CardPanel(rows,col); cp.populate(game.getCards()); add(BorderLayout.NORTH, Headline); add(BorderLayout.CENTER, cp); add(BorderLayout.SOUTH, status); pack(); setVisible(true); setResizable(false); also das Fenster könnte bei jedem Start eine andere größe haben und das JLabel Headline müsste immer oben mittig sein. also das es oben steht hab ich ja schon geschafft :bimei Gruß...
22. April 200916 j Und warum willst du unbedingt dass das JLabel mittig ist? Wenn du den BorderLayoutManager benutzt, dann wird das JLabel über die gesamte Breite deines Fensters ausgedehnt und auf die Höhe die es braucht. Wenn du jetzt die Ausrichtung so einstellst, dass im JLabel alles mittag angezeigt wird, dann dürfte dass doch das Ergebnis sein, was du willst, oder?
24. April 200916 j also das JLabel benutze ich um ein bild anzuzeigen, als überschrift. Und die fenster groeße ist variabel, wenn die fenster größe nun zu groß ist wird es linksbündig angezeigt. weiß nicht genau wie ich das bild zentriert ins JLabel bekomme. werd heut abend nochmal gucken. Oder villt eine andere idee wie ich das bild oben mittig hinbekomme? Bearbeitet 24. April 200916 j von elSusto
24. April 200916 j Ich wollte erstmal deine Antwort abwarten, aber meine Idee war gleich, den oberen Bereich, der das Bild umfasst, in nem eigenen Panel zu halten und diesem wiederum dein Bild hinzuzufügen mit BorderLayout.CENTER. Ich denk so müsste es gehen.
24. April 200916 j weiß nicht genau wie ich das bild zentriert ins JLabel bekomme. Da ist die Java Doc dein Freund und Helfer: JLabel#setHorizontalAlignment(int)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.