jac*_*nad 1 java swing jframe jmenu
JMenu 表现正常,直到使用 JButton 更新 JFrame 上的 JTable。然后 JMenu 大部分被 JPanel 隐藏(见下图)。当 JMenu 被选中时,它不应该总是在最上面吗?怎么就被推到后面了呢?更新 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);
}
...
Run Code Online (Sandbox Code Playgroud)
预期的

破碎的

可能是因为您应该使用 JPanel 时却使用了 Canvas。Canvas 是一个 AWT 组件,绘制在 Swing 组件之上。不要在 Swing 应用程序中使用 AWT 组件。
编辑:
如果您确实需要使用 AWT 组件,那么您需要最新版本的 JDK。请参阅混合重组分和轻组分。