3 Stimmen

Java-Layout-Probleme

In einem Projekt von mir habe ich versucht, ein JConsonle zu einem JPanel hinzuzufügen, das in einem anderen JPanel enthalten ist.

Das Problem ist, dass die JConsole hält 5px von der Oberseite des JPanel.at zuerst ich dachte, es war der Container, der warent beeing bis Recht, aber nachdem ich ihm einen roten Hintergrund erkannte ich, dass die Konsole 5px von oben gesetzt wird.

Ich habe auch versucht, BorderLayout zu verwenden, um es in der NORTH oder CENTER des JPanel setzen, aber das dosent Arbeit entweder.

Dies ist mein Code:

public class MonopolyPanel extends JPanel {

  JPanel consoleP = new JPanel();
  JConsole console = new JConsole();

  MonopolyPanel(){

   this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
   console.setPreferredSize(new Dimension(530, 300));  
   consoleP.add(console);
   this.add(consoleP);

  }
}

3voto

kleopatra Punkte 50122

Die Konsole wird zu consoleP hinzugefügt, die standardmäßig FlowLayout hat, das standardmäßig einen vertikalen und horizontalen Abstand von 5px hat. Instanziierung, die mit einem FlowLayout mit Null Lücken sollte den Trick tun

consoleP == new JPanel(new FlowLayout(align, 0, 0));

0voto

Kristof Punkte 11

Nach meiner Erfahrung ist das beste und flexibelste Layout das GridBagLayout.

99% der Panels in Swing, die ich mache, sind GridBagLayout, sonst ist es unmöglich, alles richtig zu machen.

Denn mit diesem Layout können Sie Gewichtungen, genaue Auffüllungen und Abstände festlegen.

Die anderen Layout-Manager sind zu begrenzt und nicht sehr konfigurierbar.

-1voto

Dogmatixed Punkte 794

Haben Sie sich angesehen Border s?

Es ist möglich, dass Sie die JPanel oder die JConsole in einen EmptyBorder umwandeln, etwa so:

component.setBorder(BorderFactory.createEmptyBorder());

Sie können auch in den Javadocs nach etwas über Einsätze suchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X