我正在使用 JPanel(更改其组件),但我想从外部 JFrame 更改它。
抱歉,我用 Netbeans 编写了这段代码(我知道它放了一些这个问题不需要的东西)并尝试清理编辑它,因为真正的代码更大
这里是 JPanel 的代码,名称为“MyPanel”。
public class MyPanel extends javax.swing.JPanel {
private javax.swing.JButton filling = new javax.swing.JButton();
private javax.swing.JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
private javax.swing.JTable myTable = new javax.swing.JTable();
private final javax.swing.table.DefaultTableModel INITIAL_TABLE_MODEL = new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[]{"Text", "Integer"}
);
public MyPanel() {
initComponents();
//callFilling(); // INNER CALL!
}
private void initComponents() {
filling.setText("filling");
filling.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
fillingActionPerformed(evt);
}
});
myTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] { },
new String [] { "Text", "Integer" }
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.Integer.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane1.setViewportView(myTable);
);
}
当callFilling();是从 JPanel (审查 INNER CALL)工作!,但从 JFrame (审查 //OUTER CALL)不工作!
查看此问题Update content of JPanel on a frame on button click in another frame我使用 的建议revalidate(); repaint(); 代码,但不起作用。
如何解决这个问题?
哔哔one
相关分类