In Layout, Layout einfügen .

Status
Nicht offen für weitere Antworten.

LongDongLude

Mitglied
Wie mache ich es nochmal das ich z.b. in ein BoarderLayout im westen ein gridLayout mache. versteht ihr was ich meine. ein codebeispiel wäre super. Danke mal.
 
dazu must du ein extra Frame in den Westen setzten, und dem dann das gridLayout geben

eher Pseudocode
Code:
gridFrame.setLayout(GridLayout);
borderFrame.add(gridFrame,west);
 
"extra Frame"? Du meinst wohl ein Panel...

Code:
import java.awt.*;
import javax.swing.*;

public class LayoutTest extends JFrame {
   public LayoutTest(String title) {
      super(title);
      Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
      setSize((int)dim.width*60/100, (int)dim.height*60/100);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      
      JPanel westPanel = new JPanel(new GridLayout(0, 1));
      westPanel.setPreferredSize(new Dimension(getSize().width/4, 0));
      
      JLabel redLabel = new JLabel();
      redLabel.setBackground(Color.RED);
      redLabel.setOpaque(true);
      westPanel.add(redLabel);
      
      JLabel yellowLabel = new JLabel();
      yellowLabel.setBackground(Color.YELLOW);
      yellowLabel.setOpaque(true);
      westPanel.add(yellowLabel);
      
      JLabel greenLabel = new JLabel();
      greenLabel.setBackground(Color.GREEN);
      greenLabel.setOpaque(true);
      westPanel.add(greenLabel);
      
      add(westPanel, BorderLayout.WEST);
   }

   public static void main(String[] args) {
      try {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      }
      catch(Exception e) {
         e.printStackTrace();
      }
      new LayoutTest("LayoutTest").setVisible(true);
   }
}
 
Ein Panel ist ein Panel und ein Frame ist ein Frame. Ein Panel ist ein Container in dem Sachen dargestellt werden können. Aber ein Panel benötigt auch eine "Übergeordnete" Componente, damit es irgendwo angezeigt werden kann. Diese Aufgabe kann z. B. ein Frame übernehmen. => Ein Frame ist ein Fenster.

Ziemlich deutlicher Unterschied 😉 .
 
aber! ein frame ist auch Container in dem Sachen dargestellt werden können

ziemlich deutliche Ähnlichkeit 😉
 
UML:

Frame --1-------------------------*-- Panel

Ein Panel gehört zu genau einem Frame, aber ein Frame enthält mindestens ein, auch mehrere möglich, Panel(s).

aus dem englischen:
Frame -> Rahmen/Gestell
Panel -> Füllelement


man kinnex 🙂
 
Allein die Tatsache, dass ein Frame ein Fenster ist und ein Panel nicht sollte mehr als deutlich den Unterschied klarmachen :roll:
 
@jojo du hast doch bestimmt schonmal HTML programmiert :lol:
dort ist auch von frameset, oder so ähnlich, die rede, und nicht von panelset :autsch:
 
Hobbit_Im_Blutrausch hat gesagt.:
mika.fhdw hat gesagt.:
HTML programmiert :lol:

Ich mag Leute, die sich als Programmierer sehen und damit angeben, nur weil sies geschaft haben nen html-head-body tag zu definieren :roll:
deswegen auch das ":lol:" (LOL) 😉

mir ist die ironie schon bewusst gewesen, aber ich liebe es zu sehr, diese zu gebrauchen.
das hat aber andere hintergründe, als du die dir vll ausmalen kannst 😉
 
joa, weiß scho wie du das gemeint hast und die Hintergründe sind schon lange voll mit vielen bunten Farben 😉 . Wollte nur nochma meinen Senf dazu geben :lol:
 
ok, stattgegeben 😉
was machen wir aber jez mit deinem senf? wo ist die wurst? willst du ne party schmeißen? wenn ja, bin ich dabei 😎

aber um zurück zum thema zu kommen:

einfach neues panel erstellen und dem nen gridlayout geben und dem borderlayout-panel hinzufügen
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben