tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
399
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von ChangeMeDEV
    ChangeMeDEV ChangeMeDEV ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Hallo liebe Leute.
    Bin neu hier und habe gleich mal eine Frage.
    Ich habe die Antwort schon einmal gefunden, sie aber vergessen und finde sie nicht mehr,

    Mit welcher Funktion kann ich bestimmen, dass "setSize()" nicht das Fenster, sondern die Benutzerfläche bestimmt?

    Frage zu "setSize(int x, int y)"-fensterd.png

    Hier mal der Source Code:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    import javax.swing.*;
     
    public class Tamagotchi{
        public Tamagotchi(){
            JFrame client = new JFrame();
            client.setTitle("Fenster");
            client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            client.setSize(300,300);
            client.setVisible(true);
            client.setLocationRelativeTo(null);
            client.setResizable(false);
            
        }
        
        public static void main(String[] args){
            new Tamagotchi();
        }
    }


    Könnte mir da jemand schnell weiterhelfen?
    Danke schon einmal für das Lesen!

    ChangeMeDEV
    Geändert von ChangeMeDEV (04.02.12 um 00:10 Uhr)
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Hallo und willkommen im Forum!
    probier mal setBounds() und setMinimumSize. Wenn nötig auch vom JContentPane.

    btw: verwende bitte die java-Tags wie in meiner Signatur angegeben, php-Tags sind für Java-Code nicht so sinnvoll…
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    Avatar von ChangeMeDEV
    ChangeMeDEV ChangeMeDEV ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Hey! Danke für die schnelle Antwort. Habe den Code verändert.
    Könntest du mir die zwei befehle bitte genauer erklären. Bin noch cniht so lange im Java Boot

    ChangeMeDEV
     
    Programmieren ist wie Lego.
    Wenn man erstmal alle Teile richtig kennt,
    kann man seiner Phantasie freien Lauf lassen...

  4. #4
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Du müsstest dafür einfach noch die Insets in die Berechnung mit einfließen lassen. Die Insets geben die Maße der Ränder an und man bekommt diese über die Methode getInsets().

    Das könnte dann so aussehen:
    Code java:
    1
    2
    3
    4
    
    Insets insets = getInsets();
    int width = 500 + insets.left + insets.right;
    int height = 500 + insets.top + insets.bottom;
    setSize(width, height);
    Code ist zwar nicht getestet, aber sollte laufen.
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  5. #5
    Avatar von ChangeMeDEV
    ChangeMeDEV ChangeMeDEV ist offline Grünschnabel
    Registriert seit
    Feb 2012
    Beiträge
    3
    Ich habe es nun so gelöst, dass ich esmit .pack() und .setPreferedSize() gemacht habe.

    Klappt an sich alles sehr gut!

    Jedoch habe ich ein Problem.
    Ich habe 2 Klassen:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    import java.awt.*;
    import javax.swing.*;
     
    public class Board{ 
        public Board(){
            JPanel panel = new JPanel();
            panel.setFocusable(true);
            panel.setPreferredSize(new Dimension(300,300))
            panel.setBackground(Color.BLUE);
            panel.setLayout(null); 
            JButton oben = new JButton();
            oben.setSize(50,100);
            panel.add(oben);
        }
    }

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    import java.awt.*;
    import javax.swing.*;
     
    public class Tamagotchi{
        public Tamagotchi(){
            JFrame client = new JFrame();
            client.setTitle("ChangeMeDEV - LMS");
            client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            client.setLayout(new BorderLayout());
            client.add(<<<<XXXX>>>>, BorderLayout.CENTER);
            client.pack();
            client.setLocationRelativeTo(null);
            client.setResizable(false);
            client.setVisible(true);
            
        }
        
        public static void main(String[] args){
            new Tamagotchi();
        }
    }


    Die erste ist ein Panel und die 2. Das Frame. Wie bekomme ich nun das Panel in das Frame.
    Bekomme das wegen den 2 verschiedenen Klassen nicht hin >_<

    ChangeMeDEV
    Geändert von ChangeMeDEV (04.02.12 um 18:53 Uhr)
     
    Programmieren ist wie Lego.
    Wenn man erstmal alle Teile richtig kennt,
    kann man seiner Phantasie freien Lauf lassen...

  6. #6
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Du hast da weder nen Panel noch ein Frame. Du erzeugst diese lediglich in den Klassen, es sind aber eben keine.

    Richtig müsste das so aussehen:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    import java.awt.*;
    import javax.swing.*;
     
    public class Board extends JPanel { 
        public Board() {
            setFocusable(true);
            setPreferredSize(new Dimension(300,300))
            setBackground(Color.BLUE);
            setLayout(null); 
            
            JButton oben = new JButton("Oben");
            oben.setSize(50,100);
            add(oben);
        }
    }
    und
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    import java.awt.*;
    import javax.swing.*;
     
    public class Tamagotchi extends JFrame {
        public Tamagotchi(){
            setTitle("ChangeMeDEV - LMS");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            // setLayout(new BorderLayout()); // <- JFrame verwendet standardmäßig bereits das BorderLayout, daher unnötig
            add(new Board(), BorderLayout.CENTER);
            
            pack();
            setLocationRelativeTo(null);
            setResizable(false);
            setVisible(true);
        }
        
        public static void main(String[] args){
            new Tamagotchi();
        }
    }
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 14.03.11, 08:20
  2. Antworten: 4
    Letzter Beitrag: 25.08.10, 19:13
  3. Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
    Von MTMonline im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 25.04.08, 09:49
  4. Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
    Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 6
    Letzter Beitrag: 27.05.05, 15:29
  5. "setSize" funktioniert nicht !
    Von NetPerformance im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 08.01.04, 18:33