我點擊了一個鼠標單擊事件,調用並顯示一個新的JFrame表單。但是當我點擊時,表單顯示出來沒有任何元素。在我的項目中有2種類型的事件,我用相同的機制處理它們。第一個是完美的,但第二個解決了問題。我也使用pack(),但問題仍然存在。任何人都可以告訴我如何解決這個問題嗎?非常感謝!我的項目是越南語,所以如果任何人想提及代碼或用戶界面中的任何元素,只需寫入無符號就足夠了!Java - 被調用時Swing表單顯示爲空
這裏是事件處理程序:
//The first event
private void tblClientResultMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
DefaultTableModel dm = (DefaultTableModel) tblClientResult.getModel();
int row = tblClientResult.getSelectedRow();
int col = tblClientResult.getSelectedColumn();
if (col == 7) {
SearchTruyenFrm searchTruyenFrm = new SearchTruyenFrm(listKH.get(row));
searchTruyenFrm.setVisible(true);
}
}
//The second one
private void tblTruyenResultMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
DefaultTableModel dm = (DefaultTableModel) tblTruyenResult.getModel();
int row = tblTruyenResult.getSelectedRow();
int col = tblTruyenResult.getSelectedColumn();
if (col == 6) {
MuonTruyen muonTruyen = new MuonTruyen();
muonTruyen.setTruyen(listTruyen.get(row));
muonTruyen.setPhieuMuon(phieuMuon);
//Trouble here (?)
ThueTruyenInfoFrm infoFrm = new ThueTruyenInfoFrm(listTruyen.get(row));
infoFrm.setVisible(true);
while (infoFrm.isVisible()) {
}
muonTruyen.setDieuKien(infoFrm.getTxtDieuKien().getText());
muonTruyen.setGiaMuon(Float.parseFloat(infoFrm.getTxtGiaThue().getText()));
muonTruyen.setTienPhat(0);
muonTruyen.setPaid(false);
}
}
的構造函數中:
public ThueTruyenInfoFrm(Truyen selected) {
initComponents();
txtTenTr.setText(selected.getTen());
txtTacGia.setText(selected.getTacGia());
pack();
}
這看起來有點忙'而(infoFrm.isVisible()){ }' –
@ScaryWombat因爲我希望事件去的時候被調用的形式將不再可見 –
呀關於但這似地將環消耗100%的CPU - 也許爲什麼表單從不顯示 - 考慮在循環中添加100ms睡眠 –