手把手教你用Java打造一款簡(jiǎn)單故事書(shū)
一、項(xiàng)目背景
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,電子版的書(shū)成為現(xiàn)在主流,針對(duì)用戶的需求,有的放矢地呈現(xiàn)給用戶,閱讀電子版書(shū),提高他們的學(xué)習(xí)效率。
二、項(xiàng)目目標(biāo)
1.實(shí)現(xiàn)美觀的界面。
2.能夠基本實(shí)現(xiàn)改變字號(hào)、字體、字形、顏色、壁紙等選擇,按鈕頁(yè)面切換功能。
3.java讀取txt文件,簡(jiǎn)化代碼。
三、項(xiàng)目實(shí)施
使用eclipse軟件開(kāi)發(fā),先上效果圖,如下圖所示??梢钥吹皆诮缑嫔嫌锌梢愿淖冏痔?hào)、字體、字形、顏色、設(shè)置選項(xiàng)的菜單欄,頁(yè)面切換的功能。
接下來(lái),小編帶大家進(jìn)行具體的實(shí)現(xiàn),具體的實(shí)現(xiàn)步驟如下。
(一)首先實(shí)現(xiàn)窗體界面
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關(guān)鍵字創(chuàng)建StoryBook類(lèi)
setTitle表示設(shè)置界面的標(biāo)題;
setSize(寬,高)表示窗體大小;
setVisible(true或false)表示窗體是否可見(jiàn);
效果圖如下圖:
(二)實(shí)現(xiàn)菜單欄
1.實(shí)現(xiàn)菜單欄步驟:
(1)創(chuàng)建JFrame實(shí)例、JPanel面板,然后把面板添加到JFrame中。
(2)創(chuàng)建JMenuBar菜單欄對(duì)象,JMenu在創(chuàng)建菜單對(duì)象,將菜單對(duì)象添加到菜單欄對(duì)象中。
(3)將JMenuItem菜單項(xiàng)添加到JMenu中。
public class StoryBook extends JFrame {
//成員變量
private static JTextArea text01 = new JTextArea("");
private String style="宋體";
private int pattern = Font.PLAIN;//字形(常規(guī))
private int size=10;//字號(hào)
private static String[] str=new String[3];
(4)面板一實(shí)現(xiàn)上下頁(yè)按鈕布局
private JPanel panel01=new JPanel();
private JPanel panel02=new JPanel();
private JButton btn_last=new JButton("上一頁(yè)");
private JButton btn_next=new JButton("下一頁(yè)");
private int papeNum=1;//當(dāng)前的頁(yè)碼 1 2 3
(5)菜單欄的字號(hào)
private JMenuBar jb = new JMenuBar();
private JMenu fontsize = new JMenu("字號(hào)");
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("常規(guī)");
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("藍(lán)色");
(10)菜單欄的設(shè)置
private JMenu intall = new JMenu("設(shè)置");
private JMenuItem swap = new JMenuItem("換壁紙");
(11)當(dāng)前的背景圖片
private int photoNum=1;//當(dāng)前顯示背景圖的序號(hào)
private JPanel imagePanel;
private ImageIcon bg= new ImageIcon("photo//photo"+photoNum+".jpg");//背景圖
private JLabel label = new JLabel(bg);
(三)在StoryBook類(lèi)的構(gòu)造函數(shù)設(shè)置組件的屬性
1.設(shè)置字體
text01.setLineWrap(true);//自動(dòng)換行
text01.setFont(new Font(style,pattern,size));
this.add(text01,BorderLayout.CENTER);
2.設(shè)置當(dāng)前第一頁(yè)的上一頁(yè)的按鈕不可以點(diǎn)擊,添加上下頁(yè)按鈕到邊界布局的南方向
btn_last.setEnabled(false);
btn_next.setEnabled(true);
panel01.add(btn_last);
panel01.add(btn_next);
this.add(panel01,BorderLayout.SOUTH);
3.添加菜單欄的菜單(字號(hào)、字體、字形、顏色、設(shè)置)
jb.add(fontsize);
jb.add(font);
jb.add(fontstyle);
jb.add(color);
jb.add(intall);
4.添加字號(hào)的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.添加字形的常規(guī)、加粗、傾斜
fontstyle.add(chang);
fontstyle.add(jia);
fontstyle.add(qing);
效果圖如下圖:
7.添加顏色紅色、綠色、藍(lán)色
color.add(red);
color.add(green);
color.add(blue);
效果圖如下圖:
8.添加設(shè)置換壁紙
intall.add(swap);
效果圖如下圖:
以上將字號(hào)、字體、字形、顏色、設(shè)置添加到JMenuBar菜單欄中,字體里面的菜單項(xiàng)如黑體、宋體添加到菜單中。其他字號(hào)、字形、顏色、設(shè)置添加組件也一樣!
接下來(lái)實(shí)現(xiàn)功能請(qǐng)看手把手教你用Java打造一款簡(jiǎn)單故事書(shū)(下篇)!
四、總結(jié)
本文主要介紹了JPanel、JButton、JLabel、JTextArea、JMenu、JMenuItem等組件的基本使用,以及相應(yīng)的事件處理。這些代碼比較簡(jiǎn)單,也是一個(gè)簡(jiǎn)單的小案例,希望對(duì)你的學(xué)習(xí)有所幫助。