程式設計方法
阿新 • • 發佈:2021-10-08
程式設計方法
面向過程
在一個主函式裡面進行所有操作過程
public class TestTextField { public static void main(String[] args) { Frame frame = new Frame(); TextField field = new TextField(); frame.setLayout(new BorderLayout()); frame.add(field); field.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { TextField field = (TextField)e.getSource(); System.out.println(field.getText()); field.setText(""); } }); frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); frame.setVisible(true); } }
面向物件
在類中構造類,通過呼叫類方法使主函式簡潔
public class TestTextField { public static void main(String[] args) { new MyFrame(); } } class MyFrame extends Frame{ public MyFrame(){ setLayout(new BorderLayout()); TextField field = new TextField(); field.setEchoChar('*'); field.addActionListener(new TextListener()); add(field); pack(); setVisible(true); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } } class TextListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { TextField field = (TextField)e.getSource(); System.out.println(field.getText()); field.setText(""); } }
內部類
將構造類放在主類當中,方便方法和引數的呼叫
public class TestTextField { public static void main(String[] args) { new MyFrame(); } private class MyFrame extends Frame{ public MyFrame(){ setLayout(new BorderLayout()); TextField field = new TextField(); field.setEchoChar('*'); field.addActionListener(new TextListener()); add(field); pack(); setVisible(true); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } } private class TextListener implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { TextField field = (TextField)e.getSource(); System.out.println(field.getText()); field.setText(""); } } }