Necesito eliminar los botones maximizar y minimizar de JFrame
. Por favor sugiere cómo hacer esto.¿Cómo elimino los botones maximizar y minimizar de un JFrame?
Respuesta
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Dlg extends JDialog {
public Dlg(JFrame frame, String str) {
super(frame, str);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
public static void main(String[] args) {
try {
Dlg frame = new Dlg(new JFrame(), "No min max buttons");
JPanel panel = new JPanel();
panel.setSize(200, 200);
JLabel lbl = new JLabel("blah blah");
panel.add(lbl);
frame.add(panel);
frame.setSize(400, 400);
frame.setVisible(true);
} catch (IllegalArgumentException e) {
System.exit(0);
}
}
}
¿Hay alguna desventaja a esto? – iKlsR
¿Cuál es tu respuesta? No explica lo que está haciendo, y no veo dónde está eliminando los botones mínimo/máximo de un JFrame. Aunque ahora veo a dónde te va con esto, tardé un minuto o dos en preguntarme cómo era esta una respuesta. – Aaron
Tenga cuidado, esta solución hace que sea un poco más difícil enfocar la ventana. Es un diálogo, lo que significa que no aparecerá como un programa abierto en Windows. Si el usuario enfoca otra ventana, como un navegador web, para volver a enfocar el diálogo, el usuario debería minimizar todos los demás programas. –
Aquí está un ejemplo relacionado usando setUndecorated()
desactivar las decoraciones de marco.
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class FrameTest implements Runnable {
public static void main(String[] args) {
EventQueue.invokeLater(new FrameTest());
}
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setUndecorated(true);
JPanel panel = new JPanel();
panel.add(new JLabel("Stackoverflow!"));
panel.add(new JButton(new AbstractAction("Close") {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}));
f.add(panel);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
Nota: Inicialmente editado stacker 's respuesta, pero se sugirió que se crea una nueva respuesta en su lugar.
Existen algunas formas de personalizar los controles de ventana disponibles para los usuarios.
Actualmente, la única manera de eliminar el de maximizar y minimizar los botones, mientras se mantiene la barra de título y botón de cierre, es utilizar un JDialog
en lugar de un JFrame
:
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class DialogDemo {
public static void main(String[] args) {
JDialog dialog = new JDialog(new JFrame(), "No min max buttons");
// necessary as setDefaultCloseOperation(EXIT_ON_CLOSE) is
// not available for JDialogs.
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
JLabel label = new JLabel("blah blah");
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(400, 400));
panel.add(label);
dialog.add(panel);
dialog.pack();
dialog.setVisible(true);
}
}
La solución de diálogo hace que sea imposible para los usuarios para minimizar y maximizar la ventana, incluso mediante el uso de atajos, sin embargo, no elimina la posibilidad de cambiar el tamaño de la ventana.
El uso de setResizable(false)
eliminará el botón de maximizar solamente, a costa de no poder cambiar el tamaño de la ventana.
Por último, como se menciona en trashgod, el método setUndecorated(true)
desactivará las decoraciones del marco, eliminando la barra de título y los bordes de la ventana. Esto hace que sea más difícil para los usuarios arrastrar, cambiar el tamaño y cerrar la ventana, aunque no imposible, ya que estas acciones aún se pueden realizar con las teclas de método abreviado.
Esta es la única respuesta que realmente responde la pregunta. – Aaron
- 1. Qt ocultar minimizar, maximizar y cerrar botones
- 2. Eliminación de minimizar/maximizar botones en Tkinter
- 3. Cómo detectar la ventana de JFrame minimizar y maximizar los eventos?
- 4. ¿Cómo ocultar los botones minimizar/maximizar y cerrar por defecto en la ventana de JFrame en Java?
- 5. Eclipse Juno rojo minimizar y maximizar botones en Linux
- 6. ¿Cómo elimino minimizar y maximizar desde una ventana de tamaño variable en WPF?
- 7. JFrame Maximizar ventana
- 8. ¿Cómo puedo eliminar solo el botón Maximizar de un JFrame?
- 9. Añadir botón de ayuda, pero mantener maximizar y minimizar
- 10. Deshabilitar Minimizar y maximizar en WinForm?
- 11. ¿Cómo eliminar el borde de la ventana (que contiene los botones minimizar, maximizar y cerrar) desde un widget Qt?
- 12. Cómo minimizar/maximizar el diálogo de jQuery?
- 13. ¿Qué función Uxtheme debo usar para obtener el tamaño predeterminado de los botones minimizar, maximizar y cerrar?
- 14. ¿Cómo maximizar un JFrame a través del código?
- 15. Anula texto de información sobre herramientas para los botones de la barra de título (Cerrar, Maximizar, Minimizar, Ayuda)
- 16. Cómo minimizar una ventana de JFrame desde Java?
- 17. VIsual Studio 2010, ¿maximizar/minimizar fácilmente el editor?
- 18. Cómo detectar el navegador minimizar y maximizar el estado en javascript
- 19. .NET Minimizar en la bandeja Y Minimizar los recursos necesarios
- 20. Cómo minimizar los archivos jquery?
- 21. ¿Cómo elimino/elimino un virtualenv?
- 22. Habilitar maximizar, minimizar y restaurar la ventana en WPF (cambio de tamaño manual es deshabilitar)
- 23. Accesos directos de PuTTY para minimizar, maximizar, restaurar y mover la ventana
- 24. ¿Cómo elimino paneles en blanco del eclipse?
- 25. ¿Cómo maximizar los paneles de Visual Studio?
- 26. Cómo TDD un JFrame?
- 27. Cómo dibujar controles de ventana personalizados (cerrar, minimizar y ampliar botones)
- 28. ¿Cómo enfocar un JFrame?
- 29. Cómo obtener el tamaño y la posición de los botones de título de ventana (minimizar, restaurar, cerrar)
- 30. ¿Maximiza y evita el cambio de tamaño en un JFrame?
Eche un vistazo a http://stackoverflow.com/questions/2527021/how-to-disable-minimize-button-in-frame y vea si eso responde su pregunta. –
dice sobre el uso de JDialog, en myeclipse estoy importando java.awt. * Pero no se reconoce JDialog. alguna ayuda sobre eso? – silverkid
'JDialog' y' JFrame' están ambos en el paquete 'java.swing'. Necesitas 'importar java.swing. *'. –