[Java] Java Swing - Grundlegende Fragen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von gater001, 10. Januar 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. Januar 2011
    Java Swing - Grundlegende Fragen

    Hi RRler, ich lerne aktuell Java und habe hier ein paar fragen die mir leider keiner beantworten kann.
    es geht um gui's mit swing. mit dem swingdesigner von netbeans alles kein problem, nur ist der mir zu komfortabel und der lerneffekt leidet darunter. ich habe vor so ein paar gui's selbst zu entwerfen heißt wirklich zeile für zeile, sollte an sich auch kein Problem sein...dachte ich jedenfalls. also das problem ist, immer wenn ich komponenten hinzufüge wie ein einfaches label oder ein button kann ich über setLocation und setSize praktisch nichts machen. der ballert mir die dinger immer einfach so auf die frame!!

    bsp. (bitte mal die datenkapselung ignorieren )
    Code:
    import javax.swing.*;
    
    public class main {
    
     public static void main(String[] args) {
    
     JFrame fenster = new JFrame("Setzt Titel");
    
     //Zeichnen der Frame
     fenster.setTitle("Mein Test");
     fenster.setResizable(false);
     fenster.setSize(500, 500);
     fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
     //Zeichnen des Labels
     JLabel label1 = new JLabel("Das ist mein Test");
     fenster.add(label1);
     label1.setSize(5,5);
     label1.setLocation(50, 50);
     label1.setText("Test");
    
    
     fenster.setVisible(true);
    
    
     }
    }
    
    Bei:
    Code:
    label1.setSize(5,5);
    label1.setLocation(50, 50);
    kann ich zahlen eingeben wie ich will sie haben keinen Einfluss!?!
    Wahrscheinlich kann man es sich schon denken, was ich gerne hätte ist eine erklärung wie ich BELIEBIG meine Komponenten hin und her schieben kann. Heißt das Label weiter nach rechts, oder weiter runter, vielleicht auch beides...

    ok ich hoffe ich konnte mein problem schildern :]

    //nachtrag(kleinigkeit vergessen):
    damit es nicht rüberkommt ich sei faul, google hab ich natürlich auch schon durchforstet und nachdem ich nichts gescheites fand hab ich auch mehrere GUI-designer verglichen und mir die quellcode angeschaut. nur leider macht es keiner außer der Netbeans-Guidesigner überhaupt so wie ich will, und da ist der Quellcode nicht so verständlich...
     
  2. 10. Januar 2011
    AW: Java Swing - Grundlegende Fragen

    das problem ist, dass swing eigene layouts zur verfügung stellt. damit deine grössen und positionsangaben zum zug kommen, musst du den layoutmanager auf null stellen. Und ich empfehle dir mit einem Container zu arbeiten, und die komponenten nicht direkt auf das JFrame zu setzen. also folgendermassen:

    Code:
    java.awt.Container cp = fenster.getContentPane();
    [B]cp.setLayout(null);[/B]
    cp.add(label1);
    greez
     
  3. 10. Januar 2011
    AW: Java Swing - Grundlegende Fragen

    uuuuuhhh wie nice, endlich läufts

    aber jetzt noch eine frage, wieso sollte ich nicht direkt alles auf die Frame setzen? weil funktionieren tut es ja trotzdem, wo sind dabei die nachteile?

    und noch eine frage:
    was macht deine zeile
    java.awt.Container cp = fenster.getContentPane();
    oder was ist dieses java.awt.Container? Ich habs einfach mal ausgegeben was fenster.getContentPane() cp zuweist, dabei kommt das hier raus:

    javax.swing.JPanel[null.contentPane,0,0,0x0,invalid,layout=javax.swing.JRootPane$1,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

    und wo kommt hier das javax.swing.JPanel her? setzt er einfach nur ein JPanel auf das Frame?
    also java.awt.Container ist ja eigentlich eine klasse, aber klassen werden doch mit dem new operator instanziert???
     
  4. 10. Januar 2011
    AW: Java Swing - Grundlegende Fragen

    http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Container.html

    bzw.

    http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html#JFrame()

    sollte eigentlich alle deine Fragen beantworten.
     
  5. 10. Januar 2011
    AW: Java Swing - Grundlegende Fragen

    ja damit sind alle meine fragen beantwortet :]
    ich close dann mal, bw's sind raus
    danke euch beiden!
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.