提词器,速度选择1,500宽度屏幕

package a;

import java.awt.BorderLayout;

import java.awt.Font;

import java.awt.GraphicsConfiguration;

import java.awt.GraphicsDevice;

import java.awt.GraphicsEnvironment;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JScrollBar;

import javax.swing.JScrollPane;

import javax.swing.JTextPane;

import javax.swing.Timer;

public class Main {

private static GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

private static GraphicsDevice[] gds = ge.getScreenDevices();

private static GraphicsConfiguration gc = gds[0].getDefaultConfiguration();

private static int speed = 0;

public static JFrame jf = new JFrame("投屏", gc);

public static JButton jb = new JButton("锁定");

public static JTextPane jtp = new JTextPane();

public static JScrollPane jsp = new JScrollPane(jtp);

private static JScrollBar jsb = jsp.getVerticalScrollBar();

private static String userHome = System.getProperty("user.home") + "/Desktop";

private static JFileChooser jfc = new JFileChooser(userHome);

private static Timer t = new Timer(150, new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

int getValue = Main.jsb.getValue();

System.out.println(e.getSource());

Main.jsb.setValue(getValue += speed);

System.out.println(getValue);

}

});

public static void main(String[] args) {

jf.setBounds(0, 0, 500, 1040);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jb.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent ae) {

if (jtp.isEditable()) {

jtp.setEditable(false);

jb.setText("已锁定");

} else {

jtp.setEditable(true);

jb.setText("已解锁");

}

t.stop();

jtp.setCaretPosition(0);

jtp.requestFocusInWindow();

}

});

jtp.addKeyListener(new KeyListener() {

@Override

public void keyTyped(KeyEvent e) {

}

@Override

public void keyReleased(KeyEvent e) {

}

@Override

public void keyPressed(KeyEvent e) {

int i = e.getKeyCode();

int getValue = Main.jsb.getValue();

if (i == KeyEvent.VK_E) {

Main.jsb.setValue(getValue -= 4);

} else if (i == KeyEvent.VK_D) {

Main.jsb.setValue(getValue += 4);

} else if (i == KeyEvent.VK_1 || i == KeyEvent.VK_NUMPAD1) {

Main.speed = 1;

t.restart();

} else if (i == KeyEvent.VK_2 || i == KeyEvent.VK_NUMPAD2) {

Main.speed = 2;

t.restart();

} else if (i == KeyEvent.VK_3 || i == KeyEvent.VK_NUMPAD3) {

Main.speed = 3;

t.restart();

} else if (i == KeyEvent.VK_4 || i == KeyEvent.VK_NUMPAD4) {

Main.speed = 4;

t.restart();

} else if (i == KeyEvent.VK_5 || i == KeyEvent.VK_NUMPAD5) {

Main.speed = 5;

t.restart();

} else if (i == KeyEvent.VK_6 || i == KeyEvent.VK_NUMPAD6) {

Main.speed = 6;

t.restart();

} else if (i == KeyEvent.VK_7 || i == KeyEvent.VK_NUMPAD7) {

Main.speed = 7;

t.restart();

} else if (i == KeyEvent.VK_8 || i == KeyEvent.VK_NUMPAD8) {

Main.speed = 8;

t.restart();

} else if (i == KeyEvent.VK_9 || i == KeyEvent.VK_NUMPAD9) {

Main.speed = 9;

t.restart();

} else if (i == KeyEvent.VK_0 || i == KeyEvent.VK_NUMPAD0) {

Main.speed = 0;

Main.t.stop();

} else if (i == KeyEvent.VK_UP || i == KeyEvent.VK_DOWN || i == KeyEvent.VK_LEFT

|| i == KeyEvent.VK_RIGHT || i == KeyEvent.VK_PAGE_UP || i == KeyEvent.VK_PAGE_DOWN) {

e.consume();// 限定某些按键不可用

} else if (i == KeyEvent.VK_ESCAPE) {

int result = JOptionPane.showConfirmDialog(jf, "退出", "退出", JOptionPane.YES_NO_OPTION,

JOptionPane.QUESTION_MESSAGE);

if (result == JOptionPane.OK_OPTION) {

jf.setVisible(false);

jf.dispose();

System.exit(0);

return;

}

}

jf.setTitle("主屏幕-速度:" + Main.speed);

}

});

// jtp.setEditable(false);

jtp.setFont(new Font("", Font.BOLD, 25));

jf.add(jb, BorderLayout.NORTH);

jf.add(jsp, BorderLayout.CENTER);

jf.setVisible(true);

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值