Setzen des Layout Managers mittels Override Parameter

Status
Nicht offen für weitere Antworten.

Semox

Bekanntes Mitglied
Hallo Forum

Ich komme leider nicht weiter und erhoffe mir Rat bei diesem Problem... Ich schreibe gerade an einer Hausaufgabe, in der ich später mal ein Paar Slider und Labels plazieren möchte. Als IDE nutze ich NB 6.5. Ich weiß nicht wie ich es machen muß, damit ich dem Teil --> Layout Manager einen beliebigen desselben zuweisen kann... Ich habe folgendes probiert: (SuFu hier im Forum inkl.)

Code:
container.setLayout(UND HIER??);
Code:
container.setLayout(new LayoutManager ... );
Code:
container.setLayout(FlowLayout);
• etc.

Ich habe keine Ahnung, wie ich das Lösen kann. Ich würde mich freuen, wenn mir jemand sagen könnte, wie ich dem Ding zuweise, einen bestimmten Manager zu benutzen.

Code:
import java.awt.Container;
import java.awt.LayoutManager;
import java.awt.event.*;
import javax.swing.*;

/**
 *
 * @author XXXXXXXXXXXX
 * @since 07.01.2009
 * @version 0.0.1
 */

public class Slider extends JFrame {

    private boolean b = true;   //set window visible True
    private int width = 400;
    private int height = 600;
    /**
     * @param args the command line arguments
     * @return nothing
     */

    public Slider () {
        JFrame frame = new JFrame("Hinz und Kunz");
        WindowListener listener = new WindowAdapter(){
            @Override
            public void windowClosing(WindowEvent e){
            System.exit(0);
            }
        };
    }//end of Slider constructor

    //make a container
    Container container = getContentPane();
    JPanel panel = new JPanel();
    //panel.getComponents();
    

    //############# LAYOUT MANAGER #############
    @Override
    public void setLayout(LayoutManager manager) {
        super.setLayout(manager);
    }
    //#######################################

    @Override
    public void pack() {
        super.pack();
    }
    
   @Override
    public void setSize(int width, int height) {
        width = 10;
        height = 10;
        super.setSize(width, height);
        
    }

    @Override
    public void setVisible(boolean b) {
        b = true;
        super.setVisible(b);
        
    }

//####################### Main Stuff ################################
    
    public static void main(String[] args) {
        // TODO code application logic here

        //run the application
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Slider();
                //Slider.main(b);
                
            }
        });
    }//end of main

}//end of class

Vielen Dank,
Semox
 
S

SlaterB

Gast
container.setLayout(FlowLayout); von deinen Varianten

und nun nur noch in richtiger Java-Syntax,

schon davon gehört, dass man 'new' irgendwo verwendet?
hast du doch auch einige Male in deinem restlichen Code,

da das FlowLayout-Objekt vielleicht auch Parameter benötigt,
am besten irgendwo in einem Tutorial nachschauen, wie es geht:
http://java.sun.com/docs/books/tutorial/uiswing/layout/flow.html
 

Semox

Bekanntes Mitglied
Hmjam legger... *Hungerhab

Hallo Slater

Danke Dir für den Tip...
Auch eine blindes Korn findet mal ein Huhn. Ich werde mir das durchlesen und ausprobieren. =)

Beste Grüße
Semox

Edit:

Soooo...

Ich habe das angepaßt. Leider weiß ich nicht genau, warum ich NullPointerExceptions bekomme. Die Fehleranzeige verweist unter vielen Links auf diese Methode...

Code:
    @Override
    public void setLayout(LayoutManager manager) {
       container.setLayout(new FlowLayout());
        super.setLayout(manager);
    }

Ich habe die Größe des Panels gesetzt und zudem ja auch den Layoutmanager gesetzt. Was fehlt denn in dieser Prozedur?

P.S. Wie kann man eine Java File hier attachen?

Liebe Grüße
Semox
 

Semox

Bekanntes Mitglied
Hallo Forum

Leider bin ich durch das Sun Tutorial nicht schlauer geworden. Ich habe nun das new Keyword an der richtigen Stelle eingesetzt und konnte damit den Layout Manager einsetzen.

Aber könnte jemand mir sagen, warum ich NullPointerExceptions erhalte? Die Werte für die Größe des Fensters habe ich schon gesetzt, trotzdem wird kein Fenster dargestellt... :bahnhof:

Viele Grüße
Semox
 

Semox

Bekanntes Mitglied
Klar. Sorry...
run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Slider.setLayout(Slider.java:54)
at java.awt.Window.init(Window.java:372)
at java.awt.Window.<init>(Window.java:415)
at java.awt.Frame.<init>(Frame.java:403)
at java.awt.Frame.<init>(Frame.java:368)
at javax.swing.JFrame.<init>(JFrame.java:163)
at Slider.<init>(Slider.java:31)
at Slider$2.run(Slider.java:84)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 1 second)

Danke,
Semox
 

diggaa1984

Top Contributor
warum überschreibst eigentlich die methode? ein this.setLayout(new xxxLayout()); sollte doch reichen, zB im konstruktor oder so?`!
 
S

SlaterB

Gast
warum die Exception auftritt:
bevor der Slider-Konstruktor durchlaufen wird, sind erst die Konstruktoren der Oberklasse dran,
der Konstruktor von Window (java.awt.Window.<init>(Window.java:415))
ruft eine init()-Methode auf und darin wird irgendein Layout gesetzt,

diese Methode hast du überschrieben, also kommt diese nun dran, bevor der Konstruktor von Slider ausgeführt wird,
container ist zu diesem Zeitpunkt noch null, container.setLayout() führt also zur NullPointerException

man könnte nun abfragen 'if container != null', aber es macht wirklich auch keinen Sinn, setLayout() zu überschreiben
 

Semox

Bekanntes Mitglied
diggaa1984 hat gesagt.:
warum überschreibst eigentlich die methode? ein this.setLayout(new xxxLayout()); sollte doch reichen, zB im konstruktor oder so?`!

Hallo

Das ist ein Problem. Wenn ich versuche das reinzuschreiben, ersetzt das NB einfach durch so ein Override Dingensen. Wozu wird das in dieser Art und Weise geschrieben? Ist das ne neue Art, wie man das machen soll, statt des this.Layout...?

Viele Grüße
Semox
 

diggaa1984

Top Contributor
hm dann is dein NB falsch konfiguriert oder sowas .. die methode brauchst definitiv nicht überschreiben für deine zwecke, genaus unnötig ist es setSize und derartiges zu überschreiben. Nutzen würde man dasn analog einfach mit
this.setSize(...).

weiss nich was sich netbeans da denkt dir da alle Methoden als überschrieben anzupreisen
 
V

Vayu

Gast
naja sobald er von einer Klasse erbt und eine Methode implementiert, die genauso heisst wie eine Methode der Oberklasse (setLayout) dann wird die Methode der Oberklasse überschrieben.

Benenn deine Methode um -> setLayoutManager oder sowas. Dann klappts auch. achja und nicht vergessen den super-Aufruf rauszulöschen :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
K Layout - Components richtig setzen AWT, Swing, JavaFX & SWT 9
Juelin setzen background color für selected Row im Tableview AWT, Swing, JavaFX & SWT 21
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
S TableCellRender - Zelle auf editier-/anklickbar setzen AWT, Swing, JavaFX & SWT 5
berserkerdq2 Anchorpane warum kann ich nicht Anchors setzen AWT, Swing, JavaFX & SWT 6
_user_q ThreadPool schedule Wert auf false setzen AWT, Swing, JavaFX & SWT 1
E verschiedene Cursor setzen AWT, Swing, JavaFX & SWT 1
izoards Bild ausdrucken - PageFormat setzen geht nicht AWT, Swing, JavaFX & SWT 5
izoards *.doc Seitenränder per Java setzen... AWT, Swing, JavaFX & SWT 14
G Button Strings Effektiver setzen AWT, Swing, JavaFX & SWT 3
W Bounds setzen AWT, Swing, JavaFX & SWT 1
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JavaFX TextInputDialog: Focus auf Eingabefeldinhalt setzen und nach OK Inhalt leeren AWT, Swing, JavaFX & SWT 5
L JavaFX TableColumns mit CellFactory setzen AWT, Swing, JavaFX & SWT 9
J Standardwert in Choicebox setzen ? AWT, Swing, JavaFX & SWT 0
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
E Hintergrundfarbe setzen in JPanel funktioneirt nicht AWT, Swing, JavaFX & SWT 4
K Swing DefaultListModel braucht zu lange, um Wert zu setzen AWT, Swing, JavaFX & SWT 7
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
S JButtons an Koordinaten setzen AWT, Swing, JavaFX & SWT 3
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
C JavaFX Tief setzen in der Überschrift einer Tabellenspalte AWT, Swing, JavaFX & SWT 3
Thallius JScrollPane Scrollpos setzen nach Neuzeichnen AWT, Swing, JavaFX & SWT 3
N JButton über benutzerdefinierte paintComponent setzen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JScrollPane Position setzen (x=0, y=0) AWT, Swing, JavaFX & SWT 2
wolfgang63 JavaFX von controllerclass primarystage Titel setzen AWT, Swing, JavaFX & SWT 4
F Setzen des LookAndFeel AWT, Swing, JavaFX & SWT 4
M Swing Shapes setzen AWT, Swing, JavaFX & SWT 4
J Event Handling JOptionPane ActionListener setzen. AWT, Swing, JavaFX & SWT 3
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
W JTextfield - Wert lässt sich nicht setzen AWT, Swing, JavaFX & SWT 3
H JavaFX GridPane: Zellenfarbe setzen AWT, Swing, JavaFX & SWT 9
B Swing JMenuBar unten in der Frame setzen? AWT, Swing, JavaFX & SWT 15
U Tooltip Dauer setzen AWT, Swing, JavaFX & SWT 0
A JTable schreibschutz setzen bzw. aufheben AWT, Swing, JavaFX & SWT 2
TheWhiteShadow SWT Dialog Titel setzen AWT, Swing, JavaFX & SWT 6
R SWT TreeViewer neuen Input setzen AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX ScrollPane Content mittig setzen AWT, Swing, JavaFX & SWT 5
B Swing Fokus auf JPanel setzen AWT, Swing, JavaFX & SWT 2
A HELP: JFieldText dynamisch setzen -> langsam AWT, Swing, JavaFX & SWT 19
C Swing Hintergrundfarbe von Submenüeinträgen setzen AWT, Swing, JavaFX & SWT 2
P jTable model setzen AWT, Swing, JavaFX & SWT 6
J Swing JInternalFrame modal setzen? AWT, Swing, JavaFX & SWT 13
J Swing JMenuItem auf setEnabled(false) setzen? AWT, Swing, JavaFX & SWT 3
S Swing Setzen von TableModel liefert NullPointer AWT, Swing, JavaFX & SWT 6
I LookAndFeel setzen AWT, Swing, JavaFX & SWT 17
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
C SWT Curser an den Anfang eines Text Objektes setzen AWT, Swing, JavaFX & SWT 12
C SWT Curser an den Anfang eines Textes setzen AWT, Swing, JavaFX & SWT 2
C Tooltip dynamisch setzen AWT, Swing, JavaFX & SWT 7
L Swing Fenstergröße setzen (Netbeans) AWT, Swing, JavaFX & SWT 6
F Font in JTable setzen AWT, Swing, JavaFX & SWT 7
J JPanel mit anderem Panel aus anderer Klasse setzen AWT, Swing, JavaFX & SWT 4
A Applet Bild als Button setzen... AWT, Swing, JavaFX & SWT 6
G SWT Fokus auf MsgBox setzen AWT, Swing, JavaFX & SWT 3
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
M Zugriff auf Variablen eines Objektes ohne sie auf static zu setzen AWT, Swing, JavaFX & SWT 9
B Swing Eigenen Cursor setzen AWT, Swing, JavaFX & SWT 10
B JColorChooser - Locale setzen AWT, Swing, JavaFX & SWT 3
Dit_ JTextField | Text auswählen und Caret setzen AWT, Swing, JavaFX & SWT 7
D LookAndFeel setzen AWT, Swing, JavaFX & SWT 2
Y LookAndFeel JTabbedPane: Tab-Farbe mit Nimbus setzen AWT, Swing, JavaFX & SWT 3
C Swing JEditorPane: Caret nach Rechtsklick neu setzen AWT, Swing, JavaFX & SWT 4
X Einem JFrame einen Dialog als Parent setzen. Möglich? AWT, Swing, JavaFX & SWT 4
P Swing JPanel über Methode setzen AWT, Swing, JavaFX & SWT 2
A Fokus wieder in ein JTextField setzen AWT, Swing, JavaFX & SWT 4
F LayoutManager GridLayout 0/0 auf andere Ecke setzen AWT, Swing, JavaFX & SWT 4
J Swing Wie Fokus richtig setzen? AWT, Swing, JavaFX & SWT 7
J JTextPane Background setzen AWT, Swing, JavaFX & SWT 6
D JPanel höhe setzen AWT, Swing, JavaFX & SWT 2
E Swing TableCellRenderer für alle Splaten setzen?! AWT, Swing, JavaFX & SWT 3
D Setzen eines Fonts in einem BasicMenuUI AWT, Swing, JavaFX & SWT 3
Q 3D-Grafik Cube Farbe setzen zur Laufzeit. AWT, Swing, JavaFX & SWT 10
G Problem beim setzen des Fokus AWT, Swing, JavaFX & SWT 4
L AWT Focus auf Fenster setzen AWT, Swing, JavaFX & SWT 4
E Swing Mit rechter Maustaste Fokus in JList setzen?! AWT, Swing, JavaFX & SWT 3
F Rechte Maustaste auf TreeNode soll den Fokus auf diese setzen AWT, Swing, JavaFX & SWT 6
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
S Swing: Look and Feel abändern oder für Teilkomponenten anderes LaF setzen AWT, Swing, JavaFX & SWT 2
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
N Mnemonic setzen AWT, Swing, JavaFX & SWT 4
Airwolf89 Swing Anzahl der Tabellenspalten dynamisch setzen AWT, Swing, JavaFX & SWT 2
P Swing Hintergrundfarbe auslesen und wieder setzen AWT, Swing, JavaFX & SWT 4
Z Fokus auf Eingabefeld bei showMessageDialog setzen AWT, Swing, JavaFX & SWT 3
H JList in JScrollPane -> ScrollBar ans Ende setzen AWT, Swing, JavaFX & SWT 5
L Fenster inaktiv setzen / deaktivieren (unable to close window) AWT, Swing, JavaFX & SWT 16
T Schließen eines JDialogs setzen den JFrame in den Hintergrund AWT, Swing, JavaFX & SWT 2
C Breite JTextArea/JScrollPane setzen AWT, Swing, JavaFX & SWT 4
O JTable Zelle mit "ENTER" in Editmode setzen AWT, Swing, JavaFX & SWT 4
M Cursor setzen im JTextPane AWT, Swing, JavaFX & SWT 3
I Swing JComboBox Wert setzen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben