GridBagConstraints实力

package a;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.JWindow;
import javax.swing.Timer;

public class Main {
	private static GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
	private static GraphicsDevice[] graphicsDevices = graphicsEnvironment.getScreenDevices();
	private static String[] s66 = { "创世记", "出埃及记", "利未记", "民数记", "申命记", "约书亚记", "士师记", "路得记", "撒母耳记上", "撒母耳记下", "列王纪上",
			"列王纪下", "历代志上", "历代志下", "以斯拉记", "尼希米记", "以斯帖记", "约伯记", "诗篇", "箴言", "传道书", "雅歌", "以赛亚书", "耶利米书", "耶利米哀歌",
			"以西结书", "但以理书", "何西阿书", "约珥书", "阿摩司书", "俄巴底亚书", "约拿书", "弥迦书", "那鸿书", "哈巴谷书", "西番雅书", "哈该书", "撒迦利亚书", "玛拉基书",
			"马太福音", "马可福音", "路加福音", "约翰福音", "使徒行传", "罗马书", "哥林多前书", "哥林多后书", "加拉太书", "以弗所书", "腓立比书", "歌罗西书", "帖撒罗尼迦前书",
			"帖撒罗尼迦后书", "提摩太前书", "提摩太后书", "提多书", "腓利门书", "希伯来书", "雅各书", "彼得前书", "彼得后书", "约翰壹书", "约翰贰书", "约翰叁书", "犹大书",
			"启示录" };
	private static String[] s0 = { "律法书", "王国前历史书", "王国时历史书", "被掳后历史书", "诗歌·智慧书", "大先知书", "王国时小先知书", "被掳后小先知书", "四福音",
			"教会历史", "保罗书信", "其他使徒书信", "对约翰的启示", "常用经文" };
	private static String[] s1 = { "创世记", "出埃及记", "利未记", "民数记", "申命记" };
	private static String[] s2 = { "约书亚记", "士师记", "路得记" };
	private static String[] s3 = { "撒母耳记上", "撒母耳记下", "列王纪上", "列王纪下", "历代志上", "历代志下" };
	private static String[] s4 = { "以斯拉记", "尼希米记", "以斯帖记" };
	private static String[] s5 = { "约伯记", "诗篇", "箴言", "传道书", "雅歌" };
	private static String[] s6 = { "以赛亚书", "耶利米书", "耶利米哀歌", "以西结书", "但以理书" };
	private static String[] s7 = { "何西阿书", "约珥书", "阿摩司书", "俄巴底亚书", "约拿书", "弥迦书", "那鸿书", "哈巴谷书", "西番雅书" };
	private static String[] s8 = { "哈该书", "撒迦利亚书", "玛拉基书" };
	private static String[] s9 = { "马太福音", "马可福音", "路加福音", "约翰福音" };
	private static String[] s10 = { "使徒行传" };
	private static String[] s11 = { "罗马书", "哥林多前书", "哥林多后书", "加拉太书", "以弗所书", "腓立比书", "歌罗西书", "帖撒罗尼迦前书", "帖撒罗尼迦后书",
			"提摩太前书", "提摩太后书", "提多书", "腓利门书" };
	private static String[] s12 = { "希伯来书", "雅各书", "彼得前书", "彼得后书", "约翰壹书", "约翰贰书", "约翰叁书", "犹大书" };
	private static String[] s13 = { "启示录" };
	private static String[] s14 = { "使徒信经", "主祷文", "第399首《三一颂》" };
	private static String[][] sHolyBible = { s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14 };
	private static Color[] cs = { new Color(255, 127, 127), new Color(255, 255, 127), new Color(127, 255, 127),
			new Color(127, 255, 255) };
	private static Font f20 = new Font("微软雅黑", Font.BOLD, 20);
	private static Font f100 = new Font("微软雅黑", Font.BOLD, 100);
	private static int speed = 0;

	private static JFrame jf = new JFrame("主屏幕" + Main.speed);
	private static JMenuBar jmb = new JMenuBar();

	private static JTextPane jtp = new JTextPane();
	private static JScrollPane jsp = new JScrollPane(jtp);
	private static JScrollBar jsb = Main.jsp.getVerticalScrollBar();
	// private static JPopupMenu jpm = new JPopupMenu();
	private static JMenu[] jms = new JMenu[s0.length];

	private static JLabel jl = new JLabel("彩虹圣经投屏");
	private static JLabel jlSpeed = new JLabel(Main.speed + "");
	private static JWindow jw = new JWindow(jf);
	private static JButton[] jbs = new JButton[s66.length];
	private static GridBagLayout gbl = new GridBagLayout();
	private static GridBagConstraints gbc = new GridBagConstraints();
	private static JLabel jlSjml = new JLabel("圣经目录");
	private static JLabel jlJy = new JLabel("旧约");
	private static JLabel jlXy = new JLabel("新约");
	private static Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
	private static Timer t = new Timer(50, new ActionListener() {

		@Override
		public void actionPerformed(ActionEvent e) {
			int getValue = Main.jsb.getValue();
			int bf = getValue;
			Main.jsb.setValue(getValue += Main.speed);
			int aft = jsb.getValue();
			if (bf == aft) {
				Main.jmb.setVisible(true);
				Main.jl.setVisible(true);
				t.stop();
			}
		}
	});

	public static void main(String[] args) {
		try {
			Main.jf.setBounds(0, 0, 1000, 750);
			Main.jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			Main.jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
			Main.jf.setTitle("主屏幕" + Main.speed);

			Main.jw.setBounds(0, 0, 1000, 700);
			Main.jw.setLayout(gbl);

			jlSjml.setFont(new Font("黑体", Font.BOLD, 30));
			jlSjml.setForeground(Color.BLUE);
			Main.jw.add(jlSjml, new GridBagConstraints(0, 0, 4, 1, 0.0, 0.0, GridBagConstraints.CENTER,
					GridBagConstraints.CENTER, new Insets(0, 0, 0, 0), 0, 0));

			jlJy.setFont(new Font("黑体", Font.BOLD, 20));
			jlJy.setForeground(Color.BLUE);
			Main.jw.add(jlJy, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0, GridBagConstraints.CENTER,
					GridBagConstraints.CENTER, new Insets(0, 0, 0, 0), 0, 0));

			jlXy.setFont(new Font("黑体", Font.BOLD, 20));
			jlXy.setForeground(Color.BLUE);
			Main.jw.add(jlXy, new GridBagConstraints(2, 1, 2, 1, 0.0, 0.0, GridBagConstraints.CENTER,
					GridBagConstraints.CENTER, new Insets(0, 0, 0, 0), 0, 0));

			JLabel jl0 = new JLabel("律法书");
			jl0.setFont(new Font("黑体", Font.BOLD, 12));
			jl0.setForeground(Color.RED);
			gbc.gridx = 0;
			gbc.gridy = 2;
			gbc.gridwidth = 1;
			// gbc.weightx = 1;
			gbc.weighty = 2;
			Main.jw.add(jl0, gbc);

			for (int i = 0; i <= 4; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 0;
				gbc.gridy = i + 3;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);

			}

			JLabel jl1 = new JLabel("王国前历史书");
			jl1.setFont(new Font("黑体", Font.BOLD, 12));
			jl1.setForeground(Color.RED);
			gbc.gridx = 0;
			gbc.gridy = 8;
			gbc.gridwidth = 1;
			// gbc.weightx = 1;
			gbc.weighty = 2;
			jw.add(jl1, gbc);

			for (int i = 5; i <= 7; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 0;
				gbc.gridy = i + 4;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl2 = new JLabel("王国时期历史书");
			jl2.setFont(new Font("黑体", Font.BOLD, 12));
			jl2.setForeground(Color.RED);
			gbc.gridx = 0;
			gbc.gridy = 14;
			jw.add(jl2, gbc);

			for (int i = 8; i <= 13; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 0;
				gbc.gridy = i + 7;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl3 = new JLabel("被掳后历史书");
			jl3.setFont(new Font("黑体", Font.BOLD, 12));
			jl3.setForeground(Color.RED);
			gbc.gridx = 0;
			gbc.gridy = 24;
			jw.add(jl3, gbc);

			for (int i = 14; i <= 16; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 0;
				gbc.gridy = i + 11;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl4 = new JLabel("诗歌·智慧书");
			jl4.setFont(new Font("黑体", Font.BOLD, 12));
			jl4.setForeground(Color.RED);
			gbc.gridx = 1;
			gbc.gridy = 2;
			jw.add(jl4, gbc);

			for (int i = 17; i <= 21; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 1;
				gbc.gridy = i - 14;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl5 = new JLabel("大先知书");
			jl5.setFont(new Font("黑体", Font.BOLD, 12));
			jl5.setForeground(Color.RED);
			gbc.gridx = 1;
			gbc.gridy = 8;
			jw.add(jl5, gbc);

			for (int i = 22; i <= 26; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 1;
				gbc.gridy = i - 13;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl6 = new JLabel("王国时期小先知书");
			jl6.setFont(new Font("黑体", Font.BOLD, 12));
			jl6.setForeground(Color.RED);
			gbc.gridx = 1;
			gbc.gridy = 14;
			jw.add(jl6, gbc);

			for (int i = 27; i <= 35; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 1;
				gbc.gridy = i - 12;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl7 = new JLabel("被掳后小先知书");
			jl7.setFont(new Font("黑体", Font.BOLD, 12));
			jl7.setForeground(Color.RED);
			gbc.gridx = 1;
			gbc.gridy = 24;
			jw.add(jl7, gbc);

			for (int i = 36; i <= 38; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.BLACK);
				jbs[i].setForeground(Color.ORANGE);
				gbc.gridx = 1;
				gbc.gridy = i - 11;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl8 = new JLabel("四福音");
			jl8.setFont(new Font("黑体", Font.BOLD, 12));
//			jl8.setForeground(Color.RED);
			gbc.gridx = 2;
			gbc.gridy = 2;
			jw.add(jl8, gbc);

			for (int i = 39; i <= 42; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.RED);
				jbs[i].setForeground(Color.YELLOW);
				gbc.gridx = 2;
				gbc.gridy = i - 36;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl9 = new JLabel("教会历史");
			jl9.setFont(new Font("黑体", Font.BOLD, 12));
			gbc.gridx = 2;
			gbc.gridy = 8;
			jw.add(jl9, gbc);

			for (int i = 43; i <= 43; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.RED);
				jbs[i].setForeground(Color.YELLOW);
				gbc.gridx = 2;
				gbc.gridy = i - 34;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl10 = new JLabel("保罗书信");
			jl10.setFont(new Font("黑体", Font.BOLD, 12));
			gbc.gridx = 2;
			gbc.gridy = 14;
			jw.add(jl10, gbc);

			for (int i = 44; i <= 56; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.RED);
				jbs[i].setForeground(Color.YELLOW);
				gbc.gridx = 2;
				gbc.gridy = i - 29;
				gbc.gridwidth = 1;
				// gbc.weightx = 1;
				gbc.weighty = 2;
				jw.add(jbs[i], gbc);
			}

			JLabel jl11 = new JLabel("其他使徒书信");
			jl11.setFont(new Font("黑体", Font.BOLD, 12));
			gbc.gridx = 3;
			gbc.gridy = 2;
			jw.add(jl11, gbc);

			for (int i = 57; i <= 64; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.RED);
				jbs[i].setForeground(Color.YELLOW);
				gbc.gridx = 3;
				gbc.gridy = i - 54;
				gbc.gridwidth = 1;
				jw.add(jbs[i], gbc);
			}

			JLabel jl12 = new JLabel("对约翰的启示");
			jl12.setFont(new Font("黑体", Font.BOLD, 12));
			gbc.gridx = 3;
			gbc.gridy = 14;
			jw.add(jl12, gbc);

			for (int i = 65; i <= 65; i++) {
				jbs[i] = new JButton(s66[i]);
				jbs[i].setFont(new Font("黑体", Font.BOLD, 14));
				jbs[i].setBackground(Color.RED);
				jbs[i].setForeground(Color.YELLOW);
				gbc.gridx = 3;
				gbc.gridy = i - 50;
				gbc.gridwidth = 1;
				jw.add(jbs[i], gbc);
			}

			Main.jtp.setBackground(Color.BLACK);
			Main.jtp.setFont(f100);
			Main.jtp.setEditable(false);
			Main.jtp.setText("那阿斯蒂芬杰拉德康师傅");
			Main.jtp.addKeyListener(new KeyListener() {

				@Override
				public void keyTyped(KeyEvent e) {
				}

				@Override
				public void keyReleased(KeyEvent e) {
//					int getKeyCode = e.getKeyCode();
//					if (getKeyCode == KeyEvent.VK_F1) {
//						Main.jw.setVisible(false);
//					}
				}

				@Override
				public void keyPressed(KeyEvent e) {
					int getKeyCode = e.getKeyCode();
					if (getKeyCode == KeyEvent.VK_F1) {
						if (Main.jw.isVisible()) {
							Main.jw.setVisible(false);
						} else {

							Main.jw.setVisible(true);
						}
						Main.jtp.requestFocus();
					}
				}
			});
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			Main.jf.add(Main.jsp, BorderLayout.CENTER);
			Main.jf.setVisible(true);
		}

	}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值