Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Button ausrichtung (Welche Formatierung?)

Empfohlene Antworten

Veröffentlicht

hallo zusammen,

Ich versuche zur zeit mir Java beizubringen(hab nur in c++ ahnung) und bin jetzt auf folgendes problem gestoßen:

So sieht das Programm jetzt aus:

Test.jpg

Und ich will aber, dass "Test" in der Mitte steht, darunter ein weiteres Labelfenster, indem später Daten ausgegeben werden,

dann Button 1 und 2 unter dem Label, Button 3 in der Mitte unter den beiden anderen Buttons,so wie jetzt auch nur gleich groß, und Button 4 unten rechts.....

Mein Quellcode sieht zur zeit so aus:

Test.java:

import java.awt.*;

public class Test extends Frame

{

private GridLayout myGridLayout = new GridLayout(2,0);

private MyWindowListener myWindowListener = new MyWindowListener();

private MyActionListener myActionListener = new MyActionListener();

private Button btn1 = new Button("1");

private Button btn2 = new Button("2");

private Button btn3 = new Button("3");

private Button btn4 = new Button("4");

private Panel pnlNorth = new Panel(new BorderLayout());

private Panel pnlCenter = new Panel(new GridLayout(2,0));

private Panel pnlSouth = new Panel(new FlowLayout(FlowLayout.RIGHT));

private Label lblUeberschrift = new Label("Test");

private Label lbl = new Label("");

public Test()

{

this.setTitle("Test");

this.lblUeberschrift.setFont(new Font("",Font.BOLD,16));

this.pnlNorth.add(lblUeberschrift);

this.setSize(300,300);

this.pnlNorth.add(btn1, BorderLayout.WEST);

this.pnlNorth.add(btn2, BorderLayout.EAST);

this.pnlCenter.add(btn3);

this.pnlSouth.add(btn4);

this.add(pnlNorth, BorderLayout.NORTH);

this.add(pnlCenter, BorderLayout.CENTER);

this.add(pnlSouth, BorderLayout.SOUTH);

this.show();

this.addWindowListener(this.myWindowListener);

this.btn1.addActionListener(this.myActionListener);

this.btn2.addActionListener(this.myActionListener);

this.btn3.addActionListener(this.myActionListener);

this.btn4.addActionListener(this.myActionListener);

}

public static void main(String args[])

{

Test f = new Test();

}

}

MyWindowListener:

import java.awt.event.*;

public class MyWindowListener extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

MyActionListener:

import java.awt.event.*;

public class MyActionListener implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

int wert = Integer.parseInt(e.getActionCommand());

switch(wert)

{

case 1: System.exit(0);

case 2: System.out.println("Button 2"); break;

case 3: System.out.println("Button 3"); break;

case 4: System.out.println("Button 4"); break;

}

}

}

Danke im voraus für eure Hilfe!

Mfg

Wanki

ja habe ich!

Wie man im Quellcode erkennen kann habe ich es auch schon mit Borderlayout,FlowLayout und Gridlayout probiert.

Dann mal dochmal dein Ziellayout auf einem Blatt Papier auf, und versuch dir klarzumachen, wo die groben Bereiche sind, die du über verschiedene Panels mit verschiedenen Layouts abbilden willst. Wenn du dann noch genauere Hilfe brauchst poste hier mal diesen Entwurf - deine Beschreibung ist da nämlich ein wenig ungenau bzw. nicht besonders klar.

Hast du dich denn bereits mit dem Konzept eines LayoutManagers befasst?

zur Not gibts ja noch null ;)

mit hilfe von GUI-Editoren kann man dann ein Layout erstellen mit absoluten Positionen, allerdings reagieren die nicht mehr dynamisch auf veränderungen der fenstergrösse

zur Not gibts ja noch null

Null-Layout als Empfehlung? Dafür kann es nur eins geben:

peitsch.gif

:-)

allerdings reagieren die nicht mehr dynamisch auf veränderungen der fenstergrösse
Nicht nur auf Veränderungen der Fenstergröße. Wenn der User eine andere Auflösung eingestellt hat oder auch nur andere Systemschriftarten verwendet kann es schon zu Problemen kommen. Oder irgendwer kommt auf die Idee ein neues LaF verwenden zu wollen, wo die Komponenten plötzlich ganz andere Proportionen einnehmen... oder, oder, oder... mögliche Fehlerquellen ließen sich noch ein paar mehr finden. Darum: Finger weg!

lesen grosser ;)

zur NOT

*püh*

manche lesen nur was sie wollen

manche lesen nur was sie wollen
Eben! Wenn jemand sich nicht mit den Konzepten hinter der eigentlichen Logik beschäftigen möchte, dann wird er imemr zur - scheinbar - einfachsten Lösung greifen. In diesem Fall eben einem null Layout. Die Tatsache, dass du "zur Not" geschrieben hast wird da wenig ins Gewicht fallen, weil für den Betreffenden sozusagen schon längst der Notstand ausgebrochen ist.

Von daher: Auch nicht zur Not! Ich habe bisher noch keinen Anwendungsfall gesehen, wo ein Null Layout wirklich sinnvoll eingesetzt worden ist bzw. sinnvoll hätte eingesetzt werden können.

So hallo....

So sollte das eigentlich aussehen.....

ich bekomms aber nicht so hin :(

test.bmp

Ungetestet aber ziemlich sicher:

FormLayout layout = new FormLayout(

  /* COLS */ "fill:200px, fill:200px, fill:200px",

  /* ROWS */ "fill:50px, 8dlu, fill:pref, 8dlu, fill:pref, fill:0px:grow, fill:pref"

);

PanelBuilder builder = new PanelBuilder(layout);

builder.add(label, cc.xywh(1, 1, 3, 1)):

builder.add(button1, cc.xywh(1, 3, 1, 1)):

builder.add(button2, cc.xywh(3, 3, 1, 1)):

builder.add(button3, cc.xywh(2, 5, 1, 1)):

builder.add(button4, cc.xywh(3, 7, 1, 1)):


JPanel resultPanel = builder.getPanel();

Und wo füg ich das jetzt ein???

Also in welchen Teil vom Quelltext.......

hab das mal eingefügt da kommen dann aber zig fehler also hab ichs wohl falsch eingefügt.....:(

Und wo füg ich das jetzt ein?
Na da, wo das Layout des Panels erstellt werden soll.

hab das mal eingefügt da kommen dann aber zig fehler
Was mich nicht wirklich wundert. Wie gesagt: Ungetestet und mal eben auf die schnelle Hingeschrieben. Das ganze soll nicht als fertige Lösung dienen, sondern als Lösungsansatz anhand dessen du dir dein eigenes Layout zusammenstellen kannst.

Und solange du nicht den Wortlaut der Fehlermeldungen postest kann dir sowieso niemand weiterhelfen.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.