// The copyright of this program is reserved by 哲猫. /* Complex クラスの使い方(その2) */ /* */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ex061020a extends JApplet implements ActionListener{ JLabel lb1,lb2,lb3,lb4,lb5,lb6,lb7,lb8,lb9,lb10,lb11,lb12; JTextField tf1,tf2; JButton bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9; Complex z1; public void init(){ Container cp = getContentPane(); JPanel pl = new JPanel(); pl.setLayout(null); z1 = new Complex(); lb1 = new JLabel("z ="); lb1.setBounds(10,0,20,20); pl.add(lb1); tf1 = new JTextField(10); tf1.setBounds(30,0,50,20); tf1.setText("0.0"); pl.add(tf1); lb2 = new JLabel("+"); lb2.setBounds(80,0,10,20); pl.add(lb2); tf2 = new JTextField(10); tf2.setBounds(90,0,50,20); tf2.setText("0.0"); pl.add(tf2); lb3 = new JLabel("i"); lb3.setBounds(145,0,10,20); pl.add(lb3); bt1 = new JButton("sin(z)"); bt1.setBounds(10,30,80,20); bt1.addActionListener(this); pl.add(bt1); lb4 = new JLabel("= "); lb4.setBounds(100,30,150,20); pl.add(lb4); bt2 = new JButton("cos(z)"); bt2.setBounds(10,60,80,20); bt2.addActionListener(this); pl.add(bt2); lb5 = new JLabel("= "); lb5.setBounds(100,60,150,20); pl.add(lb5); bt3 = new JButton("tan(z)"); bt3.setBounds(10,90,80,20); bt3.addActionListener(this); pl.add(bt3); lb6 = new JLabel("= "); lb6.setBounds(100,90,150,20); pl.add(lb6); bt4 = new JButton("log(z)"); bt4.setBounds(10,120,80,20); bt4.addActionListener(this); pl.add(bt4); lb7 = new JLabel("= "); lb7.setBounds(100,120,150,20); pl.add(lb7); bt5 = new JButton("exp(z)"); bt5.setBounds(10,150,80,20); bt5.addActionListener(this); pl.add(bt5); lb8 = new JLabel("= "); lb8.setBounds(100,150,150,20); pl.add(lb8); bt6 = new JButton("sinh(z)"); bt6.setBounds(10,180,80,20); bt6.addActionListener(this); pl.add(bt6); lb9 = new JLabel("= "); lb9.setBounds(100,180,150,20); pl.add(lb9); bt7 = new JButton("cosh(z)"); bt7.setBounds(10,210,80,20); bt7.addActionListener(this); pl.add(bt7); lb10 = new JLabel("= "); lb10.setBounds(100,210,150,20); pl.add(lb10); bt8 = new JButton("tanh(z)"); bt8.setBounds(10,240,80,20); bt8.addActionListener(this); pl.add(bt8); lb11 = new JLabel("= "); lb11.setBounds(100,240,150,20); pl.add(lb11); bt9 = new JButton("sqrt(z)"); bt9.setBounds(10,270,80,20); bt9.addActionListener(this); pl.add(bt9); lb12 = new JLabel("= "); lb12.setBounds(100,270,150,20); pl.add(lb12); cp.add(pl); } public void actionPerformed(ActionEvent event){ String s=new String("0.0"); double re,im; s=tf1.getText(); re=Double.valueOf(s).doubleValue(); s=tf2.getText(); im=Double.valueOf(s).doubleValue(); z1.set(re,im); if(event.getSource()==bt1){ lb4.setText(display(Complex.sin(z1))); } if(event.getSource()==bt2){ lb5.setText(display(Complex.cos(z1))); } if(event.getSource()==bt3){ lb6.setText(display(Complex.tan(z1))); } if(event.getSource()==bt4){ lb7.setText(display(Complex.log(z1))); } if(event.getSource()==bt5){ lb8.setText(display(Complex.exp(z1))); } if(event.getSource()==bt6){ lb9.setText(display(Complex.sinh(z1))); } if(event.getSource()==bt7){ lb10.setText(display(Complex.cosh(z1))); } if(event.getSource()==bt8){ lb11.setText(display(Complex.tanh(z1))); } if(event.getSource()==bt9){ lb12.setText(display(Complex.sqrt(z1))); } } public String display(Complex z){ String str = new String(); if(z.image()>=0) str="= "+Math.floor(z.real()*10000+0.5)/10000+" + "+Math.floor(z.image()*10000+.5)/10000+" i"; else str="= "+Math.floor(z.real()*10000+0.5)/10000 + Math.floor(z.image()*10000+.5)/10000+" i"; return(str); } }