LayoutManager macht nichts

luus

Mitglied
C

Camino

Gast
Ohne jetzt den ganzen Code gelesen zu haben: was funktioniert denn nicht so, wie es sollte? Es handelt sich wohl um GridBagLayout. Was sollte beim grösser ziehen passieren, und was passiert tatsächlich?
 
T

Tomate_Salat

Gast
Interessant, normal wird in solchen Fällen vermutet, dass Java kaputt ist :).

Ohne Code können wir dir nicht helfen. Wenn du wissen willst, was bei dir falsch läuft, poste doch bitte den relevanten Code.
 

luus

Mitglied
Der Code versteckt sich hinter dem Link.

Was passieren soll, ist dass das ganze mit vergrößert werden soll. Was bei mir passiert:

Bildschirmfoto.png

upload.zeugs.info

Wie man sieht, passiert gar nichts mit den Komponenten, was bei meinem bekannten anders ist.
 
C

Camino

Gast
Hmm, die Klasse in dem Code ist ein JPanel. Kommt natürlich darauf an, wie und wo du das eingefügt hast. Aber da wir das nicht wissen, ist eine Hilfe auch ziemlich schwierig bzw. ein Rätselraten.
 

luus

Mitglied
Der ganze Code wurde einfach in ein leeres Projekt eingefügt. Das Projekt besteht nur aus der einen (bzw. zwei, wegen inner class) Klassen. Gestartet wird es denn über die main Methode der Klasse.
 
C

Camino

Gast
Na ja, ohne es genau zu wissen, da ich nichts genaues sehen kann, vermute ich mal, dass dein Bekannter es in den CENTER-Bereich eines BorderLayouts eingefügt hat, welches den ganzen Raum des Fensters einnimmt und das Panel dann eben streckt. Aber das ist halt jetzt nur geraten... (genauso gut könnte auch Java kaputt sein :lol: )
 

luus

Mitglied
Ne, der hat das genauso wie ich in ein leeres Projekt eingefügt. Ohne Änderungen.

Aber ist der Sinn des LayoutManagers nicht unter anderem der, dass man das Fenster größer ziehen kann und sich die darin befindlichen Komponenten entsprechend mit verändern?
 
C

Camino

Gast
Na ja, kommt halt drauf an. Man kann das Verhalten mit dem LayoutManager bestimmen oder beeinflussen. Aber ich hab z.B. ein Layout (GridBag), welches sich durch Verändern der Framegrösse nicht ändert. Ich schau mir die Klasse mal bei mir in Eclipse an, vielleicht fällt mir dann ja was auf...
 
S

SlaterB

Gast
der Code ist komplett vorhanden (funktioniert bei mir wie als offizielles Beispiel zu erwarten),
manche sollten sich fragen ob sie nicht nur nerven

edit:
@luus
das ist natürlich die intelligente Reaktion darauf, den Code nochmal 1:1 posten,
nun gibts keine Meckermöglichkeit mehr ;)

edit:
und doch bestätigt sich die Nachfrage, denn der gepostete Code stimmt nicht mit dem Original überein,
ist nicht kompilierbar, insofern dürfte auch gar kein Fenster erscheinen
 
Zuletzt bearbeitet von einem Moderator:

luus

Mitglied
Java:
import javax.swing.*;

import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.Dimension;
import java.awt.Color;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class MultiListener extends JPanel 
                           implements ActionListener {
    JTextArea topTextArea;
    JTextArea bottomTextArea;
    JButton button1, button2;
    final static String newline = "\n";

    public MultiListener() {
        super(new GridBagLayout());
        GridBagLayout gridbag = (GridBagLayout)getLayout();
        GridBagConstraints c = new GridBagConstraints();

        JLabel l = null;

        c.fill = GridBagConstraints.BOTH;
        c.gridwidth = GridBagConstraints.REMAINDER;
        l = new JLabel("What MultiListener hears:");
        gridbag.setConstraints(l, c);
        add(l);

        c.weighty = 1.0;
        topTextArea = new JTextArea();
        topTextArea.setEditable(false);
        JScrollPane topScrollPane = new JScrollPane(topTextArea);
        Dimension preferredSize = new Dimension(200, 75);
        topScrollPane.setPreferredSize(preferredSize);
        gridbag.setConstraints(topScrollPane, c);
        add(topScrollPane);

        c.weightx = 0.0;
        c.weighty = 0.0;
        l = new JLabel("What Eavesdropper hears:");
        gridbag.setConstraints(l, c);
        add(l);

        c.weighty = 1.0;
        bottomTextArea = new JTextArea();
        bottomTextArea.setEditable(false);
        JScrollPane bottomScrollPane = new JScrollPane(bottomTextArea);
        bottomScrollPane.setPreferredSize(preferredSize);
        gridbag.setConstraints(bottomScrollPane, c);
        add(bottomScrollPane);

        c.weightx = 1.0;
        c.weighty = 0.0;
        c.gridwidth = 1;
        c.insets = new Insets(10, 10, 0, 10);
        button1 = new JButton("Blah blah blah");
        gridbag.setConstraints(button1, c);
        add(button1);

        c.gridwidth = GridBagConstraints.REMAINDER;
        button2 = new JButton("You don't say!");
        gridbag.setConstraints(button2, c);
        add(button2);

        button1.addActionListener(this);
        button2.addActionListener(this);

        button2.addActionListener(new Eavesdropper(bottomTextArea));

        setPreferredSize(new Dimension(450, 450));
        setBorder(BorderFactory.createCompoundBorder(
                                BorderFactory.createMatteBorder(
                                                1,1,2,2,Color.black),
                                BorderFactory.createEmptyBorder(5,5,5,5)));
    }

    public void actionPerformed(ActionEvent e) {
        topTextArea.append(e.getActionCommand() + newline);
        topTextArea.setCaretPosition(topTextArea.getDocument().getLength());
    }

    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("MultiListener");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Create and set up the content pane.
        JComponent newContentPane = new MultiListener();
        newContentPane.setOpaque(true); //content panes must be opaque
        frame.setContentPane(newContentPane);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

class Eavesdropper implements ActionListener {
    JTextArea myTextArea;
    public Eavesdropper(JTextArea ta) {
        myTextArea = ta;
    }

    public void actionPerformed(ActionEvent e) {
        myTextArea.append(e.getActionCommand()
                        + MultiListener.newline);
        myTextArea.setCaretPosition(myTextArea.getDocument().getLength());
    }
}
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
der Code ist komplett vorhanden (funktioniert bei mir wie als offizielles Beispiel zu erwarten),
manche sollten sich fragen ob sie nicht nur nerven

Bei mir funktioniert der Code ebenfalls. Beim TO nicht, was für eine modifizierte Version spricht.

und doch bestätigt sich die Nachfrage, denn der gepostete Code stimmt nicht mit dem Original überein,
ist nicht kompilierbar, insofern dürfte auch gar kein Fenster erscheinen
:) jz ist meine Welt wieder final :D

@TO: [strike]dein Code ist bei mir nicht kompilierbar und so wie er ausschaut, sollte er es auch nicht bei dir sein: z.B. implementiert dein Beispiel nicht den Actionlistener (weiter hab ich noch nicht geschaut)[/strike]
Edit mal die editierte version anschauen
 
Zuletzt bearbeitet von einem Moderator:
C

Camino

Gast
Bei mir funktioniert es auch, so wie du es wolltest. Also, die beiden TextAreas passen sich der Grösse des Frames an, wenn ich den veränder.

Das einzige, was ich geändert hatte: ich hatte die Kommentare am Anfang und auch das
Code:
package events
rausgenommen, ansonsten 1:1 kopiert und als Anwendung in Eclipse laufen lassen.
 
Zuletzt bearbeitet von einem Moderator:

luus

Mitglied
@SlaterB sry. hatte nicht alles kopiert. sollte nun laufen.

@Camino und genau das passiert bei mir nicht. Bei mir vergrößert sich nur das Fenster, nicht die Komponenten
 
C

Camino

Gast
Ich hatte ja schlauerweise gleich den Code von dem Link (Oracle) genommen. Und wie gesagt, es klappt einwandfrei bei mir.
 
T

Tomate_Salat

Gast
Exportier mal bei deinem bekannten das ganze als Runnable jar und lass es auf deinem Rechner laufen.

Das von dir gepostete Code-Beispiel läuft bei mir ohne Probleme und ich bezweifle iwie, dass das dein Code ist. (Wie kann man den eine implementierung von einem Interface "ausversehen" nicht mitkopieren?)
 
S

SlaterB

Gast
ein Mini-Strohhalm:
wurde bisher zufällig die Eclipse-Konsole mit evtl. Fehlermeldungen nicht betrachtet?
zur Sicherheit in den Konstruktor + die Listener
System.out.println("Hallo");
bzw. ähnliches einbauen, diese Meldungen sollten am Anfang und auch nach dem Vergrößern bei entsprechenden Button-Klick erscheinen,
dazwischen nichts in roter Schrift?

das hilft auch gegen Vermutung, den richtigen Code auszuführen, letztlich aber doch irgendwo noch eine ganz andere gleiche Klasse zu haben (dann mit Code-Änderungen) usw.
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Noch eine Möglichkeit: Hast du eine Version, in der du rumgespielt hast und eine "originale"? Dann könnte es vllt sein, dass deine Run-Config auf die modifizierte eingestellt ist. Mach mal in deinem Projekt-Baum einen rechtsklick auf die "original-Klasse" und wähle: run as->Java Application
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
R Swing Welche LayoutManager sind die richtigen für mich? AWT, Swing, JavaFX & SWT 11
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Z Swing Welcher Layoutmanager bei ScrollPane? AWT, Swing, JavaFX & SWT 4
F Welchen Layoutmanager verwenden? AWT, Swing, JavaFX & SWT 2
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
N Welcher LayoutManager AWT, Swing, JavaFX & SWT 16
Birke Swing Neue Swing LayoutManager: TOnion Projekt AWT, Swing, JavaFX & SWT 10
B Swing JLabel und LayoutManager AWT, Swing, JavaFX & SWT 20
F Swing Layoutmanager für Mittplatzierung ? AWT, Swing, JavaFX & SWT 6
B SWT Dynamische GUI (Layoutmanager?) AWT, Swing, JavaFX & SWT 2
J Welche(n) LayoutManager für große Gui? AWT, Swing, JavaFX & SWT 6
D Layoutmanager in Java Swing vs. Java AWT AWT, Swing, JavaFX & SWT 3
P Layoutmanager-Richtlinie ? AWT, Swing, JavaFX & SWT 8
J 2 Bereiche im Frame komplett nutzen - Welchen Layoutmanager? AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing suche passenden LayoutManager AWT, Swing, JavaFX & SWT 8
SexyPenny90 Welcher LayoutManager erfüllt meine Bedingung AWT, Swing, JavaFX & SWT 7
C SWT LayoutManager AWT, Swing, JavaFX & SWT 2
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
R Layoutmanager AWT, Swing, JavaFX & SWT 4
M Fenster aufteilen, aber mit welchem LayoutManager? AWT, Swing, JavaFX & SWT 10
G LayoutManager LayoutManager gesucht AWT, Swing, JavaFX & SWT 2
R Swing Variable Panelbreite ohne Layoutmanager AWT, Swing, JavaFX & SWT 6
R LayoutManager Problem mit setLayout(LayoutManager) AWT, Swing, JavaFX & SWT 9
F Anfängerfrage: Swing und LayoutManager AWT, Swing, JavaFX & SWT 4
V LayoutManager Eigener LayoutManager funktioniert nicht. AWT, Swing, JavaFX & SWT 5
N LayoutManager suche LayoutManager für Tabellenstruktur AWT, Swing, JavaFX & SWT 2
D LayoutManager JPanels ohne LayoutManager platzieren AWT, Swing, JavaFX & SWT 6
Ollek JTextField Verhalten mit LayoutManager AWT, Swing, JavaFX & SWT 8
B LayoutManager mischen keine gute Idee? AWT, Swing, JavaFX & SWT 9
hdi SWT Suche passenden LayoutManager AWT, Swing, JavaFX & SWT 5
C passender layoutmanager gesucht AWT, Swing, JavaFX & SWT 2
I Swing Positionieren von Panels mit layoutManager AWT, Swing, JavaFX & SWT 6
E Swing Suche LayoutManager AWT, Swing, JavaFX & SWT 5
E Layoutmanager mit fester Breite gesucht AWT, Swing, JavaFX & SWT 9
R Layoutmanager AWT, Swing, JavaFX & SWT 13
K Swing JInternalFrame und LayoutManager AWT, Swing, JavaFX & SWT 6
W LayoutManager Hell AWT, Swing, JavaFX & SWT 2
P JPanel: LayoutManager und trotzdem absolut positionieren? AWT, Swing, JavaFX & SWT 3
J eigener Layoutmanager? AWT, Swing, JavaFX & SWT 6
M JLabel mit Layoutmanager AWT, Swing, JavaFX & SWT 2
G Layoutmanager mit festem Gitter AWT, Swing, JavaFX & SWT 6
R getInsets ohne Layoutmanager AWT, Swing, JavaFX & SWT 7
R LayoutManager ähnlich BorderLayout, mit einer Ausnahme AWT, Swing, JavaFX & SWT 2
T Layoutmanager der vorhanden Platz beruecksichtigt? AWT, Swing, JavaFX & SWT 5
J LayoutManager der Elemente untereinander anordnet. AWT, Swing, JavaFX & SWT 11
F Der richtige Layoutmanager AWT, Swing, JavaFX & SWT 6
G LayoutManager und Abstand AWT, Swing, JavaFX & SWT 6
A LayoutManager-Wünsche AWT, Swing, JavaFX & SWT 16
T % von Komponenten unter Layoutmanager AWT, Swing, JavaFX & SWT 2
M Layoutmanager und Komponente AWT, Swing, JavaFX & SWT 2
F LayoutManager und Component.setVisible(boolean) AWT, Swing, JavaFX & SWT 2
G Fenster mit LayoutManager AWT, Swing, JavaFX & SWT 3
C Verschachtelung von JPanels mit verschiedenen LayoutManager AWT, Swing, JavaFX & SWT 4
T JInternalFrame Konflikt mit LayoutManager AWT, Swing, JavaFX & SWT 5
S JTextField ohne LayoutManager positionieren AWT, Swing, JavaFX & SWT 3
F PanelBounds an TextPaneBounds anpassen LayoutManager: Null AWT, Swing, JavaFX & SWT 2
B Welchen LayoutManager? AWT, Swing, JavaFX & SWT 17
S Wie funktioniert der LayoutManager? AWT, Swing, JavaFX & SWT 9
P Zeichnen + LayoutManager AWT, Swing, JavaFX & SWT 7
B Layoutmanager Tutorial AWT, Swing, JavaFX & SWT 15
M LayoutManager Informationen AWT, Swing, JavaFX & SWT 4
L LayoutManager ähnlich wie FlowLayout AWT, Swing, JavaFX & SWT 5
S Welchen Layoutmanager? AWT, Swing, JavaFX & SWT 6
D LayoutManager und JPanel AWT, Swing, JavaFX & SWT 9
J Welcher Layoutmanager? AWT, Swing, JavaFX & SWT 20
L Probleme mit Scrollbar und LayoutManager AWT, Swing, JavaFX & SWT 3
G Neuer LayoutManager AWT, Swing, JavaFX & SWT 3
H GridBagLayout macht mich wahnsinnig :-( AWT, Swing, JavaFX & SWT 5
melaniemueller Was macht e.getSource() ? AWT, Swing, JavaFX & SWT 2
N Java Mouse Listiner macht alles zusammen AWT, Swing, JavaFX & SWT 4
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
ruutaiokwu Swing windowStateChanged macht exakt das Gegenteil beim Verändern der Fenstergrösse AWT, Swing, JavaFX & SWT 3
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
K 2D-Grafik .GIF macht mir Probleme AWT, Swing, JavaFX & SWT 14
H GridBagLayout macht Probleme... AWT, Swing, JavaFX & SWT 4
E Warum macht die einfache Animation einen kleinen Fehler? AWT, Swing, JavaFX & SWT 14
Furtano AWT GridBagLayout macht mir Sorgen AWT, Swing, JavaFX & SWT 3
C Swing Was macht die Methode "setDataProviderCreditShown(boolean b)" AWT, Swing, JavaFX & SWT 4
T JLabel macht sich selbstständig? o.0 AWT, Swing, JavaFX & SWT 2
S Swing Swing macht sehr seltsame Zeichnungen. AWT, Swing, JavaFX & SWT 13
danx066 MouseListener macht was er will AWT, Swing, JavaFX & SWT 14
G Swing Button ActionListener macht komische Sachen AWT, Swing, JavaFX & SWT 19
P Swing Skalieren mit DrawImage macht Linien kaputt AWT, Swing, JavaFX & SWT 6
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
R wie macht am besten ein GUI ? AWT, Swing, JavaFX & SWT 21
hdi Swing JFrame#setCursor macht Zicken AWT, Swing, JavaFX & SWT 10
L Swing JButton macht Eventhandling kaputt AWT, Swing, JavaFX & SWT 3
D GridBagLayout macht nicht das was es soll AWT, Swing, JavaFX & SWT 12
J Swing Formulare in Swing - wie macht ihr das? AWT, Swing, JavaFX & SWT 7
T JTable / RowSorter macht große Probleme AWT, Swing, JavaFX & SWT 2
V Swing Mein swingender Pokertisch macht Probleme AWT, Swing, JavaFX & SWT 10
G Bildervorschau macht Probleme AWT, Swing, JavaFX & SWT 22
N SWT Text pack() macht Text zu klein AWT, Swing, JavaFX & SWT 2
hdi Swing EDT macht kein repaint() AWT, Swing, JavaFX & SWT 2
N Gridlayout macht Probleme AWT, Swing, JavaFX & SWT 3
G jpanel macht kein repaint AWT, Swing, JavaFX & SWT 2
F Thread macht keine Pause AWT, Swing, JavaFX & SWT 22
W Wie macht man in Swing eigentlich nen Benutzereingabedialog? AWT, Swing, JavaFX & SWT 7
T JTree macht mich wahnsinnig (selektion) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben