JAVA滑块

package practice15;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
class MyGuiEvent extends JFrame implements ChangeListener{
	private JPanel jpn = new JPanel();
	private JSlider jsl = new JSlider(0,765);
	public MyGuiEvent() {
		this.add(jpn);
		jpn.add(jsl);
		jsl.setMajorTickSpacing(255);//主刻度
		jsl.setMinorTickSpacing(15);//副刻度
		jsl.addChangeListener(this);
		jsl.setPaintTicks(true);
		jsl.setPaintLabels(true);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setSize(800,800);
		this.setVisible(true);
	}
	
	@Override
	public void stateChanged(ChangeEvent e) {
		if(jsl.getValue()<=255) {
			jpn.setBackground(Color.red);
		}
		else if(jsl.getValue()<=255*2) {
			jpn.setBackground(Color.green);
		}
		else {
			jpn.setBackground(Color.blue);
		}
	}

	public static void main(String[] args){
		MyGuiEvent mge = new MyGuiEvent();
	}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java滑块验证码可以通过以下步骤实现: 1. 创建一个JPanel作为验证码的容器,设置布局为BorderLayout。 2. 在JPanel的中央区域添加一个JPanel,作为滑块验证码的背景区域,设置布局为FlowLayout。 3. 在背景区域添加一个JLabel,用于显示验证码的文字。 4. 在背景区域添加一个JPanel,作为滑块区域,设置布局为FlowLayout。 5. 在滑块区域添加一个JLabel,用于显示滑块图片。 6. 在滑块区域添加一个JPanel,作为滑块拖动区域,设置布局为FlowLayout。 7. 在滑块拖动区域添加一个JLabel,用于显示滑块拖动图片。 8. 在滑块区域添加鼠标监听器,实现滑块的拖动。 9. 在JPanel中添加一个按钮,用于重置验证码。 10. 将验证码的字符串和拖动距离等信息保存到Session中,方便后续验证。 示例代码如下: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SliderCaptcha extends JPanel { private String captchaText; private int dragDistance; public SliderCaptcha() { setLayout(new BorderLayout()); // 创建背景区域 JPanel backgroundPanel = new JPanel(new FlowLayout()); add(backgroundPanel, BorderLayout.CENTER); // 创建验证码文字 captchaText = "ABCD"; JLabel captchaLabel = new JLabel(captchaText); captchaLabel.setFont(new Font("Arial", Font.BOLD, 24)); backgroundPanel.add(captchaLabel); // 创建滑块区域 JPanel sliderPanel = new JPanel(new FlowLayout()); backgroundPanel.add(sliderPanel); // 创建滑块图片 ImageIcon sliderIcon = new ImageIcon("slider.png"); JLabel sliderLabel = new JLabel(sliderIcon); sliderPanel.add(sliderLabel); // 创建滑块拖动区域 JPanel dragPanel = new JPanel(new FlowLayout()); dragPanel.setPreferredSize(new Dimension(sliderIcon.getIconWidth(), sliderIcon.getIconHeight())); sliderPanel.add(dragPanel); // 创建滑块拖动图片 ImageIcon dragIcon = new ImageIcon("drag.png"); JLabel dragLabel = new JLabel(dragIcon); dragPanel.add(dragLabel); // 添加鼠标监听器,实现滑块的拖动 sliderPanel.addMouseListener(new MouseAdapter() { private Point dragStartPoint; public void mousePressed(MouseEvent e) { dragStartPoint = e.getPoint(); } public void mouseReleased(MouseEvent e) { int x = e.getX() + sliderPanel.getX() - dragStartPoint.x; if (x > dragDistance) { JOptionPane.showMessageDialog(null, "验证成功!"); } else { JOptionPane.showMessageDialog(null, "验证失败,请重试!"); } } }); // 创建重置按钮 JButton resetButton = new JButton("重置"); resetButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { captchaText = "ABCD"; dragDistance = (int) (Math.random() * 100 + 50); dragLabel.setLocation(dragDistance, dragLabel.getY()); } }); add(resetButton, BorderLayout.SOUTH); // 初始化滑块拖动距离 dragDistance = (int) (Math.random() * 100 + 50); dragLabel.setLocation(dragDistance, dragLabel.getY()); } public static void main(String[] args) { JFrame frame = new JFrame("滑块验证码"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 200); frame.setLocationRelativeTo(null); frame.setContentPane(new SliderCaptcha()); frame.setVisible(true); } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值