项目CODE地址:
https://code.csdn.net/u012995856/autogenseoarticle/tree/master
效果图:




目录结构:

功能:
GUI输入,替换现成模板里的变量,生成新文件
Generator.java

package cn.pangPython.autogenseoarticle;import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;import javax.swing.JOptionPane;public class Generator {//用于生成各种类型的文件//HTML//TXT暂未实现//Word暂未实现//生成软文单页public void createHTML(String title,String author,String content,String qrCodeAddr,String copyright,String url) throws IOException {FileWriter filewriter = null;PrintWriter printwriter = null;BufferedReader bufferedreader = null;String inline = null;String filename = "html/"+title+".html";try {//读取文件bufferedreader = readHTML("template/seo1.html");} catch (FileNotFoundException e1) {e1.printStackTrace();}try {filewriter = new FileWriter(filename);} catch (IOException e) {e.printStackTrace();}printwriter = new PrintWriter(filewriter);//遍历文件内容,并查找替换标题、作者、内容、二维码、超链接等while ((inline = bufferedreader.readLine())!=null) {if(inline.indexOf("{title}")>=0){inline = inline.replace("{title}", title);}if (inline.indexOf("{author}")>=0) {inline = inline.replace("{author}", author);}if(inline.indexOf("{content}")>=0){inline = inline.replace("{content}", content);}if(inline.indexOf("{qrCodeAddr}")>=0){inline = inline.replace("{qrCodeAddr}", qrCodeAddr);}if(inline.indexOf("{copyright}")>=0){inline = inline.replace("{copyright}", copyright);}if(inline.indexOf("{url}")>=0){inline = inline.replace("{url}", url);}printwriter.println(inline);}printwriter.close();filewriter.close();bufferedreader.close(); System.out.println(title+qrCodeAddr+copyright+url);JOptionPane.showMessageDialog(null,"网页已经生成:"+filename, "提示",JOptionPane.CLOSED_OPTION);}//读取HTML模板文件,返回一个bufferedreader public BufferedReader readHTML(String template_path) throws FileNotFoundException{FileReader filereader = null;BufferedReader bf_reader = null;try {filereader = new FileReader(template_path);} catch (FileNotFoundException e1) {e1.printStackTrace();}bf_reader = new BufferedReader(filereader);return bf_reader;}}

MainFrame.java

package cn.pangPython.autogenseoarticle;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;public class MainFrame extends JFrame {/*** 主窗体文件,可以使用eclipse-windowbuilder 插件可视化编辑*/private static final long serialVersionUID = 1L;private JPanel contentPane;private JTextField title;private JTextField author;private JTextField url;private JTextField qrcodeAddr;private JTextField copyright;/*** Create the frame.* 使用绝对布局,简单些*/public MainFrame() {//设置jframe标题setTitle("SEO\u8F6F\u6587\u751F\u6210\u5668");//默认关闭方式setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//大小setBounds(100, 100, 704, 399);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));setContentPane(contentPane);contentPane.setLayout(null);JPanel panel = new JPanel();panel.setBounds(10, 10, 668, 340);contentPane.add(panel);panel.setLayout(null);JLabel jlb_title = new JLabel("\u7F51\u9875\u6807\u9898");jlb_title.setBounds(31, 23, 54, 15);panel.add(jlb_title);title = new JTextField();title.setBounds(101, 20, 66, 21);panel.add(title);title.setColumns(10);JLabel jlb_author = new JLabel("\u4F5C\u8005");jlb_author.setBounds(31, 67, 54, 15);panel.add(jlb_author);author = new JTextField();author.setBounds(101, 67, 66, 21);panel.add(author);author.setColumns(10);JLabel jlb_url = new JLabel("\u516C\u53F8\u5B98\u7F51");jlb_url.setBounds(31, 121, 54, 15);panel.add(jlb_url);url = new JTextField();url.setBounds(101, 118, 66, 21);panel.add(url);url.setColumns(10);JLabel jlb_qrCodeAddr= new JLabel("\u4E8C\u7EF4\u7801\u5730\u5740");jlb_qrCodeAddr.setBounds(31, 168, 66, 15);panel.add(jlb_qrCodeAddr);qrcodeAddr = new JTextField();qrcodeAddr.setBounds(101, 165, 66, 21);panel.add(qrcodeAddr);qrcodeAddr.setColumns(10);JLabel jlb_copyright = new JLabel("\u7248\u6743\u4E0E\u514D\u8D23");jlb_copyright.setBounds(31, 218, 66, 15);panel.add(jlb_copyright);copyright = new JTextField();copyright.setBounds(101, 218, 66, 21);panel.add(copyright);copyright.setColumns(10);JButton btn_gen = new JButton("\u5F00\u59CB\u751F\u6210");btn_gen.setBounds(297, 288, 93, 23);panel.add(btn_gen);JLabel jlb_content = new JLabel("\u6B63\u6587");jlb_content.setBounds(246, 23, 54, 15);panel.add(jlb_content);JTextArea content = new JTextArea();content.setBounds(297, 41, 327, 192);panel.add(content);//按钮绑定事件,点击按钮开始处理:读取html模板,替换内容,生成新htmlbtn_gen.addActionListener(new ActionListener() {    @Overridepublic void actionPerformed(ActionEvent e) {Generator gen = new Generator();try {gen.createHTML(title.getText(), author.getText(),content.getText(), qrcodeAddr.getText(), copyright.getText(), url.getText());} catch (IOException e1) {e1.printStackTrace();}//System.out.println("TXT"+title.getText()+" "+author.getText()+" "+url.getText()+" "+qrcodeAddr.getText()+" "+copyright.getText()+" "+content.getText());}});}
}

Main.java

package cn.pangPython.autogenseoarticle;import java.awt.EventQueue;public class Main {public static void main(String[] args) {//把这个事件放入事件队列,并启动一个线程执行EventQueue.invokeLater(new Runnable() {public void run() {try {MainFrame frame = new MainFrame();frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}
}

模板
seo1.html

<html>
<head>
<title>{title}</title>
<link rel="stylesheet" href="css/bootstrap.min.css" media="screen" title="no title" charset="utf-8">
<script src="js/bootstrap.min.js"></script>
</head>
<body><div class="container text-center"><h1>{title}<small>{author}</small></h1><p class="lead"><a href="{url}"></a>{content}</p><img src="{qrCodeAddr}" alt="某公司" /><br>{copyright}<br></div>
</body>
</html>

Java实现一个GUI的SEO软文生成器v1相关推荐

  1. SEO软文写作关键词布局

    市场上大多数的公司都会去做软文推广,但是在做软文推广之前就需要进行软文写作,而写出来的软文最终都是发布到其他平台或者自己的网站上.SEO软文类型在写软文时,也需要注意关键词布局,因为只有做好关键词布局 ...

  2. java制作一个GUI实现字符串的相关操作(合并、比较、检索、清除)

    java制作一个GUI实现字符串的相关操作(合并.比较.检索.清除) 1.使用Box容器 2.字符串比较compareTo() 3.字符串检索indexOf() 4.提示弹窗JOptionPane.s ...

  3. 做seo软文编辑撰写经验

    从事SEO工作五年,对于很多SEO的技术也有一些自己的经验和想法,在这里想和大家交流一下关于SEO中的主要一块--软文编写的经验和总结.汽车配件大全 www.qipeiying.com 这是我一个小站 ...

  4. 撰写seo软文的技巧!

    学习一些软文的写作技巧有助于提升网站软文的质量是非常有帮助的.接下来我就与大家分享一些网站推广之软文写作技巧. 一.软文类型 1.今日头条一篇优质的新闻媒体软文可以提高企业知名度,能够让读者在不知不觉 ...

  5. seo软文广告文章怎么写(如何写高质量软文广告文章)

    我们经常有看到网上的很多软文,好的软文广告文章在过去几年中非常有效,并且对公司和网站的品牌影响很大.软文广告还能够很好的吸引很多用户流量,在不知不觉中让用户接受了我们的广告.但是目前有很大部分的软文是 ...

  6. java图形化GUI编程-AwtSwing(一文解决)

    一. 课程概述 通常情况下,java语言一般是用来开发后台程序的,所谓的后台程序就是部署在服务器端的程序,默默的工作,用户是看不到任何界面的,所以很多情况下,学习java会感觉很枯燥. 事实上,我们使 ...

  7. java实现一个gui面板_JAVA GUI自定义JPanel画板背景

    自定义JPanel面板背景 一.前言 1.GUI全称是Graphical User Interface,就是图形用户界面.JAVA的GUI应用广泛在我们生活中也很常见.很多应用使用该GUI编程设计,像 ...

  8. JAVA第一个GUI程序---计算器

    想想自己以前学过很多内容,但都是光理论不操作导致上机很少,一事无成,如今做了一个计算器的小程序练练手吧.花了两天的时间终于完成了.以后肯定要多做项目多实践! 下面是代码,写的不简洁,不规范. View ...

  9. 如何用java实现一个可爱的Github初始头像生成器

    首先保存你的Github初始头像.仔细观察这张图片,发现: 1.这是一张420 420像素的图片. 2.主要部分为随机生成的5*5像素图形,颜色随机,并且左右对称. 3.四周有等宽的边框,并且,经测量 ...

最新文章

  1. 关于ubuntu 16.04 docker常用命令
  2. jQuery中find()方法和filter()方法的区别
  3. [拓扑排序/强联通分量] [NOIP201402] 信息传递
  4. linux mysql主从配置_linux下mysql主从配置
  5. python 监控内存_使用python写一个监控不同机器的使用内存情况并使用flask出图
  6. Akka的类库和模块《six》译
  7. q 与 blockquote 的区别
  8. c#如何实现叫号操作_C#银行排队叫号系统
  9. Android中AppCompat简介
  10. 利用C++求坐标系中两点间距离
  11. SAAS-HRM-day4
  12. beacon帧主要结构
  13. 5大免费使用的在线客服系统盘点
  14. C语言 | 计算某日是该年的第几天
  15. 如何做到异构数据的同步一致性
  16. 蓝桥杯Python快速入门(4)
  17. 【C++】指针深度解析
  18. 三个变量存在一个协整方程_计量经济学最基本的31个问题
  19. IDEA添加maven依赖方法
  20. 【论文笔记】:PyramidBox :A Context-assisted Single Shot Face Detector

热门文章

  1. DNF2022版本增幅模拟器 JAVA代码演示
  2. 10大排序算法时间复杂度和空间复杂度总结
  3. 最优化方法及其实现(Optimization-Algorithm)C语言
  4. 超实用!手把手教你如何将废旧的 Android 手机改造成一个好用的 Linux 服务器!...
  5. 深入理解C++的new
  6. 学习Python开发难不难?
  7. LightCNN核心点解析
  8. 观看中国软件市场,免费的WPS说明了什么?
  9. 灰度共生矩阵(GLCM)的概念及其相关特征
  10. JavaWeb技术内幕四:Javac编译原理