jmenu的行为正常,直到使用jbutton在Jframe上更新JTable为止。然后,jmenu主要被jpanel隐藏(请参见下图)。选择JMENU时不应该始终处于最高状态吗?为什么将其推到后面?更新jbuttonDactionPerformed上表的代码是。

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);
    }                                                  
...

预期的

alt text

破碎的

alt text

有帮助吗?

解决方案

可能是因为当您应该使用jpanel时,您正在使用帆布。帆布是一个AWT组件,并在秋千组件的顶部绘制。不要在摆动应用程序中使用AWT组件。

编辑:

如果您确实需要使用AWT组件,则需要当前发布JDK。 查看混合和浅色组件.

其他提示

我建议阅读 混合重量级和轻量级组件 了解更多信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top