import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.SystemColor;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.util.Calendar;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JSlider;
import javax.swing.JToggleButton;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/*
* lishu,kaiti,heiti 分别是是隶书、楷书、黑体
* startbtn,stopbtn,resetbtn,hidebtn,exitbtn; 分别是 开始、停止、恢复、隐藏、退出
* man ,kuai; 分别是滚动速度按钮
* neizhi 【】 是 内置字体按钮数组;
* fontfield,txtfield; 分别是 字体显示框 、 滚动文字输入框、
* bigfont, smailfont,left_right,right_left,penetrate,reflect; 分别时 文字大小单选按钮与 文字方向 单选按钮
* autocolor; 文字颜色复选框
* topdrop,backedrop; 前景色、 背景色
* topbel ,backbel,speedlabel 分别为 前景色、背景色、颜色自动 标签
* fontSize,fontName 分别是初始字体大小和样式
* */
public class zmJFrame {
private JPanel panels;
private JLabel lblShow;
private JButton startbtn, stopbtn, resetbtn, hidebtn,exitbtn;
private JToggleButton[] zt = new JToggleButton[4];
private JButton[] neizhi = { new JButton("1"), new JButton("2"),
new JButton("3"), new JButton("4"), new JButton("5"),
new JButton("6"), new JButton("7"), new JButton("8") };
private TextField txtfield;
private JRadioButton bigfont, smallfont, left_right, right_left, penetrate,reflect;
private JCheckBox autocolor;
private JComboBox topdrop, backedrop;
private JLabel topbel, backbel, speedlabel,colorlabel;
private JSlider jSliderX;
private int fontSize = 36;
private String fontName = "隶书";
// private Vector<String> v;
public zmJFrame() {
//ZiMupanel zimu = new ZiMupanel();
zimu.setVisible(true);
//Panelshow show = new Panelshow();
show.setVisible(true);
}
public static void main(String args[]) {
new zmJFrame();
}
ZiMupanel zimu = new ZiMupanel();
Panelshow show = new Panelshow();
class Panelshow extends JFrame {
public Panelshow() {
this.setTitle("滚动面板");
this.setBounds(250, 50, 550, 150);
this.setResizable(false);//不可以改变窗体大小 DISPOSE_ON_CLOSE
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Container con = this.getContentPane();
panels = new JPanel();
panels.setBackground(Color.green);
con.add(panels);
lblShow = new JLabel("我们都是好孩子!!!");
lblShow.setFont(new Font(fontName, Font.BOLD, fontSize));
lblShow.setForeground(Color.red);
panels.add(lblShow);
}
}
class ZiMupanel extends JFrame {
public ZiMupanel() {
Container con = this.getContentPane();
// 设置窗口名称
this.setTitle("滚动字幕");
// 设置布局管理器为 null ,方便 面板定位,一般使用null 布局时,将窗口设置不可改变大小
this.setLayout(null);
// 设置窗口位置和大小
this.setBounds(300, 300, 460, 330);
// 设置窗口可见
this.setVisible(true);
// 设置不可改变大小
this.setResizable(false);
// 设置当点击窗口的关闭按钮时退出
// 设置此窗体关闭,滚动面板不关闭 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Panelfont1 p1 = new Panelfont1();
con.add(p1);
p1.setBounds(15, 15, 175, 60);
Panelfont2 p2 = new Panelfont2();
con.add(p2);
p2.setBounds(195, 15, 250, 60);
Panelneizi p3 = new Panelneizi();
con.add(p3);
p3.setBounds(15, 80, 175, 80);
Paneldirection p4 = new Paneldirection();
con.add(p4);
p4.setBounds(195, 80, 250, 80);
Panel5 p5 = new Panel5();
con.add(p5);
p5.setBounds(15, 155, 430, 70);
Panel6 p6 = new Panel6();
con.add(p6);
p6.setBounds(15, 220, 430, 70);
}
}
class Panelfont1 extends JPanel implements ActionListener{
public Panelfont1() {
this.setBorder(BorderFactory.createTitledBorder("滚动字幕的文字大小控制"));//设置 面板边框
this.setLayout(new GridLayout(1, 2));
bigfont = new JRadioButton("大字体", false);
smallfont = new JRadioButton("小字体", true);
bigfont.addActionListener(this);
smallfont.addActionListener(this);
ButtonGroup sexRadioButtonGroup = new ButtonGroup();// 创建一个选按钮组
sexRadioButtonGroup.add(bigfont);// 将单选按钮对象添加到按钮组中
sexRadioButtonGroup.add(smallfont);// 将单选按钮对象添加到按钮组中
//Enumeration<AbstractButton> elements = sexRadioButtonGroup.getElements();// 遍历按钮组中的所有按钮
this.add(bigfont);
this.add(smallfont);
}
public void actionPerformed(ActionEvent e) {
if(bigfont.isSelected()){
fontSize = 50;
}else {
fontSize = 36;
}
Font font = new Font(fontName,Font.BOLD,fontSize);
lblShow.setFont(font);
}
}
class Panelfont2 extends JPanel implements ActionListener{
private String[] strFontName = {"隶书","幼圆","黑体","宋体"};
public Panelfont2() {
this.setBorder(BorderFactory.createTitledBorder("滚动字幕字体控制"));
this.setLayout(new GridLayout(1, 4));
ButtonGroup bg = new ButtonGroup();
for(int i = 0 ; i < zt.length ; i++){
zt[i] = new JToggleButton(strFontName[i]);
this.add(zt[i]);
bg.add(zt[i]);
zt[i].addActionListener(this);
}
zt[0].setSelected(true);
}
public void actionPerformed(ActionEvent e) {
int index = 0;
for(int i = 0 ; i < zt.length;i++){
if(zt[i].isSelected()){
index = i;
break;
}
}
fontName = strFontName[index];
Font font = new Font(fontName,Font.BOLD,fontSize);
lblShow.setFont(font);
}
}
class Panelneizi extends JPanel implements ActionListener {
public Panelneizi() {
this.setBorder(BorderFactory.createTitledBorder("内置字幕"));
this.setLayout(new GridLayout(2, 4));
for (int i = 0; i < neizhi.length; i++) {
// 设置 按钮无色
neizhi[i].setBackground(SystemColor.info);
// neizhi[i].setHorizontalAlignment(SwingConstants.CENTER);
// neizhi[i].setHorizontalTextPosition(SwingConstants.CENTER);
this.add(neizhi[i]);
neizhi[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "1") {
lblShow.setText("我们都是好孩子!!!");
}
if (e.getActionCommand() == "2") {
lblShow.setText("快乐是自己的,只要你愿意!");
}
if (e.getActionCommand() == "3") {
lblShow.setText("欢迎来到上海!!!");
}
if (e.getActionCommand() == "4") {
lblShow.setText("一毛纸币折成心!!!");
}
if (e.getActionCommand() == "5") {
lblShow.setText("JAVA,很强大!");
}
if (e.getActionCommand() == "6") {
lblShow.setText("不抛弃,不放弃!!!");
}
if (e.getActionCommand() == "7") {
lblShow.setText("路漫漫其修远兮,吾将上下而求索。");
}
if (e.getActionCommand() == "8") {
lblShow.setText("温暖是件奢侈的东西");
}
}
}