Problem mit Layout

Ich löse es immer so, dass ich die Felder im Verhältnis zur Größe des Displays setze.
Wie machst du es dann, wenn du ein 19 Zoll Display hast und einer mit nem 21 Zoll Display benutzt dein Programm? Was ist wenn er die Anwendung maximiert?
Was ist wenn einer mit einem 17 Zoll Monitor deine Anwendung benutzt und das Fenster verkleinern muss(was natürlich noch schlimmer ist, als vergrößern)?

MFG

zEriX
 
Hm, hab ich dann einen Denkfehler?
Java:
Toolkit.getDefaultToolkit().getScreenSize();
int width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
shell.setSize(width, height);

Gilt das nicht für jeden Screen? Also ich pack das Projekt in ne jar, öffne sie auf nem anderen Rechner(19 zoll von mir aus;) ) und Toolkit soll dann immer noch die Werte von meinem Screen und nicht von dem 19zoller holen? Das fände ich aber sehr verblüffend;)
 
So setzt du die Fenstergröße zwar immer auf die Größe des Bildschirms, aber setzt du auch jede Componente so auf dem Fenster und berechnest die größe?

Dann ist immer noch das, was ist wenn du das Fenster verkleinerst?

MFG

zEriX
 
Das war doch jetzt nur ein kurzes Beispiel. Klar, ist das sehr viel Mehraufwand, aber immerhin klappt es doch so wie ich das möchte;) Wenn ich es Leid bin irgendwann mit soviel Getippe, werd ich mich vll mal wieder mit Layouts beschäftigen;)
 
Du verwendest doch SWT... Kennst Du Dich ein wenig mit HTML und Tabellen aus? Das kannst Du auf SWT mit dem GridLayout übertragen.
Du solltest Dir wirklich angewöhnen mit nem Layout zu arbeiten. Vereinfacht alles enorm und gerade wenn Du ein ERP programmieren mußt, wirst Du auf kurz oder lang nicht am LayoutManager vorbeikommen.
 
Hier ist mal ein Beispiel zum GridbagLayout unter Swing.

Code:
package de.tutorials.swing;

import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;

@SuppressWarnings("serial")
public class GridBagLayoutExample extends JFrame {

	public GridBagLayoutExample() {

		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setLocationRelativeTo(null);

		setLayout(new GridBagLayout());

		GridBagConstraints c = new GridBagConstraints();

		c.weightx = c.weighty = 1.0;
		add(new JButton("Button #1"), 0, 0, 4, 4, c);

		c.weightx = c.weighty = 0.0;
		add(new JButton("Button #2"), 4, 0, 1, 1, c);

		add(new JButton("Button #3"), 4, 1, 1, 1, c);

		add(new JButton("Button #4"), 4, 2, 1, 2, c);

		add(new JButton("Button #5"), 0, 4, 1, 1, c);

		add(new JButton("Button #6"), 2, 4, 1, 1, c);

		add(new JButton("Button #7"), 3, 4, 2, 1, c);

		add(new JButton("Button #8"), 1, 5, 1, 1, c);

		add(new JButton("Button #9"), 3, 5, 1, 1, c);

		pack();
	}

	private void add(Component c, int gridx, int gridy, int gridwidth,
			int gridheight, GridBagConstraints gbc) {

		gbc.fill = GridBagConstraints.BOTH;
		gbc.insets = new Insets(5, 5, 5, 5);

		gbc.gridx = gridx;
		gbc.gridy = gridy;
		gbc.gridwidth = gridwidth;
		gbc.gridheight = gridheight;
		add(c, gbc);
	}

	public static void main(String[] a) {
		new GridBagLayoutExample().setVisible(true);
	}
}


@Tobias
Wenn du sowas mit deiner Methode hinbekommst, respekt. ;-)

MFG

zEriX
 
Na dann werde ich mich da mal ransetzen ^^
Oder mich auch demnächst mit Layouts beschäftigen;):rolleyes:
 

Neue Beiträge

Zurück