Java 如何在Swing中为JDialog重新绘制?
如何在Swing中为JDialog重新绘制? 若我点击JDialog中的convert按钮,我需要更改JDialog的GUI设计,但它并没有发生?他们有什么解决办法吗Java 如何在Swing中为JDialog重新绘制?,java,swing,repaint,jdialog,Java,Swing,Repaint,Jdialog,如何在Swing中为JDialog重新绘制? 若我点击JDialog中的convert按钮,我需要更改JDialog的GUI设计,但它并没有发生?他们有什么解决办法吗 _convertAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { String para = new String(); _task.setBookTyp
_convertAction = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
String para = new String();
_task.setBookTypeId(13);
initComponents();
// validate();
// repaint();
setVisible(true);
}
};
我正在设置预订类型id为13
if(_task.getBookTypeId()== 1){
String colnames[] = {"Leg","Departure", "Date","Time", "Arrival","Date", "Time","How","Aircraft","PIC","Copilot"};
MyTableModel mytablemodel = new MyTableModel(colnames);
legdetailsTable = new JTable(mytablemodel);
legdetailsTable.setRowSelectionAllowed(true);
}else {
System.out.println("Brokered booking table");
String colnames[] = {"Leg","Departure", "Date","Time", "Arrival","Date", "Time","How"};
MyTableModel mytablemodel = new MyTableModel(colnames);
legdetailsTable = new JTable(mytablemodel);
legdetailsTable.setRowSelectionAllowed(true);
}
我正在使用Id在initcomponents方法中更改组件。您可以获取当前组件或任何组件的窗口,然后调用
repaint()
您可以获取当前组件或任何组件的窗口,然后调用
repaint()
而不是
legdetailsTable = new JTable(mytablemodel);
加
您可以重新创建JTable,但新的JTable不会添加到布局中,而是添加到
legdetailsTable = new JTable(mytablemodel);
加
重新创建JTable,但新的JTable不会添加到布局中@Jonas如果OP发布了一个JTable,它将保证相关代码存在。但在他们解决问题之前,大多数人都不知道相关的代码是什么。@Jonas如果OP发布了一条消息,它保证相关的代码存在。但在他们解决问题之前,大多数人都不知道相关代码是什么。
legdetailsTable.setModel(mytablemodel);