我是java的新手
package assigment;
import java.awt.*;
import java.sql.*;
import javax.swing.*;
public class view extends JFrame {
public static void main(String[] args) {
new view();
}
public view(){
JFrame f = new JFrame("WELCOME");
f.setSize(400, 300);
f.setVisible(true);
f.setLocationRelativeTo(null);
controller cl = new controller();
JButton btnCompany = new JButton ("COMPANY");
f.add(btnCompany);
f.setLayout(null);
btnCompany.setBounds(50, 50, 100, 50);
btnCompany.addActionListener (cl);
}
}
控制器类
package assigment;
import java.awt.event.*;
public class controller {
public static void actioncompany(ActionEvent a,view view) {
if (a.getSource() == view.btnCompany) {
System.out.print ("test");
}
}
}
问题:
无法使用controller
类
无法访问btnCompany
类
controller
醇>
答案 0 :(得分:4)
由于没有字段view.btnCompany
,因此该代码甚至不应该编译。 btnCompany变量是构造函数的本地变量,因此在其他任何地方都是不可见的。另外,正如MadProgrammer所说,你的控制器类(重命名为 C ontroller)没有实现ActionListener,因此不能用作ActionListener。
我的代码还有其他问题: