import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
class MyFrame extends JFrame
{
MyFrame()
{
super("二维码生成和解码器");
setSize(500,340);
setVisible(true);
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP
,JTabbedPane.SCROLL_TAB_LAYOUT);
//ImageIcon icon1=new ImageIcon("11.jpg");
//ImageIcon icon2=new ImageIcon("12.jpg");
String tip1 = "点击这里进入可以生成原始信息的加密或者不加密的二维码";
String tip2 = "点击这里可以对选择的二维码图片进行解密和解码";
tabbedPane.addTab("加密及二维码编码",null,new CodePanel(),tip1);
tabbedPane.addTab("解密及二维码解码",null,new UncodePanel(),tip2);
getContentPane().add(tabbedPane);
validate();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
class CodePanel extends JPanel
{
CodePanel()
{
setLayout(new BorderLayout());
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.setBorder(new TitledBorder("输入原始信息"));
panel2.setBorder(new TitledBorder("加密和编码"));
panel2.setLayout(new GridLayout(5,1));
add("Center",panel1);
add("East",panel2);
TextArea ta = new TextArea("请在这里输入你的原始信息",10,20);
panel1.add(ta);
JRadioButton jrb1 = new JRadioButton("加密",true);
JRadioButton jrb2 = new JRadioButton("不加密",false);
//定义一个ButtonGroup将上面两个JRadioButton组合在一起
ButtonGroup bg = new ButtonGroup();
bg.add(jrb1);
bg.add(jrb2);
JLabel jl = new JLabel("password:");
TextField tf = new TextField("输入密码",20);
Button b1 = new Button("生成二维码");
panel2.add(jrb1);
panel2.add(jl);
panel2.add(tf);
panel2.add(jrb2);
panel2.add(b1);
}
}
class UncodePanel extends JPanel
{
UncodePanel()
{
setLayout(new BorderLayout());
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
add("North",panel1);
add("Center",panel2);
add("South",panel3);
JTextField jtf = new JTextField("请点击右键上传需要解码的二维码",20);
JButton jb = new JButton("上传图片");
panel1.add(jtf);
panel1.add(jb);
validate();
JComboBox jcfont = new JComboBox();
jcfont.addItem("已加密");
jcfont.addItem("未加密");
JTextField jtf1 = new JTextField("请输入密码");
JButton jb1 = new JButton("点击进行二维码解码");
panel2.add(jcfont);
panel2.add(jtf1);
panel3.add(jb1);
}
}
}
public class QrTest1
{
public static void main(String[] args)
{
new MyFrame();
}
}
3 个解决方案
#1
不知你的“按钮加入保存功能”是什么意思?想保存的是什么东东
#2
当然是保存二维码图片。顺便问一句,我要想在二维码编码的程序中引用另一个类中的textarea的变量,怎么引用啊。谢谢。
#3
很简单吧。无论保存什么,你都要给那个按钮添加一个监听,然后再监听里面对这个对象进行保存。我不知道你说的这个保存是对象持久化还是指保存在内存中,所以没法帮你写。
至于另一个问题,你在实例化本类对象的时候引入另一个类中的对象
比如本类构造器
class A{
private B b;
A(B b){
this.b=b;
}
//然后再方法中b.get那个对象就可以了
#1
不知你的“按钮加入保存功能”是什么意思?想保存的是什么东东
#2
当然是保存二维码图片。顺便问一句,我要想在二维码编码的程序中引用另一个类中的textarea的变量,怎么引用啊。谢谢。
#3
很简单吧。无论保存什么,你都要给那个按钮添加一个监听,然后再监听里面对这个对象进行保存。我不知道你说的这个保存是对象持久化还是指保存在内存中,所以没法帮你写。
至于另一个问题,你在实例化本类对象的时候引入另一个类中的对象
比如本类构造器
class A{
private B b;
A(B b){
this.b=b;
}
//然后再方法中b.get那个对象就可以了