Brauche Layout Hilfe

Status
Nicht offen für weitere Antworten.

najjannaj

Aktives Mitglied
Hi,
ich möchte gerne folgendes Layout erstellen:


layout.gif


http://www.maep.de/layout.gif

wobei das Gelbe nur ein Label ist(ist auf der Zeichung fallsch gezeichnet)!
Kann mir da jemand ein Layout schreiben oder mir Zumindest einen Tip geben, welche Layouts und wie ich die Verwenden muss?? (http://java.sun.com/docs/books/tutorial/uiswing/layout/example-1dot4/index.html#GridBagLayoutDemo <-- hab ich schon gelesen bring tmich auch nicht weiter!)
Wäre für jeden erdenklichen Tip sehr Dankbar!
Vielen Dank auch schonmal im Vorraus!
Mit freundlichen Grüßen
najjannaj


----------------------------------
[schild=1 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Java-Forum4Ever[/schild]
 
R

ronny

Gast
Hallo,

ich würde deine anzeige in mehrere jpanels unterteilen.

eine view (... extends jpanel) für oben (was auch immer albumtitle sein mag...)
eine view für das label und textArea (zusammengefasst mit gridlayout 1 spalte, 2 zeilen o. ä. geht auch mit borderlayout
center für label und south für textarea.... je nach geschmack..)
eine view für die buttons (die wiederum mit boxlayout oder flowlayout anordnen)

dann die 3 views zusammenpacken und in eine neue view zusammenfassen:
für diese nimm das borderlayout die oben .NORTH, die zusammengesetzte aus label und textfield in .CENTER und die Button .SOUTH....

damit erreichst du, dass der mittlere teil "dynamisch" ist. die buttons und der titel oben bleiben "fest".

wenn du das label wirklich scrollbar machen willst, dann baue nochmals eine eigene view mit scrollbar die eine jlabel beinhaltet.

musst a bisserl rumprobieren aba damit solltest du weiter kommen.

wenns probleme dann mit eventhandling gibt einfach nochma posten...
 

najjannaj

Aktives Mitglied
Und wie geht das im großen und ganzen?? So grundsüge weiß ich schon! Nur der rest fehlt :) Wäre echt cool wenn ihr mir nochweiterhelfen würdet! Das Label will ich nicht mit ner Scrollbar machen! Das war keine Absicht! Falsches Visio Objekt!
Danke im Vorraus!
Mit freundlichen Grüßen
Jan
 
R

ronny

Gast
ufff, nagut, hier ein bisschen code..... achtung alles nich komplett und ohne gewähr..
geht sicher alles noch viel schöner und toller mit gridbaglayout, insets und weiß der geier was... -> wer zeit hat :wink:


also zuerst die view für die buttons....

Code:
public class ButtonView extends JPanel {

	private JButton button1;
	private JButton button2;
	
	private List listeners;
	
	public ButtonView() {
		listeners = new ArrayList();
		initControl();
	}

	/**
	 * 
	 */
	private void initControl() {
		FlowLayout layout = new FlowLayout();
		setLayout(layout);

		ButtonViewController controller = new ButtonViewController();
		
		button1 = new JButton("button1");
		button1.setActionCommand("actionbutton1");
		button1.addActionListener(controller);
		add(button1);
		
		button2 = new JButton("button2");
		button2.setActionCommand("actionbutton2");
		button2.addActionListener(controller);
		add(button2);

		//usw.
	}

.... // usw.

dann baust du eine für die "mitte".....

Code:
public class MiddleView extends JPanel {

	public MiddleView() {
		GridLayout layout = new GridLayout(2, 1);
		setLayout(layout);
		
		JLabel label = new JLabel();
		add(label);
		
		JTextArea area = new JTextArea(10,20);
		
		JPanel textAreaWithBorder = new JPanel();
		textAreaWithBorder.setBorder(new CompoundBorder(new TitledBorder(null,
                "Kommentar", TitledBorder.LEFT, TitledBorder.TOP), null));
		textAreaWithBorder.add(area);
		add(textAreaWithBorder);
	}

.... //usw.

}


eine für die überschrift... vielleicht kommt da ja irgendwann noch mehr rein

Code:
public class HeadView extends JPanel {

	public HeadView() {
		JLabel header = new JLabel("Ueberschrift");
		add(header);
	}
}


soooo, das ganze baust du ungefähr so zusammen...

Code:
public class MainView extends JPanel {


	public MainView() {
		HeadView head = new HeadView();
		MiddleView middle = new MiddleView(); 
		ButtonView buttons = new ButtonView();
		
		BorderLayout layout = new BorderLayout();
		setLayout(layout);
		add(head, BorderLayout.NORTH);
		add(middle, BorderLayout.CENTER);
		add(buttons, BorderLayout.SOUTH);

	}
}


ächz, nun noch n frame drumrum:

Code:
public class MainFrame extends JFrame {

	public MainFrame() {
		//listeners = new ArrayList();
		
		BorderLayout layout = new BorderLayout();
		getContentPane().setLayout(layout);
		setResizable(false);
		MainView view = new MainView();
		getContentPane().add(view, BorderLayout.CENTER);
		//main.addActionListener(controller);
	}
}

und starten mit:

Code:
public class Runner {

	public static void main(String[] args) {
		MainFrame frame = new MainFrame();
		frame.pack();
		frame.setVisible(true);
	}
}


soooooooo, damit hättest du im groben das layout.... events hab ich jetzt keine eingebaut -> selber probieren!
du musst nur von den jeweiligen views die actions quasi bündeln und entsprechend weiterleiten und
dann abarbeiten.... jenachdem was du damit vorhast...

der stil hier ist zwar aufwendig aber wiederverwendbar..... z. b. kannst du die buttonview für alles mögliche hernehmen... solche gibts ja öfters...

soweit so gut... viel spass!!!!
 

najjannaj

Aktives Mitglied
Hallo ronny,
du bist ab jetzt mein JAVA-Gott! Geil, genau so wollte ich es! Bohrr. Danke! Hey echt cool! Vielen Dank nochmal, muss jetzt nur noch das Prob mit dem ActionListener hinbekommen! Ich versteh das noch nicht so ganz! :( Werd halt mal rumbrobieren! Aber ist echt verdammt gut geworden! Vielen Tausend Dank!
Liebe Grüße
najjannaj
 
R

ronny

Gast
wow, vielen dank!

naja, man kann da natürlich noch einiges besser und schöner machen....
aber wenn es dir soweit erstmal reicht dann ist es super!

am anfang ist es halt erstmal wichtig, dass man nen groben plan
bekommt, wie so ne gui funktioniert und wie ich komponenten
anordnen und wieder in andere komponenten packen kann etc....
daher diese strikte einteilung in eigene geschachtelte views.

du kannst das selbstverständlich auch alles in eine klasse packen
und dann mit dem observer/obserable interfaces arbeiten um
die events abzudecken. das ist am anfang einfacher und vielleicht
fürs verständnis besser, als hart alle sender und empfänger selbst
zu bauen......

dann erstmal viel spass beim rumwerkeln!!! :)
 

najjannaj

Aktives Mitglied
ach du meine Güte, ich versuch seit heute morgen(7.00Uhr) die Befehlsabfrage zu bewältigen! :(
Die Knöpfe müssen eigentlich nichts schwieriges machen, z.b muss ein Knopf unten nur zum Beispiel die Zeile "Hallo" ausgeben aber nur in die Console also:

Code:
System.out.println("Hallo");

mehr nicht! Zumindest fürs erste nicht! Wie kann ich da jetzt denn knöpfen das zuweißen! Ich steh wieder voll aufm Schlauch! Wäre echt cool wenn du mir nochmal helfen könntest, da ich das bis Montag fertig haben muss! Wäre dir echt sehr Dankbar!

Mit freundlichen Grüßen
Jan Löbel


P.S. Hast du ICQ? Keine Sorge, ich würde dich nicht streßen, nur um vllt 1oder2 weitere Probleme nachzufragen??
 
R

ronny

Gast
ok, das is nich so schwierig

du musst natürlich deinem button nen actionlistener mitgeben, damit der sich
dann drum kümmern kann, wenn der button geklickt wurde.

das machst du einfach in deiner View mit: (siehe auch schon weiter oben... da muss auch das ActionCommand beim button gesetzt sein.....)



Code:
.
.
ButtonViewController con = new ButonViewController();

button1.setActionCommand("actionbutton1");
button1.setActionListener(con);

.
.

den ButtonViewController realisierst du als private klasse (normalerweise)

Code:
	private class ButtonViewController implements ActionListener {
		/* (non-Javadoc)
		 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
		 */
		public void actionPerformed(ActionEvent e) {
			//fireActionEvent(new ActionEvent(ButtonView.this, e.getID(), e.getActionCommand()));
			
			if (e.getActionCommand().equals("actionbutton1")) 
				System.out.println("button 1 geklickt!");
			else if (e.getActionCommand().equals("actionbutton2"))	
				System.out.println("button 2 geklickt!");
		}
	}

so kannst du die actions "abfangen" und abarbeiten...

EIGENTLICH sollte die view maximal entkoppelt sein um beste wiederverwendbarkeit zu garantieren....
das ist die zeile, die auskommentiert ist... diese würde die action an "weiter oben" liegende views weiterleiten, die sich an der Buttonview als listener registriert haben. (wenn du das brauchst, musst du geeignete methoden dafür bereitstellen... addxylistener, removexylistener, firexyevent)

die dort natürlich wieder abgefangen werden und evtl. weitergeleitet oder abgearbeitet werden..
aber ok, wenn dir das so reicht wie oben, dann mach es so...

damit solltest du weiterkommen...

achja, eventhandling ist nicht so trivial auf den ersten blick... das dauert a bisserl, bis man das überrissen hat...
und es gibt zig verschiedene möglichkeiten der implementierung...
ist aba generell wichtig, weil man damit SAUGEILE sachen machen kann :)


icq hab ich nicht!
 

najjannaj

Aktives Mitglied
Hallo,
jetzt mal ohne Witz! Du hast es voll drauf! Genau so wollte ich das haben! Jetzt muss ich nur noch denn rest des Programmes hinbekommen, aber das dürfte ich auch noch so schaffen! Hast mir echt viel weitergeholfen!
Thank's a Lot!
Bis mein [schild=1 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]JAVA-GOTT[/schild]

Liebe Grüße
najjannaj
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Brauche Layout-Hilfe AWT, Swing, JavaFX & SWT 3
W JavaFX CSS und Vererbung - ich brauche nochmal etwas Nachhilfe AWT, Swing, JavaFX & SWT 28
J 2D-Grafik Brauche Erklärung von Methode AWT, Swing, JavaFX & SWT 1
B Swing Wann brauche ich repaint() ? AWT, Swing, JavaFX & SWT 1
J Swing Wann brauche ich @Override vor der paint()-Methode? AWT, Swing, JavaFX & SWT 1
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
D Ambitioniertes Projekt - Brauche Stichworte AWT, Swing, JavaFX & SWT 4
D Swing Wozu brauche ich getContentPane()? AWT, Swing, JavaFX & SWT 2
S Ich brauche eine Idee: Animation mit teil eines Bildes AWT, Swing, JavaFX & SWT 16
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
S Brauche genaustes Verstaendnis ueber JTextField AWT, Swing, JavaFX & SWT 3
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
W Brauche Swing-Experten AWT, Swing, JavaFX & SWT 4
P Welchen Listener brauche ich? AWT, Swing, JavaFX & SWT 7
G Welche Swing-Version brauche ich . AWT, Swing, JavaFX & SWT 6
S Wann brauche ich die prepareRenderer() Methode ? AWT, Swing, JavaFX & SWT 2
D Brauche einfachen HTML Editor AWT, Swing, JavaFX & SWT 2
M Ich habe Werte und Brauche Grafik! AWT, Swing, JavaFX & SWT 3
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5
M Brauche nur den Pfad zum Speichern AWT, Swing, JavaFX & SWT 8
M Brauche Hilfe zum Einbinden von eigener Schrfitart AWT, Swing, JavaFX & SWT 3
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
K Ich brauche GridBagLayout Hilfe AWT, Swing, JavaFX & SWT 4
S Frame, brauche dringend hilfe AWT, Swing, JavaFX & SWT 4
M Konsolenprg-Ausgabe in GUI geleitet - Brauche ich Threads? AWT, Swing, JavaFX & SWT 2
N ProgressBar --> brauche Hilfe AWT, Swing, JavaFX & SWT 4
Z Bei Problem mit Java Swing brauche dringende Hilfe AWT, Swing, JavaFX & SWT 3
O Brauche ich einen neuen Frame? AWT, Swing, JavaFX & SWT 2
V Brauche Hilfe beim Steuern des Sichtbereiches eines JPanel AWT, Swing, JavaFX & SWT 2
D Zoom problem!!! (brauche screenshot...) plz help thx AWT, Swing, JavaFX & SWT 7
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen

Neue Themen


Oben