Java圣经没写完呢

package a;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;

import javax.jws.soap.SOAPBinding.Style;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.plaf.FontUIResource;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;

public class Main extends JFrame implements ActionListener {

	public JPanel jpLeft() {
		JPanel jp = new JPanel(new GridLayout(39, 1));
		String[] s = { "创", "出", "利", "民", "申", "书", "士", "得", "撒上", "撒下", "王上", "王下", "代上", "代下", "拉", "尼", "斯", "伯",
				"诗", "箴", "传", "歌", "赛", "耶", "哀", "结", "但", "何", "珥", "摩", "俄", "拿", "弥", "鸿", "哈", "番", "该", "亚",
				"玛" };
		JButton[] jb = new JButton[s.length];
		for (int i = 0; i < s.length; i++) {
			jb[i] = new JButton(s[i]);
			if (i < 5) {
				jb[i].setBackground(Color.PINK);
			} else if (i < 17) {
				jb[i].setBackground(Color.ORANGE);
			} else if (i < 22) {
				jb[i].setBackground(Color.YELLOW);
			} else if (i < 39) {
				jb[i].setBackground(Color.GREEN);
			}
			jb[i].addActionListener(this);
			jp.add(jb[i]);
		}
		return jp;
	}

	public JPanel jpRight() {
		JPanel jp = new JPanel(new GridLayout(27, 1));
		String[] s = { "太", "可", "路", "约", "徒", "罗", "林前", "林后", "加", "弗", "腓", "西", "帖前", "帖后", "提前", "提后", "多", "门",
				"来", "雅", "彼前", "彼后", "约壹", "约贰", "约叁", "犹", "启" };
		JButton[] jb = new JButton[s.length];
		for (int i = 0; i < s.length; i++) {
			jb[i] = new JButton(s[i]);
			if (i < 4) {
				jb[i].setBackground(Color.PINK);
			} else if (i < 5) {
				jb[i].setBackground(Color.ORANGE);
			} else if (i < 26) {
				jb[i].setBackground(Color.YELLOW);
			} else if (i < 27) {
				jb[i].setBackground(Color.GREEN);
			}
			jb[i].addActionListener(this);
			jp.add(jb[i]);
		}
		return jp;
	}

	public JScrollPane jtpCenter() {
		JTextPane jtp = new JTextPane();
		JScrollPane jsp = new JScrollPane(jtp);
		FontUIResource fuir = new FontUIResource("微软雅黑", Font.BOLD, 88);
		StyledDocument sd = jtp.getStyledDocument();
		javax.swing.text.Style s = jtp.addStyle(null, null);

		jtp.setEnabled(false);
		jtp.setBackground(Color.BLACK);
		jtp.setFont(fuir);
		jtp.setText("圣经查询软件");
		return jsp;
	}

	public Main() {
		this.add(this.jpLeft(), BorderLayout.WEST);
		this.add(this.jpRight(), BorderLayout.EAST);
		this.add(this.jtpCenter(), BorderLayout.CENTER);
	}

	public static void main(String[] args) {
		Main m = new Main();
		m.setBounds(0, 0, 1200, 800);
		m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		m.setVisible(true);
	}

	public void actionPerformed(ActionEvent ae) {
		String s = ae.getActionCommand();
		System.out.println(s);
	}

	public void select(String s) {
		String ChapterSN = "";
		String VerseSN = "";
		while (ChapterSN.equals("")) {
			String jopid = JOptionPane.showInputDialog("请输入要查询的章数", "1").trim();
			if (jopid.equals("") || jopid.length() > 3 || !jopid.trim().matches("^[0-9]*$")) {
				continue;
			}
			ChapterSN = jopid;
		}
		while (VerseSN.equals("")) {
			String jopid = JOptionPane.showInputDialog("请输入要查询的节数", "1").trim();
			if (jopid.equals("") || jopid.length() > 3 || !jopid.trim().matches("^[0-9]*$")) {
				continue;
			}
			VerseSN = jopid;
		}
//        String shuru = JOptionPane.showInputDialog("请输入要查询的章节(例如查找所在卷1章1节到最后1节则输入:1 1(中间用空格隔开,不用输入结束的章节)):", "1 1").trim();
//        if (shuru == null) {
//            return;
//        }
//        if (shuru.equals("")) {
//            return;
//        }
//       String[] zhangjie = shuru.split(" ");
//        if (!zhangjie[0].trim().matches("^[0-9]*$") || !zhangjie[1].trim().matches("^[0-9]*$")) {
//            return;
//        }
		ArrayList<HashMap<String, String>> alhmss = this.select(s, ChapterSN, VerseSN);
		jtp.setText("");

		for (int i = 0; i < alhmss.size(); i++) {
			String zhang = alhmss.get(i).get("zhang");
			String jie = alhmss.get(i).get("jie");
			String jingwen = alhmss.get(i).get("jingwen");
			String zhangjiejingwen = zhang + ":" + jie + jingwen + "\n";
			if (i % 3 == 0) {
				StyleConstants.setForeground(sty, Color.CYAN);
			} else if (i % 3 == 1) {
				StyleConstants.setForeground(sty, Color.MAGENTA);
			} else if (i % 3 == 2) {
				StyleConstants.setForeground(sty, Color.YELLOW);
			} else {
				StyleConstants.setForeground(sty, Color.WHITE);
			}
			try {
				sd.insertString(sd.getLength(), zhangjiejingwen, sty);
			} catch (Exception e) {
				e.printStackTrace();
			}

			this.jtp.setCaretPosition(0);
		}

	}

	public static ArrayList<HashMap<String, String>> select(String jianxie, String zhang, String jie) {
		ArrayList<HashMap<String, String>> alhmss = new ArrayList<HashMap<String, String>>();
		try {
			Class.forName("org.sqlite.JDBC");
			try (Connection conn = DriverManager.getConnection("jdbc:sqlite:hb.sqlite3")) {
				try (PreparedStatement ps = conn.prepareStatement(
						"select juan, jianxie, zhang, jie, jingwen from t_hb where jianxie = ? and zhang = ? and jie between ? and 200")) {
					ps.setString(1, jianxie);
					ps.setString(2, zhang);
					ps.setString(3, jie);
					try (ResultSet rs = ps.executeQuery()) {
						while (rs.next()) {
							HashMap<String, String> hmss = new HashMap<String, String>();
							hmss.put("juan", rs.getString("juan"));
							hmss.put("jianxie", rs.getString("jianxie"));
							hmss.put("zhang", rs.getString("zhang"));
							hmss.put("jie", rs.getString("jie"));
							hmss.put("jingwen", rs.getString("jingwen"));
							alhmss.add(hmss);
						}
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return alhmss;
	}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值