「java小说制作」java教程
今天给各位分享java小说制作的知识,其中也会对java教程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、小说TXT怎么转换为JAVA格式
- 2、谁有java小说制作软件 我的是l7 找了好久都没找到
- 3、想要用java做一个小说网站,书籍的更新问题。前辈请指点下。
- 4、使用java编程,实现一个小说管理器
- 5、谁能帮我写个Java小项目,是简单的,就写小说TXT阅读器的好了,最少要用到流和集合。麻烦注释下可以吗?
- 6、想要用java做一个小说网站,书籍章节问题。请前辈指教
小说TXT怎么转换为JAVA格式
互联网上有数不清的书籍和资料供广大朋友观看,可是在网上看书看时间久了,很不舒服、而且很不方便。制作成java电子书,安装到手机上观看,不仅可以保护视力,而且可以在床上看、在车上看,带在身上,在闲暇的时间看,方便实用。
我的软件Jbook手机java电子书制作系统,就是一款专门制作手机电子书的软件,它使用方便、简单,制作出的电子书,可任意设定章节,有了这款软件,就可以将网上无穷的资源安装到手机上观看,给您的生活增添无穷的乐趣。如果要使用的软件,您的电脑必须安装java的运行库,它的下载地址:
谁有java小说制作软件 我的是l7 找了好久都没找到
JAVA小说基本是就是TXT和JAR这2种格式的小说
你先上网站去搜个MOTO-TXT就能看TXT小说了
还有你有存储卡没,没存储卡你的MOTO-L7本身内存是
不够用的。上电脑上下小说还必须要个读卡器,把存储卡
塞里面的,这个你应该知道的吧
我推荐你个网站飞库网里面去下载小说吧,种类齐全,更新及时
还有很多内容的简介,而且有TXT和JAR这两种小说格式的下载
或者上狗狗搜索直接下载小说也行的
你下载的是TXT的么,飞库上下载的TXT是压缩包,还需要解压一下
才能出来TXT文件的啊
想要用java做一个小说网站,书籍的更新问题。前辈请指点下。
这个很简单的,不是什么问题。但是,重点是,你的小说是什么格式。咱们以最常见的txt格式为例来讨论这个问题。
1.数据库里应该设计“小说”表,存储每一本“小说”的信息。而这个表里,需要有小说的id,名称,作者等信息,而对应的,还需要有一个小说存储的地址信息,这个地址,就是小说在你服务端的地址,即你服务器硬盘上的存储路径。
2.客户在读小说时,客户端发送请求,服务端接收了客户请求,通过请求数据库,找到每本“小说”的在服务器硬盘上的地址,然后可以选择将字符串读取出来传送回客户端,或者直接把地址告诉客户端让用户进行下载。
3.明白了这个设计,更新也很简单。更新时,首先需要将小说上传至服务端硬盘;然后更新数据库,将小说的各种信息,包括存储地址,维护进数据库(这一步可以专门做一个管理页面进行维护),这样一本新的小说就更新完成了。
4.以上是大体的设计实现思路,你可以根据你的实际情况看下是否可行。
使用java编程,实现一个小说管理器
又看见这种提问,唉。。。
1.明确自己是用什么模式实现,C/S还是B/S 。
个人建议B/S
因为比较多的范例可以参考,技术上也比较容易上手。
2.BS的实现思路
框架就采用Struts和JDBC吧,完全够用。
步骤就是:先建表,再前端,再后台。也可以先前端页面。
1登录、注册比较简单,不涉及权限控制,用户表:用户名、密码(MD5加密)邮箱、性别等等。略过。
2在线小说阅读数据库的建立
小说表:ID、书名、分类、地址(建议把小说内容放在TXT文档中,读取的时候放进Jsp就好,因此这里的地址就是小说在服务器硬盘上的地址)、作者、简介等
分类表: ID 分类名
等
3实现阅读小说
点击某个小说的时候传一个小说的ID到后台,查表,得到小说的地址,用IO读出小说,传回前台,当然建议分页读,以免小说过大,影响效率。
4上传和下载,Struts2可以比较方便的实现,网上例子比较多。
谁能帮我写个Java小项目,是简单的,就写小说TXT阅读器的好了,最少要用到流和集合。麻烦注释下可以吗?
只提供一个小说阅读,如下
package reader;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Notebook {
private JFrame frame;
private JTextArea textArea;
private JMenuBar menuBar;
private JMenu file, format, search, help;
private JMenuItem open, exit;
private JMenuItem font, color, background, speed;
private JMenuItem find, changeto;
private JMenuItem helps, about;
private Boolean autoLineWrap = true;
private String fileName = "未命名";// 文件名
// private File currentFile ;
private JScrollPane jsp;
private JScrollBar jsb;
private Speed sped;
private font font1;
int delay = 10;
Timer timer = new Timer(delay, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jsb.setValue(jsb.getValue() + jsb.getUnitIncrement());
}
});
public Notebook() {
frame = new JFrame();
frame.setTitle("未命名");
frame.setLayout(new BorderLayout());
textArea = new JTextArea();
textArea.setFont(new Font("宋体", Font.PLAIN, 18));// 设置默认字体样式字号
// set input textArea 设置编辑区
textArea.setText("");
textArea.setEditable(false);
textArea.setLineWrap(autoLineWrap);// 设置自动换行
jsp = new JScrollPane(textArea);// set Scroll
jsb = jsp.getVerticalScrollBar();
jsb.addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
int i;
i = jsb.getUnitIncrement();
System.out.println(i);
}
});
frame.add(jsp, BorderLayout.CENTER);
// 菜单
menuBar = new JMenuBar();
file = new JMenu("文件");
file.setMnemonic('F');
format = new JMenu("格式");
search = new JMenu("搜索");
help = new JMenu("帮助");
menuBar.add(file);
menuBar.add(format);
menuBar.add(search);
menuBar.add(help);
// 文件菜单项
open = new JMenuItem("打开...", KeyEvent.VK_O);
exit = new JMenuItem("退出");
file.add(open);
file.add(exit);
// 格式菜单项
// autoLine = new JCheckBoxMenuItem("自动换行");
font = new JMenuItem("字体...");
color = new JMenuItem("颜色...");
background = new JMenuItem("背景颜色...");
speed = new JMenuItem("滚屏速度...");
// format.add(autoLine);
format.add(font);
format.add(color);
format.add(background);
format.add(speed);
// 搜索菜单项
find = new JMenuItem("查找...");
changeto = new JMenuItem("转到...");
search.add(find);
search.add(changeto);
// 帮助菜单项
helps = new JMenuItem("帮助");
about = new JMenuItem("关于");
help.add(helps);
help.add(about);
// 设置菜单条
menuBar.add(file);
menuBar.add(format);
menuBar.add(search);
menuBar.add(help);
frame.setJMenuBar(menuBar);
// sped///
sped = new Speed(jsb, timer);
font1 = new font(textArea);
// 调用监听方法
addEventHandler();
// ////
textArea.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
timer.start();
}
if (e.getClickCount() == 1) {
timer.stop();
}
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
}
});
// 监听上下键//
textArea.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent arg0) {
if (arg0.getKeyCode() == KeyEvent.VK_UP) {
jsb.setValue(jsb.getValue() - jsb.getUnitIncrement());
}
if (arg0.getKeyCode() == KeyEvent.VK_DOWN) {
jsb.setValue(jsb.getValue() + jsb.getUnitIncrement());
}
}
public void keyReleased(KeyEvent arg0) {
}
public void keyTyped(KeyEvent arg0) {
}
});
//
textArea.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
timer.start();
}
if (e.getClickCount() == 1) {
timer.stop();
}
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
}
});
}
// /////////初始化frame////////////////
protected void frameInit() {
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(d.width, d.height);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension b = frame.getSize();
}
private void addEventHandler() {
// 文件项的监听
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileOpen();
jsb.setValue(0);
}
});
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fileExit();
}
});
// 格式菜单的监听
font.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
font1.addEventHandler();
}
});
color.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
formatColor();
}
});
background.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
formatBackground();
}
});
speed.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sped.liser();
}
});
}
// ////////文件项的方法/////////////////////////
private void fileOpen() {
textArea.setText("");
JFileChooser fileChooser = new JFileChooser();
fileChooser.showOpenDialog(frame);
File file = fileChooser.getSelectedFile();
if (file == null)
return;
fileName = file.getName();// 获得文件名
frame.setTitle(file.getAbsolutePath());
FileInputStream fis = null;
BufferedReader br = null;
try {
fis = new FileInputStream(file);
br = new BufferedReader(new InputStreamReader(fis));
String str = null;
while ((str = br.readLine()) != null) {
textArea.append(str + "\n");
}
System.out.println("打开成功");
textArea.setCaretPosition(0);
} catch (IOException e1) {
JOptionPane.showMessageDialog(frame, "文件不存在或已被损坏");
} finally {
if (br != null)
try {
br.close();
} catch (IOException e) {
}
if (fis != null)
try {
fis.close();
} catch (IOException e) {
}
}
}
private void fileExit() {
int option = -1;
Object options[] = { "Yes", "No" };
option = JOptionPane.showOptionDialog(frame, "是否退出阅读?", "exit",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
options, options[0]);
switch (option) {
case JOptionPane.YES_OPTION:
System.exit(0);
}
}
// //////////////////////////////////////////////////////////
// ///////////////格式项的方法/////////////////////////////////
private void formatColor() {
// 弹出颜色色选择器对话框
Color color = JColorChooser.showDialog(textArea, "选择颜色", Color.BLACK);
textArea.setForeground(color);
}
private void formatBackground() {
// 弹出颜色色选择器对话框
Color color = JColorChooser.showDialog(textArea, "选择颜色", Color.BLACK);
textArea.setBackground(color);
}
// ////////////////////////////////////////////////////////////
public static void main(String args[]) {
Notebook nt = new Notebook();
nt.frameInit();
}
}
class font {
private JTextArea textArea;
private JButton ok, cancel;
private JComboBox fontName, fontSize, fontStyle;
GraphicsEnvironment ge;// 定义系统字体对象
String[] size = { "8", "10", "12", "14", "16", "18", "20", "22", "24",
"26", "28", "32", "36", "48", "72", "96" };
String[] style = { "PLAIN", "BOLD", "ITALIC" };
JFrame jf = new JFrame("字体设置");
public font(JTextArea textArea) {
this.textArea = textArea;
JLabel label1 = new JLabel(
" 字体 ");
JLabel label2 = new JLabel(" 字号 ");
JLabel label3 = new JLabel(" 样式 ");
ge = GraphicsEnvironment.getLocalGraphicsEnvironment();// 获取系统字体
String[] fontname = ge.getAvailableFontFamilyNames();
fontName = new JComboBox(fontname);
fontSize = new JComboBox(size);
fontStyle = new JComboBox(style);
ok = new JButton("确定");
cancel = new JButton("取消");
jf.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
p1.add(label1);
p1.add(label2);
p1.add(label3);
p2.add(fontName);
p2.add(fontSize);
p2.add(fontStyle);
p3.add(ok);
p3.add(cancel);
jf.add(p1, BorderLayout.NORTH);
jf.add(p2, BorderLayout.CENTER);
jf.add(p3, BorderLayout.SOUTH);
jf.setSize(360, 200);
jf.setLocation(300, 200);
jf.setVisible(false);
jf.setResizable(false);
// addEventHandler();
}
void addEventHandler() {
jf.setVisible(true);
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String n1 = (String) fontName.getSelectedItem();
int n2 = fontStyle.getSelectedIndex();
String n3 = (String) fontSize.getSelectedItem();
textArea.setFont(new Font(n1, n2, Integer.parseInt(n3)));
jf.setVisible(false);
}
});
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jf.setVisible(false);//
}
});
}
}
class Speed implements ItemListener {
private JScrollBar jsb;
private JFrame jfrm;
private JLabel jlb1;
// JLabel jlb2;
private JButton jbt;
// private JCheckBox jcheckbox;
private JComboBox jcbb;
Integer sudu;
Timer timer;
private Integer msg[] = { 1, 10, 18, 36, 48, 66, 80, 90 };
public Speed(final JScrollBar jsb, final Timer timer) {
this.jsb = jsb;
this.timer = timer;
jfrm = new JFrame();
jlb1 = new JLabel("滚屏速度");
jbt = new JButton("确定");
// jcheckbox = new JCheckBox("自动滚屏");
jcbb = new JComboBox(msg);
jfrm.setLayout(new FlowLayout());
jfrm.add(jlb1);
jfrm.add(jcbb);
// jfrm.add(jcheckbox); jfrm.add(jbt);
jfrm.setVisible(false);
jcbb.setEditable(true);
jfrm.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
jfrm.pack();
}
void liser() {
jfrm.setVisible(true);
// /////监听复选框///////////////////////////
jcbb.addItemListener(this);
/*
* jcbb.addActionListener(new ActionListener(){ public void
* actionPerformed(ActionEvent e) {
* jcbb.setSelectedIndex(jcbb.getSelectedIndex()); }});
*/
// ///////监听按钮//////////////////////////
jbt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
jfrm.setVisible(false);
}
});
// ////////////////////////////////////
/*
* jcheckbox.addItemListener(new ItemListener(){ public void
* itemStateChanged(ItemEvent e) { if(jcheckbox.isSelected()==false){
* System.out.println("false"); timer.stop(); }
* if(jcheckbox.isSelected()==true){ timer.start(); } }} );
*/
}
@Override
public void itemStateChanged(ItemEvent arg0) {
sudu = (Integer) jcbb.getSelectedItem();
// jcbb.setSelectedItem(msg);//jcbb.updateUI() ;
jsb.setUnitIncrement(sudu.intValue());
}
}
想要用java做一个小说网站,书籍章节问题。请前辈指教
放到word里面,再自动生成目录,放进手机可看,我觉得这样最方便,但要看你的手机支不支持word to go了。
关于java小说制作和java教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。