item - popup menu java
¿Por qué JMenu no siempre está en la cima? (2)
Probablemente porque estás usando un Lienzo cuando deberías estar usando un JPanel. Canvas es un componente AWT y está pintado sobre componentes Swing. No use componentes AWT en una aplicación Swing.
Editar:
Si realmente necesita usar un componente AWT, entonces necesita una versión actual del JDK. Ver Mezcla de componentes pesados y ligeros .
El JMenu se comporta normalmente hasta que se utiliza un JButton para actualizar una JTable en el JFrame. Entonces el JMenu está oculto en su mayoría por un JPanel (ver imágenes a continuación). ¿No debería el JMenu estar siempre en la parte superior cuando se selecciona? ¿Por qué ha sido empujado hacia atrás? El código que actualiza la tabla en jButtonAddActionPerformed es.
public class MyClass extends javax.swing.JFrame {
private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel) jTable.getModel();
model.addRow(new Object[]{"", DEFAULT_ON, DEFAULT_OFF});
int lastRow = jTable.getRowCount() - 1;
jTable.setValueAt(lastRow + 1, lastRow, 0);
}
...
Esperado
Roto
Sugiero leer Mixing Heavyweight y Lightweight Components para más información.