问题:
使用SWT技术完成下图所示学籍管理主界面的设计与制作。在“用户登录”菜单中添加组件选择事件,当选中“用户登录”时,打开所示用户登录界面。
思路:
没啥思路,就用菜单项,设监听,关闭当前页面然后开窗口就好
代码:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class question6 {
public static void main(String[] args) {
MyFrame6 m=new MyFrame6("menu");
}
}
class MyFrame66 extends JFrame{
JLabel text1,text2;
public MyFrame66(String s){
super(s);
setLayout(null);
// 定义一个容器
Container con = getContentPane();
// 创建"用户名:"标签
JLabel text1 = new JLabel("请输入用户名:");
// 创建文本框
final JTextField t1 = new JTextField();
// 创建"密码:"标签
JLabel text2 = new JLabel("请输入密码:");
// 创建密码框
final JPasswordField t2 = new JPasswordField();
// 设置密码字符为*
t2.setEchoChar('*');
// 将各组件添加到容器中
con.add(text1);
con.add(t1);
con.add(text2);
con.add(t2);
// 设置各组件的位置以及大小
text1.setBounds(110, 150, 100, 30);
t1.setBounds(200, 150, 150, 30);
text2.setBounds(110, 200, 100, 30);
t2.setBounds(200, 200, 150, 30);
setLocation(300,200);
setSize(500,500);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
class MyFrame6 extends JFrame{
JMenuBar menubar;
JMenu menu1,menu2,menu3,menuhelp;
JMenuItem item1,item2;
JLabel text;
public MyFrame6(String s) {
setTitle(s);
setLayout(null);
setLocation(300,200);
setSize(500,500);
text=new JLabel("欢迎使用学籍管理系统");
text.setForeground(Color.red);
text.setFont(new java.awt.Font("Dialog",1,22));
add(text);
text.setBounds(140,150,250,150);
menubar=new JMenuBar();
menu1=new JMenu("系统登录");
menu2=new JMenu("用户管理");
menu3=new JMenu("学籍管理");
menuhelp=new JMenu("关于");
item1=new JMenuItem("用户登录",new ImageIcon("a.gif"));
item2=new JMenuItem("退出",new ImageIcon("b.gif"));
menu1.add(item1);
menu1.add(item2);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menuhelp);
item1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
MyFrame66 a=new MyFrame66("用户登录");
}
});
setJMenuBar(menubar);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}