怎样用Swing界面来编写个简单的小程序,只要一个输入框一个输出框,和一个转换按钮既可,点击后能实现日文平假名与片假名的转换,急急急啊!!希望各位老大指点下小弟啊,多谢啊!!

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.io.IOException;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    class Person
    {
    String Course="notepad.exe";
    public void fun() throws IOException
    {
    Runtime run=Runtime.getRuntime();
    run.exec(Course);
    }
    }
    public class System extends JFrame
    { public System()
    {
    this.setTitle("WGS System...");
    Container container=this.getContentPane();
    container.setLayout(new BorderLayout());

    JPanel Jup=new JPanel();//上边内容
    JButton jb=new JButton("open");
    JButton jb1=new JButton("close");
    jb1.addActionListener(new Bstudy());

    JButton jb2=new JButton("max");

    Jup.add(jb);
    Jup.add(jb1);
    Jup.add(jb2);

    JPanel Jcenter=new JPanel();//下边

    JButton JB =new JButton("open notepad");
    JB.addActionListener( new ButtonEventHandle());

    Jcenter.add(JB);

    Panel pright=new Panel();//右边
    container.add(Jup,BorderLayout.BEFORE_FIRST_LINE);
    container.add(Jcenter,BorderLayout.SOUTH);

    this.setVisible(true);
    this.setSize(500,500);

    }
     class ButtonEventHandle implements ActionListener{
    public void actionPerformed(ActionEvent e) 
    {
    Person p=new Person();
    try {
    p.fun();
    } catch (IOException e1) {
    e1.printStackTrace();
    }
    }
    }
     class Bstudy implements ActionListener{
    public void actionPerformed(ActionEvent e) 
    {

    }
    }
    public static void main(String args[])
    {
    new System();
    }
    }
      

  2.   

    import java.awt.*;
    import java.awt.event.*;public class Counters extends Frame{
     Panel panel;
     TextField tf;
     Button b[],add,sub,mul,div,cle,
     equ,dot,two,sqr,tsex;
     Boolean isDot,operated,equaled;
     double storedNumber;
     char lastOperator;
     
     public Counters(){
      isDot=false;
      operated=false;
      equaled=false;
      storedNumber=0;
      lastOperator='?';
      panel=new Panel();
      tf=new TextField();
      b=new Button[10];
      for(int i=0;i<10;i++){b[i]=new Button(""+i);}
      add=new Button("+");
      sub=new Button("-");
      mul=new Button("*");
      div=new Button("/");
      cle=new Button("Cle");
      equ=new Button("=");
      dot=new Button(".");
      two=new Button("N(2)");
      sqr=new Button("√");
      tsex=new Button("N(16)");
      
      this.add(tf,BorderLayout.NORTH);
      this.add(panel,BorderLayout.CENTER);
      
      panel.setLayout(new GridLayout(5,4,10,10));
      panel.add(b[1]);
      panel.add(b[2]);
      panel.add(b[3]);
      panel.add(add);
      panel.add(b[4]);
      panel.add(b[5]);
      panel.add(b[6]);
      panel.add(sub);
      panel.add(b[7]);
      panel.add(b[8]);
      panel.add(b[9]);
      panel.add(mul);
      panel.add(b[0]);
      panel.add(dot);
      panel.add(sqr);
      panel.add(div);
      panel.add(two);
      panel.add(tsex);
      panel.add(cle);
      panel.add(equ);
      
      this.setTitle("计算器");
      this.setSize(250,350);
      this.setVisible(true);
      
      for(int i=0;i<10;i++){b[i].addActionListener(new Monitor());}
      add.addActionListener(new Monitor());
      sub.addActionListener(new Monitor());
      mul.addActionListener(new Monitor());
      div.addActionListener(new Monitor());
      dot.addActionListener(new Monitor());
      sqr.addActionListener(new Monitor());
      equ.addActionListener(new Monitor());
      cle.addActionListener(new Monitor());
      
      this.addWindowListener(new WindowAdapter(){
       public void windowClosing(WindowEvent e){
        System.exit(0);
        }
       });
       
      two.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        int temp=Integer.parseInt(tf.getText());
        tf.setText(""+Integer.toBinaryString(temp));
        }
       });
       
      tsex.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        int temp=Integer.parseInt(tf.getText());
        tf.setText(""+Integer.toHexString(temp));
        }
       });
      }
      
      class Monitor implements ActionListener{
       public void actionPerformed(ActionEvent e){
        Button btn=(Button)e.getSource();
        if(btn==cle){
         tf.setText("0");
         isDot=false;
         storedNumber=0;
         lastOperator='?';
         }
         else if(btn==equ){
          operate('=');
          equaled=true;
          }
          else if(btn==add){
           operate('+');
           equaled=false;
           }
           else if(btn==sub){
            operate('-');
            equaled=false;
            }
            else if(btn==mul){
             operate('*');
             equaled=false;
             }
             else if(btn==div){
              operate('/');
              equaled=false;
              }
              else if(btn==sqr){
               operate('s');
               operate('=');
               equaled=true;
               }
                 else{
                  if(equaled) storedNumber=0;
                  for(int i=0;i<10;i++)
                   if(btn==b[i]){
                    if(tf.getText().equals("0"))
                    tf.setText(""+i);
                    else if(!operated)
                    tf.setText(tf.getText()+i);
                    else{
                     tf.setText(""+i);
                     operated=false;
                     }
                   }
                   if(btn==dot&&!isDot){
                   tf.setText(tf.getText()+".");
                   isDot=true;
                   }
                  }
        }
       }
       
      public void operate(char operator){
       double currentNumber = Double.valueOf(tf.getText()).doubleValue();
       if (lastOperator == '?')
       
       storedNumber = currentNumber;
       
       else if 
       (lastOperator == '+')
       
       storedNumber += currentNumber;
       
       else if (lastOperator == '-')
       storedNumber -= currentNumber;
       else if (lastOperator == '*')
       storedNumber *= currentNumber;
       else if (lastOperator == '/')
       storedNumber /= currentNumber;
       else if (lastOperator == 's')
       storedNumber = Math.sqrt(currentNumber);
       else if (lastOperator == '=' && equaled)
       storedNumber = currentNumber;
       tf.setText("" + storedNumber);
       operated = true;
       lastOperator = operator;
       }
      
      public static void main(String args[]){
       new Counters();
       }
     }