tengo una clase que se extiende JFrame, y tiene un BorderLayout. Tiene dos variables de instancia privadas de tipo JPanel. Representan paneles de botones y se llaman flipButton y confidenceButtons. Cuando hace clic en el botón, el panel de botones es reemplazado por el otro panel de botones. Es decir, si hace clic en un botón en flipButton, flipButton se reemplaza por trustButtons. Traté de hacerlo de esta manera:JPanel Sustitución con JPanel en un JFrame
private class FlipListener implements ActionListener{ public void actionPerformed(ActionEvent e){ remove(flipButton); add(confidenceButtons,BorderLayout.SOUTH); validate(); ... } } private class ColorListener implements ActionListener{ ... public void actionPerformed(ActionEvent e){ ... remove(confidenceButtons); add(flipButton,BorderLayout.SOUTH); validate(); } }
Los botones de flipButton tener FlipListeners y los de confidenceButtons tener ColorListeners. Cuando se ejecuta el programa, al hacer clic en un botón se eliminará el panel, pero no se agrega nada para reemplazarlo. ¿Qué estoy haciendo mal?
EDITAR
CardLayout resultó ser una solución simple y fácil. Resulta que el código anterior funciona; el problema era un error tipográfico en otra sección de mi código. >. < Sin embargo, siempre he tenido problemas para usar estos métodos, y CardLayout, me parece, me simplifica. Gracias.
También mi primer pensamiento. Cardlayout está diseñado para este caso de uso si es la mejor opción de mantenimiento. – extraneon
Solución simple y funcionó como un encanto. ¡Gracias! – Shelley