1
因此,基本上,即時通訊實現在視圖中的接口,然後傳遞視圖作爲自定義事件的來源,在3「instanceof」調用之一它返回false。Java - instanceof返回false時,應該是true
查看:
public class NamedOffensiveStatsView extends BagVectorPanel implements INamedOffensiveStatsView {
Event.toString():
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(this.getSource().getClass() + ": ");
e.toString()打印:
class pl.drag0nius.diablo3.DPSCalc.NamedOffensiveStats.NamedOffensiveStatsView$2
的instanceof返回false:
@Override
public void eventFired(Event e) {
logger.debug("eventFired: " + e.toString());
if (e.getSource() instanceof INamedOffensiveStatsView) {
另外我不能從視圖轉換到它的界面。
回答:
在我朋友的幫助下,我們發現了這個問題。
(視野內的initComponents())的代碼調用事件:
jComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (comboBoxReady) {
logger.debug("actionPerformed");
listener.eventFired(new Event(this, "selection", jComboBox.getSelectedIndex()));
}
}
});
它應該是什麼:
jComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (comboBoxReady) {
logger.debug("actionPerformed");
listener.eventFired(new Event(NamedOffensiveStatsView.this, "selection", jComboBox.getSelectedIndex()));
}
}
});
「這個」 被引用嵌套類,而不是視圖。
e.getSource()== null其中instanceof返回false? – Keppil
我認爲你應該把你的編輯作爲答案,並接受你自己的答案。 – nhahtdh
事情是我不能回答我自己的問題發佈後的頭10個小時或類似的東西。 – drag0nius