写了一个窗口,想要实现右键菜单,代码也写好了,但就是显示不出来。eclipse也没有报错,自己又看不出来,所以希望有大佬可以帮我看一下,是哪里出错了,谢谢。
import javax.swing.;
import java.awt.;
import java.awt.event.;
import java.sql.;
public class StudentCarte extends JFrame{
String driverName=“com.microsoft.sqlserver.jdbc.SQLServerDriver”;//连接数据库
String url=“jdbc:sqlserver://localhost:1433;DatabaseName=StudentTest”;
String userName=“sa”;
String password=“573063”;
Connection conn=null;
static PopupMenu popm;
static MenuItem addNew1;
static MenuItem updateNew1;
static MenuItem deleteNew1;
//连接数据库
public Connection getConnection() {
try {
Class.forName(driverName);
System.out.println("连接成功");
conn=DriverManager.getConnection(url,userName, password);
System.out.println("连接失败");
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return conn;
}
//主方法
public static void main(String[] args) {
// TODO 自动生成的方法存根
new StudentCarte().firtPage();
new StudentCarte();
//连接数据库
StudentCarte sc=new StudentCarte();
Connection conn=sc.getConnection();
System.out.println(conn);
}
public void firtPage (){
Frame frame=new Frame();
frame.setTitle("学生信息教务系统");
//文本域
JTextField txt = new JTextField(30);
txt.setText("欢迎登陆学生信息教务系统!");
txt.setFont(new Font("宋体", Font.BOLD,30));
txt.setBackground(Color.red);
txt.setVisible(true);
frame.add(txt);//显示文本框
//菜单栏
MenuBar jmb=new MenuBar();
frame.setMenuBar(jmb);
Menu data = new Menu("数据"); //创建菜单
Menu query = new Menu("查询");
Menu add = new Menu("添加");
Menu update = new Menu("更新");
Menu delete = new Menu("删除");
Menu help = new Menu("帮助");
jmb.add(data); //将菜单加到菜单栏
jmb.add(query);
jmb.add(add);
jmb.add(update);
jmb.add(delete);
jmb.add(help);
//创建一个菜单项并添加到菜单上
MenuItem dataNew1 = new MenuItem("连接数据库");
MenuItem dataNew2 = new MenuItem("取消连接数据库");
MenuItem dataNew3 = new MenuItem("退出");
data.add(dataNew1);
data. add (dataNew2);
data.add(dataNew3);
MenuItem queryNew1 = new MenuItem("全部");
MenuItem queryNew2 = new MenuItem("学号");
MenuItem queryNew3 = new MenuItem("姓名");
MenuItem queryNew4= new MenuItem("性别");
MenuItem queryNew5 = new MenuItem("宿舍号");
query. add (queryNew1);
query. add (queryNew2);
query. add (queryNew3);
query. add (queryNew4);
query. add (queryNew5);
MenuItem addNew = new MenuItem("添加");
add.add(addNew);
MenuItem updateNew = new MenuItem("更新");
update.add(updateNew);
MenuItem deleteNew = new MenuItem("删除");
delete.add(deleteNew);
MenuItem helpNew1 = new MenuItem("帮助主题");
MenuItem helpNew2 = new MenuItem("关于Student Manager");
help. add (helpNew1);
help. add (helpNew2);
//添加右键菜单
popm=new PopupMenu();
addNew1 = new MenuItem("添加");
updateNew1 = new MenuItem("更新");
deleteNew1 = new MenuItem("删除");
updateNew1.setLabel("更新");
updateNew1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
updateNew1_actionPerformed(e);
}
});
addNew1.setLabel("添加");
addNew1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
updateNew1_actionPerformed(e);
}
});
deleteNew1.setLabel("删除");
deleteNew1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
updateNew1_actionPerformed(e);
}
});
popm.add(updateNew1);
popm.add(addNew1);
popm.add(deleteNew1);
add (popm);
//监听器
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
this_mousePressed(e);
}
});
//添加关闭窗口事件的监听器
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
// f.setVisible(false);
System.exit(0);
}
});
frame.add(popm);//显示右键菜单事件
frame.setSize(500,450);//显示界面
frame.setVisible(true);
}
void this_mousePressed(MouseEvent e) {
// TODO 自动生成的方法存根
int mods=e.getModifiers();
//鼠标右键
if((mods&InputEvent.BUTTON3_MASK)!=0){
//弹出菜单
popm.add(updateNew1);
popm.add(addNew1);
popm.add(deleteNew1);
add (popm);
popm.show(this,e.getX(),e.getY());
}
}
//更新事件
void updateNew1_actionPerformed(ActionEvent e) {
//更新事件
}
//添加事件
void addNew1_actionPerformed(ActionEvent e) {
//添加事件
}
//删除事件
void deleteNew1_actionPerformed(ActionEvent e) {
//删除事件
}
}