hilfe für flowlayout

annalena

Mitglied
hi, bin neu in java habe sonst nur c# gemacht
und komme gerade mit flowlayout nicht zurecht..weiß weder wo noch wie ich es einbinden kann..

wollte ein kleines swing machen mit nem ok button und ner combobox..
vllt könnt ihr mir helfen auf den richtigen pfad zu kommen 🙂

Java:
        Runnable guiCreator = new Runnable() {
            public void run() {
           
                //window properties
                JFrame window = new JFrame( "J1" ); //initial a window
                window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //windows shutdown order
                //window.setLayout(new FlowLayout());
               
                window.setSize(320,240); //windows size in pixel
                window.setVisible(true);    //windows visibility
                window.setLocation(500, 300); //location of window (desktop coordinates)
                //window.setResizable( false ); //windows size not changeable
                //window.add( new JLabel( String.format( "%tT",new Date() ) ) );
                JLabel labTitle = new JLabel( " J1 Übungsprogramm " );
                window.add(labTitle); //add label "ueberschrift"
               
                JComboBox<String> choice = new JComboBox<String>();
                choice.setSize(40,20);
                //read from database later
                choice.addItem("Q1");
                choice.addItem("Q2");
                choice.addItem("Q3");
                choice.addItem("Q4");
                window.add(choice);
               
                JButton button1 = new JButton("OK");
                window.add(button1);
                button1.setSize(30,20);
                button1.setLocation(100, 100);
               

                //c#~
                //OnClick_Event(button1){
                //}
               
                //window.pack(); //format window size
            } 
        };
        SwingUtilities.invokeLater(guiCreator);

wo wie und so? 🙂
 
Das JFrame nutzt das BorderLayout als Standard. Das kennt nur vier Himmelsrichtungen als "Anker". Du kannst also:
Code:
window.add(labTitle, BorderLayout.NORTH);
//oder
window.add(labTitle, BorderLayout.SOUTH);
//oder
window.add(labTitle, BorderLayout.EAST);
//oder
window.add(labTitle, BorderLayout.WEST);
schreiben.

Du kannst dem JFrame natürlich auch sagen, dass er das FlowLaoyut nutzen soll:
Code:
window.setLayout(new FlowLayout());

Auch solltest du die Anweisung
Code:
window.setVisible(true);
als letztes in den Konstruktor setzen. Damit vermeidet man schon ein paar mögliche Anzeigefehler. z.B. Einige Elemente erscheinen erst nachdem man das Fenster ein bisschen vergrößerst hat, etc.
 
ja das ist ja mein problem..weiß nicht direkt wie ich flowlayout nutzen kann..immer wenn ich es benutzen möchte..unterstreicht er es mir rot als würde er es nicht kennen oder falsch sein

genauso wie mit den BorderLayout
 
Die FlowLayout Klasse muss natürlich auch importiert werden. Genau wie die JFrame Klasse.
Code:
import java.awt.FlowLayout;
 
das war der punkt 😀

kleiner tipp noch zum arbeiten mit flowlayout..also formatierung?

den meine elemente liegen nun alle nebeneinander..

und wie ich meine checkbox mit datenbank elementen befüllen könnte..
in c# würde ich halt aus der db lesen und vllt über eine liste lösen
 
Dass alle Elemente neben einander liegen ist nunmal die Natur des FlowLayouts. Solange Platz da ist werden sie nebeneinander in einer Zeile platziert; danach geht's in der nächsten Zeile darunter weiter.

Der Datenbankzugriff ist schon etwas umfangreicher. Da gibt es aber bestimmt hier im Forum schon einige Beiträge zu...
 
ok layout verstanden..und behoben..damit kann ich umgehen..nun werd ich mich mal der umsetzung meines c# denkens in java widmen..was die combobox betrifft um sie aus meiner sql db zu befüllen
 

Neue Themen


Zurück
Oben