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

alt text

rotto

alt text

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top