文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

手把手教你用Java打造一款简单故事书之一

2024-12-03 14:05

关注

一、项目背景

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

二、项目目标

实现美观的界面。

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

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

三、项目实施

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

 

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

(一)首先实现窗体界面

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

使用new关键字创建StoryBook类

  1. setTitle表示设置界面的; 
  2. setSize(宽,高)表示窗体大小; 
  3. setVisible(truefalse)表示窗体是否可见; 

效果图如下图:

 

(二)实现菜单栏

实现菜单栏步骤:

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

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

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

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

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

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

(5)菜单栏的字号

  1. private JMenuBar jb = new JMenuBar(); 
  2. private JMenu fontsize = new JMenu("字号"); 
  3. private JMenuItem twelf = new JMenuItem("12"); 
  4. private JMenuItem fiveteen = new JMenuItem("15"); 
  5. private JMenuItem eighteen = new JMenuItem("18"); 
  6. private JMenuItem twenty = new JMenuItem("20"); 

(6)菜单栏的字体

  1. private JMenu font = new JMenu("字体"); 
  2. private JMenuItem song = new JMenuItem("宋体"); 
  3. private JMenuItem hei = new JMenuItem("黑体"); 
  4. private JMenuItem kai = new JMenuItem("楷体"); 

(7)菜单栏的字形

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

(8)菜单栏的颜色

  1. private JMenu color = new JMenu("颜色"); 
  2. private JMenuItem red = new JMenuItem("红色"); 
  3. private JMenuItem green = new JMenuItem("绿色"); 
  4. private JMenuItem blue = new JMenuItem("蓝色"); 

(10)菜单栏的设置

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

(11)当前的背景图片

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

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

1.设置字体

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

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

  1. btn_last.setEnabled(false); 
  2. btn_next.setEnabled(true); 
  3. panel01.add(btn_last); 
  4. panel01.add(btn_next); 
  5. this.add(panel01,BorderLayout.SOUTH); 

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

  1. jb.add(fontsize); 
  2. jb.add(font); 
  3. jb.add(fontstyle); 
  4. jb.add(color); 
  5. jb.add(intall); 

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

  1. fontsize.add(twelf); 
  2. fontsize.add(fiveteen); 
  3. fontsize.add(eighteen); 
  4. fontsize.add(twenty); 
  5. this.setJMenuBar(jb); 

效果图如下图:

 

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

  1. font.add(song); 
  2. font.add(hei); 
  3. font.add(kai); 

效果图如下图:

 

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

  1. fontstyle.add(chang); 
  2. fontstyle.add(jia); 
  3. fontstyle.add(qing); 

效果图如下图

 

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

  1. color.add(red); 
  2. color.add(green); 
  3. color.add(blue); 

效果图如下图:

 

添加设置换壁纸

  1. intall.add(swap); 

效果图如下图:

 

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

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

四、总结

 

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

本文转载自微信公众号「Java进阶学习交流」,可以通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。

本文转载自微信公众号「Java进阶学习交流」,可以通过以下二维码关注。转载本文请联系Java进阶学习交流

 

来源:Java进阶学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯