Avatar billede dk_zerocool Nybegynder
24. april 2003 - 09:31 Der er 14 kommentarer og
1 løsning

JFrame maksimere ??

Hvilken metode skal man kalde hvis man vil have sit JFrame til at opstarte maksimeret (som ved tryk på maximize i højre hjørne) ??
Avatar billede riversen Nybegynder
24. april 2003 - 10:25 #1
Det er desværre ikke muligt. Det bedst du kan gøre er at finde opløsning og sætte størrelsen ud fra det.
Avatar billede _carsten Nybegynder
24. april 2003 - 10:50 #2
Det er muligt med:  setExtendedState(MAXIMIZED_BOTH);

Virker hos mig.
Avatar billede riversen Nybegynder
24. april 2003 - 10:55 #3
OK...så har jeg vist forkert info på e en gang :-)
Avatar billede riversen Nybegynder
24. april 2003 - 10:55 #4
og af min lærer
Avatar billede riversen Nybegynder
24. april 2003 - 10:58 #5
virker ikke her
Avatar billede _carsten Nybegynder
24. april 2003 - 11:10 #6
VIRKER STADIG HER!

/*
* Test.java
*
* Created on 24. april 2003, 11:07
*/



/**
*
* @author  cfh
*/
public class Test extends javax.swing.JFrame {
   
    /** Creates new form Test */
    public Test() {
        initComponents();
        setExtendedState(MAXIMIZED_BOTH);
    }
   
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
    private void initComponents() {
       
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });
       
        pack();
    }
   
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        new Test().show();
    }
   
   
    // Variables declaration - do not modify
    // End of variables declaration
   
}
Avatar billede riversen Nybegynder
24. april 2003 - 11:19 #7
ja, det virker...


men ikke ? må vel lige lege med det
    JFrame f = new JFrame( "HEJ" );
    f.setExtendedState( JFrame.MAXIMIZED_BOTH );
    f.show();
Avatar billede =maddog= Nybegynder
24. april 2003 - 11:28 #8
Det er funktionalitet der er arvet fra java.awt.Frame og er dukket op i java 1.4.
Derfor
JFrame frame = new JFrame("Hej");
f.setExtendedState( Frame.MAXIMIZED_BOTH );
f.show();
om jeg ikke tager fejl. Man bør checke om platformen understøtter maximering først.
Avatar billede riversen Nybegynder
24. april 2003 - 11:31 #9
det ændrer ingenting
Avatar billede _carsten Nybegynder
24. april 2003 - 11:54 #10
Alternativt kan du gøre som nedenstående, jeg synes bare mit første eksempel
fungerer bedre når JFramen åbnes.

        f = new javax.swing.JFrame( "HEJ" );
        f.show();
        f.setExtendedState(MAXIMIZED_BOTH);

javax.swing.JFrame f;
Avatar billede =maddog= Nybegynder
24. april 2003 - 12:05 #11
Jeg må tilstå at både med setExtendedState i constructor og senere i main virker hos mig.

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Exp344014 extends JFrame {
   
    static Toolkit tool = Toolkit.getDefaultToolkit();
    /** Creates a new instance of Exp344014 */
    public Exp344014() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        setVisible(true);
        pack();
        setExtendedState(MAXIMIZED_BOTH);
    }
   
    public void processWindowEvent(WindowEvent e) {
        if (e.getID()==WindowEvent.WINDOW_CLOSING) System.exit(0);
    }

    public static void main(String[] args) {
        JFrame frame = new Exp344014();
        //frame.setExtendedState(frame.MAXIMIZED_BOTH);
    }
}
Hvis du rem'mer ud i konstruktoren og fjerner remarken i main maximerer den stadig.
Avatar billede =maddog= Nybegynder
24. april 2003 - 12:08 #12
hov vent lidt. du kalder setExtendedState før show() riversen. det dutter ikke. den skal være vist før den kan blive resized (rimelig logisk når man tænker over det).
Avatar billede riversen Nybegynder
24. april 2003 - 12:19 #13
yes yes
Avatar billede =maddog= Nybegynder
24. april 2003 - 12:38 #14
her checker vi om platformen understøtter de ting vi forsøger først.
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Exp344014 extends JFrame {
   
    /** Creates a new instance of Exp344014 */
    public Exp344014() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        setVisible(true);
        pack();
        if (getToolkit().isFrameStateSupported(Frame.MAXIMIZED_BOTH)) {
            setExtendedState(MAXIMIZED_BOTH);
        } else if (isResizable()) {
            setBounds(getGraphicsConfiguration().getBounds());
        }
    }
   
    public void processWindowEvent(WindowEvent e) {
        if (e.getID()==WindowEvent.WINDOW_CLOSING) System.exit(0);
    }

    public static void main(String[] args) {
        new Exp344014();
    }
}
og så kan der vist ikke slås flere søm i det bræt.
Avatar billede dk_zerocool Nybegynder
25. april 2003 - 14:48 #15
carsten du løste mit problem, tak for hjælpen og point til dig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester