2013-03-11 14 views
9

JFrame z ukrytym lub bez przycisku maksymalizacji, ale powinien być w stanie zmienić rozmiar za pomocą myszy (klikając i przeciągając na granicy jFrame). setResizable(false) wyłącza tylko przycisk minimalizowania, ale nie może zmienić rozmiaru za pomocą myszy.Wyłącz maksymalizację w ramce jFrame i zmień rozmiar za pomocą myszy

+0

Jeśli nie napiszesz własnego okna użytkownika, nie jest to możliwe w macierzystej wersji językowej – MadProgrammer

+0

Zobacz [this] (http://stackoverflow.com/questions/13065032/swing-resizing-a-jframe-like-frames-in-linux-eg/13067244#13067244) podobna odpowiedź –

Odpowiedz

0

Jedną opcją może być użycie JDialog zamiast JFrame. Pozwala to na ręczną zmianę rozmiaru okna, ale nie można go zmaksymalizować. Jedynym problemem jest to, że tracisz oba przyciski minimalizacji i maksymalizacji. To może, ale nie musi być problemem dla twojej aplikacji.

+0

Przepraszam, że muszę również zminimalizować okno. – Abin

2

Osobiście nie mogę wymyślić powodu, aby zezwolić na zmianę rozmiaru i nie pozwolić na maksymalizację, ale tutaj jest przykład, jak zapobiec maksymalizacji JFrame, jednocześnie pozwalając na zmianę rozmiaru i minimalizując. Testowany w oknach, nieprzetestowany na wszystkich innych platformach. Pełnoekranowy flash jest minimalizowany za pomocą setMaximizedBounds().

final JFrame jFrameNoMax = new JFrame() { 
     { 
      setMaximizedBounds(new Rectangle(0, 0)); 
      addWindowStateListener(new WindowStateListener() { 
       public void windowStateChanged(final WindowEvent e) { 
        if (e.getNewState() == MAXIMIZED_BOTH) { 
         setExtendedState(NORMAL); 
        } 
       } 
      }); 
     } 
    }; 

    // Tester 
    jFrameNoMax.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    jFrameNoMax.setSize(300, 300); 
    jFrameNoMax.setLocation(300, 300); 
    jFrameNoMax.setVisible(true); 
+0

jego OK w oknach i przepraszam, że mogę go zmaksymalizować w mac – Abin

1

można podjąć następujące kroki:

-right kliknij JFrame właściwości -Wybierz -Uncheck resizable pole właściwości -Zamknij -run program

patrz załączony rysunek : Freeze maximize button