zoukankan      html  css  js  c++  java
  • 手把手教你用Java打造一款简单故事书(上篇)

    一、项目背景

    随着移动互联网的发展,电子版的书成为现在主流,针对用户的需求,有的放矢地呈现给用户,阅读电子版书,提高他们的学习效率。

    二、项目目标

    1.实现美观的界面。

    2.能够基本实现改变字号、字体、字形、颜色、壁纸等选择,按钮页面切换功能。

    3.java读取txt文件,简化代码。

    三、项目实施

    使用eclipse软件开发,先上效果图,如下图所示。可以看到在界面上有可以改变字号、字体、字形、颜色、设置选项的菜单栏,页面切换的功能。

    接下来,小编带大家进行具体的实现,具体的实现步骤如下。

    (一)首先实现窗体界面

    public static void main(String[] args)throws IOException {
    // TODO Auto-generated method stub
      StoryBook s = new StoryBook();
      s.setTitle("小故事大道理");
      s.setSize(600,500);
      s.setVisible(true);
    }
    

    1.使用new关键字创建StoryBook类

    setTitle表示设置界面的标题;
    setSize(宽,高)表示窗体大小;
    setVisible(true或false)表示窗体是否可见;
    

    效果图如下图:

    (二)实现菜单栏

    1.实现菜单栏步骤:

    (1)创建JFrame实例、JPanel面板,然后把面板添加到JFrame中。

    (2)创建JMenuBar菜单栏对象,JMenu在创建菜单对象,将菜单对象添加到菜单栏对象中。

    (3)将JMenuItem菜单项添加到JMenu中。

    public class StoryBook extends JFrame {
    //成员变量
    private  static JTextArea text01 = new JTextArea("");
    private String style="宋体";
    private int pattern = Font.PLAIN;//字形(常规)
    private int size=10;//字号
    private static String[] str=new String[3];
    

    (4)面板一实现上下页按钮布局

    private JPanel panel01=new JPanel();
    private JPanel panel02=new JPanel();
    private JButton btn_last=new JButton("上一页");
    private JButton btn_next=new JButton("下一页");
    private int papeNum=1;//当前的页码 1 2 3
    

    (5)菜单栏的字号

    private JMenuBar jb = new JMenuBar();
    private JMenu fontsize = new JMenu("字号");
    private JMenuItem twelf = new JMenuItem("12");
    private JMenuItem fiveteen = new JMenuItem("15");
    private JMenuItem eighteen = new JMenuItem("18");
    private JMenuItem twenty = new JMenuItem("20");
    

    (6)菜单栏的字体

    private JMenu font = new JMenu("字体");
    private JMenuItem song = new JMenuItem("宋体");
    private JMenuItem hei = new JMenuItem("黑体");
    private JMenuItem kai = new JMenuItem("楷体");
    

    (7)菜单栏的字形

    private JMenu fontstyle = new JMenu("字形");
    private JMenuItem chang = new JMenuItem("常规");
    private JMenuItem jia = new JMenuItem("加粗");
    private JMenuItem qing = new JMenuItem("倾斜");
    

    (8)菜单栏的颜色

    private JMenu color = new JMenu("颜色");
    private JMenuItem red = new JMenuItem("红色");
    private JMenuItem green = new JMenuItem("绿色");
    private JMenuItem blue = new JMenuItem("蓝色");
    

    (10)菜单栏的设置

    private JMenu intall = new JMenu("设置");  
    private JMenuItem swap = new JMenuItem("换壁纸");
    

    (11)当前的背景图片

    private int photoNum=1;//当前显示背景图的序号
    private JPanel imagePanel;
    private ImageIcon bg= new ImageIcon("photo//photo"+photoNum+".jpg");//背景图
    private JLabel label = new JLabel(bg);
    

    (三)在StoryBook类的构造函数设置组件的属性

    1.设置字体

    text01.setLineWrap(true);//自动换行
    text01.setFont(new Font(style,pattern,size));
    this.add(text01,BorderLayout.CENTER);
    

    2.设置当前第一页的上一页的按钮不可以点击,添加上下页按钮到边界布局的南方向

    btn_last.setEnabled(false);
    btn_next.setEnabled(true);
    panel01.add(btn_last);
    panel01.add(btn_next);
    this.add(panel01,BorderLayout.SOUTH);
    

    3.添加菜单栏的菜单(字号、字体、字形、颜色、设置)

    jb.add(fontsize);
    jb.add(font);
    jb.add(fontstyle);
    jb.add(color);
    jb.add(intall);
    

    4.添加字号的12、15、18、20

    fontsize.add(twelf);
    fontsize.add(fiveteen);
    fontsize.add(eighteen);
    fontsize.add(twenty);
    this.setJMenuBar(jb);
    

    效果图如下图:

    5.添加字体的宋体、黑体、楷体

    font.add(song);
    font.add(hei);
    font.add(kai);
    

    效果图如下图:

    6.添加字形的常规、加粗、倾斜

    fontstyle.add(chang);
    fontstyle.add(jia);
    fontstyle.add(qing);
    

    效果图如下图:

    7.添加颜色红色、绿色、蓝色

    color.add(red);
    color.add(green);
    color.add(blue);
    

    效果图如下图:

    8.添加设置换壁纸

    intall.add(swap);
    

    效果图如下图:

    以上将字号、字体、字形、颜色、设置添加到JMenuBar菜单栏中,字体里面的菜单项如黑体、宋体添加到菜单中。其他字号、字形、颜色、设置添加组件也一样!

    接下来实现功能请看手把手教你用Java打造一款简单故事书(下篇)!

    四、总结

    本文主要介绍了JPanel、JButton、JLabel、JTextArea、JMenu、JMenuItem等组件的基本使用,以及相应的事件处理。这些代码比较简单,也是一个简单的小案例,希望对你的学习有所帮助。下篇文章,我们进行具体的实现,敬请期待!

  • 相关阅读:
    fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)
    SQL Server 请求失败或服务未及时响应。有关详细信息,请参见事件日志或其它适合的错误日志
    8086CPU的出栈(pop)和入栈(push) 都是以字为单位进行的
    FTP 服务搭建后不能访问问题解决
    指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
    Linux 安装MongoDB 并设置防火墙,使用远程客户端访问
    svn Please execute the 'Cleanup' command. 问题解决
    .net 操作MongoDB 基础
    oracle 使用绑定变量极大的提升性能
    尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
  • 原文地址:https://www.cnblogs.com/dcpeng/p/15248799.html
Copyright © 2011-2022 走看看