怎样使jpanel标签页面中的按钮加入保存功能

时间:2022-04-16 14:55:19
怎样使jpanel标签页面中的按钮加入保存功能
   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


引用 2 楼 nangelC 的回复:
当然是保存二维码图片。顺便问一句,我要想在二维码编码的程序中引用另一个类中的textarea的变量,怎么引用啊。谢谢。

很简单吧。无论保存什么,你都要给那个按钮添加一个监听,然后再监听里面对这个对象进行保存。我不知道你说的这个保存是对象持久化还是指保存在内存中,所以没法帮你写。
至于另一个问题,你在实例化本类对象的时候引入另一个类中的对象
比如本类构造器

class A{
private B b;
A(B b){
this.b=b;
}
//然后再方法中b.get那个对象就可以了

#1


不知你的“按钮加入保存功能”是什么意思?想保存的是什么东东

#2


当然是保存二维码图片。顺便问一句,我要想在二维码编码的程序中引用另一个类中的textarea的变量,怎么引用啊。谢谢。

#3


引用 2 楼 nangelC 的回复:
当然是保存二维码图片。顺便问一句,我要想在二维码编码的程序中引用另一个类中的textarea的变量,怎么引用啊。谢谢。

很简单吧。无论保存什么,你都要给那个按钮添加一个监听,然后再监听里面对这个对象进行保存。我不知道你说的这个保存是对象持久化还是指保存在内存中,所以没法帮你写。
至于另一个问题,你在实例化本类对象的时候引入另一个类中的对象
比如本类构造器

class A{
private B b;
A(B b){
this.b=b;
}
//然后再方法中b.get那个对象就可以了