package mysrc; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class WindowClosingAdapter extends WindowAdapter { public void windowClosing(WindowEvent e){ System.exit(0); } } package mysrc; import java.awt.*; import java.awt.event.*; public class Trangular extends Dialog{ Button btn=new Button("计算矩形面积"); TextField text_chang=new TextField("长",10), text_kuan=new TextField("宽",10), text_area=new TextField("",10); FlowLayout flow=new FlowLayout(); Label lab_in=new Label("输入长和宽"), lab_out=new Label("面积是"); public Trangular(Frame belong,String title,boolean model) { super(belong,title,model); setBounds(100,100,100,250); setLayout(flow); this.addWindowListener(new WindowClosingAdapter()); add(lab_in); add(text_chang); add(text_kuan); add(lab_out); add(text_area); add(btn); btn.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { if(arg0.getSource()==btn){ try{ text_area.setText(returnArea(text_chang.getText(),text_kuan.getText())); } catch(Exception ee){ text_area.setText("输入数字字符"); } } } }); } public String returnArea(String c,String k){ return(Double.toString(Double.parseDouble(c)*Double.parseDouble(k))); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; public class exp5_1 extends Frame { TextArea text2=new TextArea("",6,40); TextField text1=new TextField("",20); /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 exp5_1 f=new exp5_1(); } exp5_1(){ add(text1); add(text2); setVisible(true); setLayout(new FlowLayout()); setBounds(100,100,400,400); text1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ try{ if(Integer.parseInt(text1.getText())<1000){ text2.append(text1.getText()+"/n"); } if(Integer.parseInt(text1.getText())>=1000){ int n=JOptionPane.showConfirmDialog(text1,"Number is over 1000 byte,Continue?","Do you sure?",JOptionPane.YES_NO_OPTION); if(n==JOptionPane.YES_OPTION){ text2.append(text1.getText()+"/n"); } else if(n==JOptionPane.NO_OPTION){ } } } catch(Exception e3){ text1.setText("Allowed Formet:number"); } } }); validate(); } } package mysrc; import java.awt.Dialog; public class Example8_2 { public static void main(String[] args) { AreaWindow win2 = new AreaWindow("Area Window"); // win2.setDialog(new Circle(win2,"面积",false)); win2.setDialog(new Trangular(win2,"矩形面积",false)); } } package mysrc; import java.awt.*; import java.awt.event.*; public class Circle extends Dialog implements ActionListener{ private double r,area; private TextField txtR=null,txtArea=null; private Button btn=null; public Circle(Frame owner, String title, boolean modal) { super(owner, title, modal); setLayout(new GridLayout(2,3,10,10)); txtR=new TextField(10); txtArea = new TextField(10); btn = new Button("确定"); btn.addActionListener(this); txtR.addActionListener(this); txtR.requestFocusInWindow(); txtArea.setEditable(false); this.add(new Label("半径:")); this.add(txtR); this.add(btn); this.add(new Label("面积:")); this.add(txtArea); this.setBounds(100,100,260,100); this.addWindowListener(new WindowClosingAdapter()); } public void actionPerformed(ActionEvent e) { if (e.getSource()==btn || e.getSource()==txtR){ try { r = Double.parseDouble(txtR.getText()); area = Math.PI*r*r; txtArea.setText(Double.toString(area)); } catch(NumberFormatException nfe){ txtR.setText("请输入数字字符"); } } } } package mysrc; import java.awt.*; import java.awt.event.*; public class AreaWindow extends Frame implements ActionListener{ private Dialog dialog ; private Button btn; private MenuBar mb; private Menu m; private MenuItem mi; public AreaWindow(){ mb = new MenuBar(); m =new Menu("select"); mi = new MenuItem("circleArea"); m.add(mi); mb.add(m); this.setMenuBar(mb); mi.addActionListener(this); this.setBounds(100,100,300,300); this.addWindowListener(new WindowClosingAdapter()); this.setVisible(true); this.validate(); } public AreaWindow(String title) { super(title); setLayout(new FlowLayout()); btn = new Button("计算面积"); btn.addActionListener(this); this.add(btn); this.addWindowListener(new WindowClosingAdapter()); this.setBounds(450,100,300,300); this.setVisible(true); this.validate(); } public Dialog getDialog() { return dialog; } public void setDialog(Dialog dialog) { this.dialog = dialog; } public void actionPerformed(ActionEvent e) { dialog.setVisible(true); } }