zoukankan      html  css  js  c++  java
  • Java桌面精灵基础——swing类的使用与关键代码

    当~当当当!首先是自我介绍以及写此篇随笔的目的。

    :21岁,是学生。专业为Android移动智能设备,Java为必修课所以有较为浅薄的Java知识。

    写这篇文章的目的:在小学的时候用过某桌面精灵,当时对这种小程序感到很好奇,一个2D人物竟然能穿梭游荡于桌面与浏览器之间,并且通过各自点击拖拽事件可以展现出不同的形态

     参考文章

    创建一个桌面精灵不可避免地要将图片显示在桌面上,所以我们第一步就是如何在java中编写代码实现一个窗口

    • 创建空白窗口
    import javax.swing.*;
    public class Text01_3 {
        public static void main(String[] args) {
            //设置常量宽度高度
            final int Width = 400;
            final int Height = 400;
            //框体名称、宽度高度
            JFrame f = new JFrame("今天的天气真好呢~");
            f.setSize(Width, Height);
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setVisible(true);
            
        }
    }

     窗口的名字可以在JFrame("");中进行设置,同时也可以用 setSize()方法对窗口的宽度高度进行设置,实际效果如下(400X400)

      

    • 创建完窗口后,可以对窗口内容进行设置
    import javax.swing.*;
    public class Text01_4 {
    
        
        public static void main(String[] args) {
            //顶级容器或顶级组件
            JFrame f = new JFrame("这是一个窗口");
            f.setSize(400,400);
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setVisible(true);
            //中间组件
            JPanel contentPane = new JPanel();
            f.setContentPane(contentPane);
            //基本组件
            
            //这是界面内的按钮
            JButton btn = new JButton("这是一个按钮"); 
            contentPane.add(btn);
            
            //从此处截至代码不会显示按钮,必须进行f.setVisible(true);操作才能正常显示按钮
            //为窗口上方设置一行菜单栏
            JMenuBar menubar = new JMenuBar();
            f.setJMenuBar(menubar);
            JMenu menu1 = new JMenu("这是一哦");
            JMenu menu2 = new JMenu("这是二哦");
            JMenu menu3 = new JMenu("这是三哦");
            JMenu menu4 = new JMenu("这是四哦");
            JMenu menu5 = new JMenu("这是五哦");
            JMenu menu6 = new JMenu("这是六哦");
            menubar.add(menu1);
            menubar.add(menu2);
            menubar.add(menu3);
            menubar.add(menu4);
            menubar.add(menu5);
            menubar.add(menu6);
            //对菜单栏的内容功能进行扩充
            JMenuItem item1 = new JMenuItem("我是一的大儿子");
            JMenuItem item2 = new JMenuItem("我是一的二儿子");
            JMenuItem item3 = new JMenuItem("我是一的小儿子");
            menu1.add(item1);
            menu1.add(item2);
            menu1.addSeparator();//给二者之间添加横线
            menu1.add(item3);
            
            f.setVisible(true);//必须要刷新一下,不然添加的基本组件出不来    
        }
    }

    效果如下

  • 相关阅读:
    AC自动机 [模板]
    ChonSu [ZOJ 2684]
    Quad Tiling [POJ 3420]
    LCA 最近公共祖先 [POJ 1330]
    强连通分量[trajan]
    高斯消元 [模板]
    01K Code [HDU 1545]
    Cycle Game [ZOJ 2686]
    清除Eclipse中的内置浏览器中的历史记录(REF)
    第三方的 NET 数据库连接提供者,Lightswitch
  • 原文地址:https://www.cnblogs.com/occlive/p/10573970.html
Copyright © 2011-2022 走看看