Perché non è JMenu sempre in primo piano?
Domanda
Il JMenu si comporta normalmente fino a JButton è utilizzato per aggiornare una JTable sul JFrame. Poi il JMenu è in gran parte nascosto da un JPanel (vedi immagini sotto). Non dovrebbe il JMenu essere sempre in primo piano quando è selezionato? Perché è stato spostato verso il retro? Il codice che aggiorna la tabella a jButtonAddActionPerformed è.
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);
}
...
Previsto
rotto
Soluzione
Probabilmente perché si sta utilizzando una tela quando si deve usare un JPanel. Canvas è un componente AWT ed è dipinto in cima componenti Swing. Non utilizzare componenti AWT in un'applicazione Swing.
Modifica:
Se si ha realmente bisogno di utilizzare un componente AWT, allora avete bisogno di una versione corrente del JDK. Vedi miscelazione pesante e leggera Componenti .
Altri suggerimenti
Mi piacerebbe suggerisco di leggere miscelazione pesante e leggero Componenti per maggiori informazioni.