首页 > 编程知识 正文

字符串生成器在线使用,字符生成器在线制作

时间:2023-05-06 02:46:06 阅读:249129 作者:3998

今天把CDKEY生成器给完善了一下,增加了大写字母,小写字母,数字多选择性生成。


package randomString;import java.awt.Toolkit;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.StringSelection;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class RandomString { /** * 生成随机字符串 */ private JFrame jFrame; private JPanel jp; private JButton jb; private JTextField tf,tf2; private JLabel jl; private JCheckBox cb1; private JCheckBox cb2; private JCheckBox cb3; private Toolkit toolkit; private Clipboard clipboard;//clipboard.setContents(Transferable contents, ClipboardOwner owner); private StringSelection stringSel;//实现传输 String 所需能力的 Transferable private int model; public RandomString(){ jFrame = new JFrame("字符串生成工具 by:毛兴宇"); jp = new JPanel(); jb = new JButton("生成(s)"); tf = new JTextField(20); tf2 = new JTextField("10",3); jl = new JLabel("位"); cb1 = new JCheckBox("大写字母",true); cb2 = new JCheckBox("小写字母",true); cb3 = new JCheckBox("数字",true); toolkit = Toolkit.getDefaultToolkit();//获得工具包 clipboard = toolkit.getSystemClipboard();//获得系统剪贴板 MyActionListener mal = new MyActionListener(); //监听器定义 JCheckBox jcb[]={cb1,cb2,cb3}; //UI添加 for (int i = 0; i < jcb.length; i++) {jp.add(jcb[i]);} jp.add(tf); jp.add(jb); jp.add(tf2); jp.add(jl); jFrame.add(jp); //快捷键设置ALT+S jb.setMnemonic('s'); //添加监听器 jb.addActionListener(mal); for (int i = 0; i < jcb.length; i++) {jcb[i].addActionListener(mal);} //UI显示 jFrame.pack(); int w = jFrame.getToolkit().getScreenSize().width;//宽度 int h = jFrame.getToolkit().getScreenSize().height;//高度 jFrame.setLocation(w/2-301,h/2-36); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jFrame.setVisible(true); } class MyActionListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { if(e.getSource().equals(jb)){ try { //获取JCheckBox的值,判断并调用字符串. if(cb1.isSelected() == true && cb2.isSelected() == true && cb3.isSelected() == true) { model = 1; }else if (cb2.isSelected() == true && cb3.isSelected() == true) {model = 2;}else if (cb1.isSelected() == true && cb3.isSelected() == true) {model = 3;}else if (cb1.isSelected() == true && cb2.isSelected() == true){model = 4;}else if (cb3.isSelected() == true){model = 5;}else if (cb2.isSelected() == true){model = 6;}else if (cb1.isSelected() == true){model = 7;} //设置JTextField文字显示,并保存字符串到系统剪贴板. tf.setText(RandomString.getRandomString(Integer.parseInt(tf2.getText()), model)); stringSel = new StringSelection(tf.getText()); clipboard.setContents(stringSel, null); } catch (Exception x) { JOptionPane.showMessageDialog(null, "请输入数字"); } } } } public static String getRandomString(int length,int model) { //length表示生成字符串的长度 String base1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String base2 = "abcdefghijklmnopqrstuvwxyz"; String base3 = "0123456789"; //根据model设置字符串由哪些组成. Random random = new Random(); String base = new String(); if(model == 1) { base = base1 + base2 + base3; }else if (model == 2) {base = base2 + base3;}else if (model == 3) {base = base1 + base3;}else if (model == 4) {base = base1 + base2;}else if (model == 5) {base = base3;}else if (model == 6) {base = base2;}else if (model == 7) {base = base1;} StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(base.length()); sb.append(base.charAt(number)); } return sb.toString(); } public static void main(String[] args) { new RandomString(); }}

win7电脑文件夹如何加密

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。