可以写一个Java的gui程序吗

这是界面

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Font;

public class gsklWindow extends JPanel
{
    JTextField textA, textB;
    JTextField textAout, textBout;
    JButton button;
    int flag;
    JRadioButton radio1;
    JRadioButton radio2;
public gsklWindow()
    {
    ButtonGroup group=new ButtonGroup();
    radio1=new JRadioButton("三度分带");
    radio2=new JRadioButton("六度分带");//单选按钮
    group.add(radio1);
    group.add(radio2); //添加按钮
    
    textA=new JTextField(12);
    textB=new JTextField(12);
    textAout=new JTextField(12);
    textBout=new JTextField(12);
    
    button=new JButton("坐标转换");  //添加文本
    JLabel LonLabel=new JLabel("经度");
    JLabel LatLabel=new JLabel("纬度");
    
    JLabel XLabel=new JLabel("X坐标");
    JLabel YLabel=new JLabel("Y坐标");
    JLabel TLabel=new JLabel("高斯克吕格转换");
    TLabel.setFont(new Font("",Font.BOLD,20)); //调整字体大小
    add(TLabel);
    add(LonLabel);
    add(textA);
    add(LatLabel);
    add(textB);
    add(radio1);
    add(radio2);
     
    add(XLabel);
    add(textAout);
    add(YLabel);
    add(textBout);
    add(button);
    radioListener r=new radioListener();
    radio1.addActionListener(r);
    radio2.addActionListener(r);
    Controller c=new Controller();
    button.addActionListener(c);
    setPreferredSize(new Dimension(170,210)); //调整窗口大小
} 
    public class radioListener implements ActionListener
    {         
            public void actionPerformed(ActionEvent event)
            {
                Object source=event.getSource();
                if (source==radio1)
                    flag=1;
                else;
                    flag=2;
}
            
    }    
    private class Controller implements ActionListener
    {gs model=new gs();
public void actionPerformed(ActionEvent e)
            {
    double a=Double.parseDouble(textA.getText());
    double b=Double.parseDouble(textB.getText());
    double x;
    double y;
    model.setLat(a);
    model.setLon(b);
    if(flag==1)
    {
        x=model.gskl3X();
        y=model.gskl6Y();
    
    }
    else
    { x=model.gskl3X();
      y=model.gskl6Y();//获取x y的值
    }
    textAout.setText(""+x);
    textBout.setText(""+y);
            }
    
    }
}

这是主类

import javax.swing.JFrame;

    public class gsklvMain {
      public static void main(String args[]) {
          JFrame frame=new JFrame("高斯克吕格转换");
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.getContentPane().add(new gsklWindow()) ;
         frame.pack();
        frame.setVisible(true);
      }
    }

还需要写一个算法

img

img

img

img

public class gsklWindow extends JPanel
改为
public class gsklWindow extends JFrame

帮帮我,要写的算法我已经更新了 我知道我不是编程的料 太难了