⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculatorjapplet.java

📁 java applet编程,实现对相关图片声音的调用
💻 JAVA
字号:
import java.awt.*;			
import java.awt.event.*;	
import javax.swing.*;		
/* 定义一个JPanel类的直接子类且是ActionListener接口的实现类作为动作事件监听器 */
class CalculatorJPanel extends JPanel implements ActionListener  {
    private JTextField display;	// Swing文本域组件display作为私有成员变量
    private double arg = 0;
    private String op = "=";
    private boolean start = true;  //标志量
    public CalculatorJPanel()
    { int rows = 4, cols = 4;	
       setLayout( new BorderLayout() );
//调用从间接超类Container继承的setLayout(),把Swing面板组件设置为边框式布局管理器
       display = new JTextField( "0" );// 创建一个Swing文本域组
       display.setEditable( false );
/* 调用从父类继承的JTextComponent()方法,把Swing文本域组件设置为不可编辑 */
       add( display, "North" ); // 把Swing文本域组件display添加给Swing面板组件放在北边
       JPanel p = new JPanel();	// 创建一个Swing面板子组件p
       p.setLayout(new GridLayout( rows, cols )); // 把Swing面板子组件p设置为网格式布局管理器
       String buttons = "789/456*123-0.=+";	
       for( int i = 0; i < buttons.length(); i++ )
          addButton( p, buttons.substring( i, i + 1 ) );
// 按顺序取出一个字符作为按键的字符标签,创建一个Swing按钮组件添加到面板子组件p中
       add( p, "Center" );	// 把Swing面板子组件p添加到父面板组件中 
    }
// 把Swing按钮组件添加给形参c所指的容器内的方法
    private void addButton( Container c, String s )
    { JButton b = new JButton( s );  //第2个参数指定按键的字符标签 
       c.add( b ); // 把Swing按钮组件b添加给形参c所指的容器组件
       b.addActionListener( this );
/* 把父容器组件(即this所指的本类一个对象)作为动作监听器注册给按钮组件b */
   }
// 实现ActionListener接口所声明的、处理动作事件的方法
   public void actionPerformed( ActionEvent evt )
   { String s = evt.getActionCommand();		
/* 调用ActionEvent类的getActionCommand()方法获取动作事件命令字符串,
即计算器按键的字符标签,如-,0,1,2...等,并用s指向它 */
     if( '0' <= s.charAt(0) && s.charAt(0) <= '9' || s.equals(".") )  {
	if( start )  display.setText( s );
	else display.setText( display.getText() + s );
          	start = false;		
     }
     else  {	if ( start )  {
	    if( s.equals( "-" ) )  { display.setText( s );  start = false; }
     	    else  op = s;  // 若输入的是第1个字符不是"-"则它是+、*和/等运算符,则赋给私有成员变量op
        	}
          	else  {	double x = Double.parseDouble( display.getText() );
          		calculate( x );		
         		op = s;			
             		start = true;		
     	}
     }
   }
   
   public void calculate( double n )
   {  if( op.equals( "+" ) ) arg += n;
      else if( op.equals( "-" ) ) arg -= n;
             else if( op.equals( "*" ) ) arg *= n;
         	  else if( op.equals( "/" ) ) arg /= n;
      	         else if( op.equals( "=" ) ) arg = n;

      display.setText( "" + arg );
   }
}

public class CalculatorJApplet extends JApplet
{  public void init()
   { Container contentPane = getContentPane();
      contentPane.add( new CalculatorJPanel() );
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -