java:图形化界面

一·图形化界面(GUI:Graphical User Interface)

1·AWT包

2·Swing包

3·主界面分析

4·界面设置(JFrame)

1·界面设置格式:
·先创建JFrame对象:

        JFrame gameJframe = new JFrame();

·给界面设置大小:

        gameJframe.setSize(with:603,height:680);

·显示界面:

        gameJframe.setVisilble(true);

//设置宽高
this.setSize(603, 680);
//设置标题
this.setTitle("魏的拼图游戏");
//设置图层在最顶层
this.setAlwaysOnTop(true);
//设置界面的位置
this.setLocationRelativeTo(null);
//设置游戏的关闭模式
//括号里是0,就是什么都不做的默认窗口关闭操作
//括号里是1,就是hide-window 默认窗口关闭操作
//括号里是2,dispose-window 默认窗口关闭操作,注意当Java虚拟机中的最后一个可显示的窗口被处理掉时,vm可能会终止。
//括号里是3,退出应用程序默认的窗口关闭操作
//也可以用:WindowConstants.EXIT_ON_CLOSE,或者点上其他东西
this.setDefaultCloseOperation(3);
//设置界面可见
this.setVisible(true);

五·菜单制作

1·引入JMenuBar类

包含功能,充值,等等功能

2·JMenu类

3·JMenuItem 类

用于创建具体功能的;

4·步骤

1·先创建JMenuBar的对象

2·再创建JMenu的对象

3·再创建JMenultem的对象

4·再将JMenultem的对象添加到JMenu对象中,再将JMenu对象添加到JMenuBar对象中。

实现代码:

//创建整个菜单对象
JMenuBar menuBar = new JMenuBar();
menuBar.setName("小菜单");
//创建菜单上面的两个选项的对象
JMenu functionJMenu = new JMenu("功能");
JMenu aboutJMenu = new JMenu("关于");
//创建选项下面的条目对象
JMenuItem replayJMenuItem = new JMenuItem("重新游戏");
JMenuItem reLoginJMenuItem = new JMenuItem("重新登入");
JMenuItem closeJMenuItem = new JMenuItem("关闭游戏");
//将创建的条目对象添加到功能对象
JMenuItem accountItem = new JMenuItem("公众号");
functionJMenu.add(replayJMenuItem);
functionJMenu.add(reLoginJMenuItem);
functionJMenu.add(closeJMenuItem);
//将创建的条目对象添加到关于我们对象
aboutJMenu.add(accountItem);
//将功能对象添加到菜单对象
menuBar.add(functionJMenu);
menuBar.add(aboutJMenu);
//设置整个菜单
setJMenuBar(menuBar);

六·添加图片

1·用ImageIcon添加图片

2·用JLable管理图片区域

对图片的宽高位置边框进行设置

先创建ImageIcon的对象把图片的路径添加进去,注意图片位置要在所建项目中,

ImageIcon icon = new ImageIcon("D:\\java练习\\puzzlegame\\src\\image (15).jpeg");
再创建JLable 的对象管理图片
JLabel image = new JLabel(icon);

用setBounds设置图片的位置,和大小

image.setBounds(0, 0, 400, 405);
添加图片到JFrame界面中的隐藏容器(ContentPane)中
this.getContentPane().add(image);

先添加的图片显示在上层;

背景图片要最后添加

注意//在创建界面中(JFrame)取消默认居中的位置,只有取消了才会按照XY轴的形式添加组件
this.setLayout(null);

七·事件

1·事件的定义

·事件是可以被组件识别的操作

·当你都组件干了某件事情之后,就会执行对应的代码

2·事件的要素

·事件源:按钮 图片 窗体·······

·事件:某些操作

        如:鼠标单击,鼠标入·······

·绑定监听:当事件源上发生了某个事件,则执行某段代码

3·常见监听

KeyListener        MouseListener        ActionListener

键盘监听                鼠标监听                动作监听(空格,鼠标单击)

实现动作监听:

先创建Button对象

Button newGameButton = new Button("按钮");

设置宽高,大小

newGameButton.setBounds(0,0,200,50);
添加动作监听,括号里的是实现类(匿名内部类),实现ActionListener接口,
newGameButton.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("点击按钮后执行的");
    }
});

将按钮添加到界面中

this.getContentPane().add(newGameButton);

实现鼠标监听:

可以实现:

                ·动作监听

                ·鼠标监听中的单击事件

                ·鼠标监听中的松开事件

设置按钮的位置大小

button1.setBounds(200,0,200,50);
给按钮添加鼠标监听,括号里是实现MouseListener接口的匿名内部类;
button1.addMouseListener(new MouseListener() {
    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("单击");//按下并释放
    }

    @Override
    public void mousePressed(MouseEvent e) {
        System.out.println("按下不松");
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        System.out.println("松开");
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        System.out.println("划入");
    }

    @Override
    public void mouseExited(MouseEvent e) {
        System.out.println("划出");
    }
});
将按钮添加到界面中;
this.getContentPane().add(button1);
实现键盘监听:

给整个界面添加键盘监听:

this.addKeyListener(new KeyListener() {
    @Override
暂时不理:
    public void keyTyped(KeyEvent e) {
        System.out.println("");
    }
按下后不松(如果一直按着不松就会重复执行):
    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("按下不松");
    }
按下后松开:
    @Override
    public void keyReleased(KeyEvent e) {

利用e.getKeyCode();来读取按下键盘中的那些按键,读取的是其对应的asll表

        int code = e.getKeyCode();
        if (code == 65) {
    System.out.println("你按的是A");
}

    }
});

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值