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