,所以我的代碼看起來像這樣的一個部分......如何調用外部方法的Java按鈕(GUI)
public IPGUI() {
setTitle("IP Extractor");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 250, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JButton btnConvertDocuments = new JButton("1. Convert Documents");
btnConvertDocuments.setAlignmentX(Component.CENTER_ALIGNMENT);
btnConvertDocuments.setMaximumSize(new Dimension(160, 0));
btnConvertDocuments.setPreferredSize(new Dimension(0, 50));
panel.add(btnConvertDocuments);
btnConvertDocuments.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//FileConverter fc = new FileConverter();
//Why wont the above method work?
}
});
JSeparator separator_3 = new JSeparator();
panel.add(separator_3);
當我按一下按鈕,這是時產生的錯誤:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
FileConverter cannot be resolved to a type
FileConverter cannot be resolved to a type
at IPGUI$2.actionPerformed(IPGUI.java:60)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
所以我實現了監聽器和執行動作的事件,但我不明白爲什麼我不能撥打電話到另一個類的方法?有人能解釋我要去哪裏嗎?預先感謝您的任何意見。
爲什麼它不工作? 什麼是確切的編譯器錯誤?你的代碼段應該可以工作,我沒有FileConverter,但是我可以在內部的ActionListener類中創建任何對象。也許你試圖訪問外部類的變量,這不是最終的? – timaschew
我認爲你編譯錯誤的方式。你做什麼/怎麼做? – timaschew
您能否詳細說明「在另一個班級中調用該方法」?什麼呼叫?什麼方法?什麼級別? – MacGyver