Problem mit dem Layout - 3 JPanel's

Status
Nicht offen für weitere Antworten.
S

Stegi

Gast
Hi,

habe ein fragen. Ich will mein Fenster in zwei teile teilen. Ich weis aber nicht mit welchen Layout typ ich das hinkriege.
das ergebnis soll so aussehen:
..........................................
: :
: :
: :
: :
: :
: :
: :
: :
:........................................:
: :
:........................................:

mit dem GridLayout(2,0) teil er das ding genau in der hälte, dass sollst aber nicht!

hmm.... hab es nicht besonders gut erklärt nehme ich an. Aber ich hoffe mir kann trozdem wer helfen!

danke!
 
R

Roar

Gast
hm du könntest eine bzw. zwei JSplitPanes benutzen, dort deine komponenten links und rechts hinsetzen und die splitpane dem frame adden.

oder du benutzt nen BorderLayout.
aus deiner zeichnung werd ich auch nich schlau
 
G

Guest

Gast
ich habe schon so viel versucht. sämtlich Layout Manager oder setLayout(null). Aber es klappt nichts.

ich liste mal den code

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.BufferedImage;
import javax.imageio.*;
import java.io.*;

public class Kalaha extends JFrame implements ActionListener {
  // Anfang Variablen
  private ButtonGroup menuSettingBeginnerModus;
  BufferedImage bild;                            //Referenz auf das aktuelle Bild
  BildLeinwand leinwand, startbild;                         //JPanel zum Anzeigen des Bildes
  // Ende Variablen

  
  //inner Klasse zum Überschreiben von paintComponent()
  class BildLeinwand extends JPanel{
    public void paintComponent(Graphics g){
      if(bild!=null)
        g.drawImage(bild, 0, 0, this);
    }
  }
  public Kalaha(final String title) {

    // Frame-Initialisierung
    super(title);
    startbild = new BildLeinwand();
    getContentPane().add(startbild, BorderLayout.CENTER);
    addWindowListener(new WindowAdapter() {
      public void windowOpened(final WindowEvent evt){ startBild();  }
      public void windowClosing(final WindowEvent evt) { System.exit(0); }
    });
    final int frameWidth = 810;
    final int frameHeight = 580;
    setSize(frameWidth, frameHeight);
    Container cp = getContentPane();
    // Anfang Komponenten
    //Menüleiste
    JMenuBar menuLeiste = erzeugeMenueLeiste();
    setJMenuBar(menuLeiste);

    //Eine Leinwand anlegen (von JPanel abgeleitet)
    leinwand = new BildLeinwand();
    cp.add(leinwand, BorderLayout.CENTER);

    // Ende Komponenten

    setVisible(true);
  }
  // Stellt die Menüleiste zusammen
  private JMenuBar erzeugeMenueLeiste(){
    ....
    
    return menueLeiste;
  }
  // Anfang Ereignisprozeduren
  public void actionPerformed(ActionEvent e){
    if(e.getActionCommand().equals("Beenden"))
    { int auswahl = JOptionPane.showConfirmDialog(this,
                       "Möchten Sie wirklich das Spiel beenden?", "Spiel beenden?",
                       JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
      if(auswahl==JOptionPane.YES_OPTION)
       System.exit(0);
    }
    if(e.getActionCommand().equals("Neues Spiel")){
      bildOeffnen();
    }
  }
  // Ende Ereignisprozeduren
  //Methode zum öffnen des aktuellen Bildes
  protected void bildOeffnen(){
    try{
      bild = ImageIO.read(new File("images/brett_o.png"));
      leinwand.repaint();
    }catch(IOException e){
      bild = null;
    }
  }
  protected void startBild(){
    try{
      bild = ImageIO.read(new File("images/kalaha.png"));
      leinwand.repaint();
    }catch(IOException e){
      bild = null;
    }
  }
  public static void main(final String[] args) {
    new Kalaha("Kalaha");
  }
}

Es funkt ja soweit zu beginn, also mit dem öffnen wird das startbild geladen.
dann wenn ich über <Spiele> <neues Spiel> klicken kommt ein neues Bild, aber diese Bild soll nun dich die gesamte fläsche belegen, sonder ich will unter einen Streifen frei lassen, wo ich Labels etc. einbauen kann (für Spielstände und Infos)

Kann mir wer helfen?
 
R

ronny

Gast
Hallo,

du solltest folgendes probieren... so wie das ausschaut, möchtest du oben etwas darstellen und unten so ne art buttonview basteln die fest ist:

baue für jede darstellung eine eigene view (... extends jpanel) die du dann in einem "mainjpanel" mit borderlayout zusammenfügst. Dort nimmst du den oberen teil als Borderlayout.CENTER und das, was du unten darstellen möchtest als Borderlayout.SOUTH. Welchen Layoutmanager die Komponenten haben ist egal. Unten könnten z. b. die buttons mit nem flowlayout zusammengesetzt sein.
Wichtig ist nur, das die views wieder in einem jpanel mit layoutmanager zusammengebaut werden. Dadurch erhältst du noch nebenbei eine schöne Gliederung, die dein code übersichtlicher macht.

Noch ein Tip: der Mainframe wird grad von dir für alles mögliche hergenommen.
lagere den mainframe noch aus als eigene klasse und baue dann eine art "runner"
der nichts anderes tut als den mainframe zu instanzieren und zu starten.

z. B. so

Code:
public class MainApp {

	public static void main(String[] args) {
		TestFrame frame = new TestFrame();
		frame.setTitle("DirectoryTree");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);

	}
}


der testframe (uhm, jetzt mainframe..) schaut dann ungefähr so aus:

Code:
public class MainFrame extends JFrame {
	
...

	public MainFrame() {
		listeners = new ArrayList();
		
		MainFrameController controller = new MainFrameController();
		
		BorderLayout layout = new BorderLayout();
		getContentPane().setLayout(layout);
		
		main = new SqlBrowserView();
		getContentPane().add(main, BorderLayout.CENTER);
		main.addActionListener(controller);
		
		JMenuBar bar = new JMenuBar();
		
		JMenu file = new JMenu("File"); 
		bar.add(file);

		JMenuItem item1 = new JMenuItem("open");
		file.add(item1);
		file.addSeparator();
		
		JMenuItem item2 = new JMenuItem("Exit");
		file.add(item2);
		item2.addActionListener(controller);
		item2.setActionCommand(AllActionCommands.ACTION_EXIT);
		
		getContentPane().add(bar, BorderLayout.NORTH);
		setSize(1000, 500);
		
		addWindowListener(controller);
		
	}
...
}


Die hier eingefügte SqlBrowserView ist genau so eine view mit oben ein paar eingabefeldern, in der mitte ein freies
feld und unten eine buttonview (das wäre dann bei dir die sache mit den spielständen, etc.) -> alles eigene views die
von jpanel abgeleitet sind.

Code:
...
	public SqlBrowserView() {
		listeners = new ArrayList();

		head = new KopfzeileView();
		browser = new BrowserView(); 
		fuss = new FussZeileView();
		
		BorderLayout layout = new BorderLayout();
		setLayout(layout);
		add(head, BorderLayout.NORTH);
		add(browser, BorderLayout.CENTER);
		add(fuss, BorderLayout.SOUTH);
		
		fuss.addActionListener(new SqlBrowserController());
	}
...

so, ich hoffe, ich hab deine frage nich völlig falsch verstanden und konnte dir ein wenig weiterhelfen......
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JPanel Layout Problem AWT, Swing, JavaFX & SWT 11
D Layout Problem / JTree und JPanel AWT, Swing, JavaFX & SWT 4
S Layout - Problem AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
F Layout-Problem AWT, Swing, JavaFX & SWT 2
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
A SWT Layout Problem AWT, Swing, JavaFX & SWT 15
K Swing Layout-Problem mit JTables und JLists (Mindestgrößen) AWT, Swing, JavaFX & SWT 11
N SWT Einfaches Problem beim Layout AWT, Swing, JavaFX & SWT 8
V Layout Problem AWT, Swing, JavaFX & SWT 5
I Layout Problem beim Skalieren AWT, Swing, JavaFX & SWT 3
T Null Layout Problem. AWT, Swing, JavaFX & SWT 3
M Layout Problem: Zentriern in Panel AWT, Swing, JavaFX & SWT 3
M Layout-Problem: JTable AWT, Swing, JavaFX & SWT 3
A Layout-Problem AWT, Swing, JavaFX & SWT 5
W SWT, Anordung von Elementen - Layout Problem ? AWT, Swing, JavaFX & SWT 2
I Null-Layout-Problem AWT, Swing, JavaFX & SWT 2
M Problem mit NULL-Layout AWT, Swing, JavaFX & SWT 2
M Problem mit Layout wegen Textarea AWT, Swing, JavaFX & SWT 3
G Layout Problem AWT, Swing, JavaFX & SWT 6
M Layout / setSize Problem AWT, Swing, JavaFX & SWT 15
M Layout Problem (GrudBag- + BorderLayout) AWT, Swing, JavaFX & SWT 6
M Layout-Problem, Größe von Komponenten AWT, Swing, JavaFX & SWT 3
S Wiedermal SWT-Layout-Problem AWT, Swing, JavaFX & SWT 6
S SWT - Simples Layout Problem AWT, Swing, JavaFX & SWT 9
M Layout Problem, Ideen gesucht AWT, Swing, JavaFX & SWT 7
H Problem mit Layout Fenstern (Swing) AWT, Swing, JavaFX & SWT 3
M Layout Problem AWT, Swing, JavaFX & SWT 3
N Layout-Problem (JScrollPane, GridBagLayout) AWT, Swing, JavaFX & SWT 3
D Layout-Problem AWT, Swing, JavaFX & SWT 8
M Problem mit Layout/JLabel AWT, Swing, JavaFX & SWT 5
D Layout Problem mit Überdeckung AWT, Swing, JavaFX & SWT 6
J Kleines Layout Problem AWT, Swing, JavaFX & SWT 5
G Layout-Problem AWT, Swing, JavaFX & SWT 4
G Problem mit JDialog-Layout AWT, Swing, JavaFX & SWT 4
F Problem mit Panel-Layout AWT, Swing, JavaFX & SWT 3
M Layout Problem. AWT, Swing, JavaFX & SWT 6
E Problem mit GridBag Layout AWT, Swing, JavaFX & SWT 2
G Layout Problem AWT, Swing, JavaFX & SWT 3
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben