• 大小: 7KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Java
  • 标签: 波形  逻辑        

资源简介

给出数字序列A、B的值和逻辑函数F的表达式(与、或、非、异或、同或等),生成A、B、F的波形图。注:A、B序列可任意长度。

资源截图

代码片段和文件信息

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

//import Avger.TextFieldKeyListener;

public class Boxing extends Jframe implements ActionListener{
//类本身所需的实例变量
private int[] dataA=new int[50];//本程序限定处理50个数字.
private int[] dataB=new int[50];//本程序限定处理50个数字.
private int[] dataF=new int[50];//本程序限定处理50个数字.
static int len;  
//界面所需的实例变量
private JLabel inputLabelA = new JLabel(“请输入A的波形:“);
private JTextField dataFieldA = new JTextField(“1 0 1 0“20);
private JLabel inputLabelB = new JLabel(“请输入B的波形:“);
private JTextField dataFieldB = new JTextField(“0 1 1 0“20);
private CheckboxGroup jisuan = new CheckboxGroup();
private Checkbox way1 = new Checkbox(“与“truejisuan);
private Checkbox way2 = new Checkbox(“或“falsejisuan);
private Checkbox way3 = new Checkbox(“非“falsejisuan);
private Checkbox way4 = new Checkbox(“异或“falsejisuan);
private Checkbox way5 = new Checkbox(“与非“falsejisuan);
private Checkbox way6 = new Checkbox(“或非“falsejisuan);
private JButton calcButton = new JButton(“计算F波形“);
private JTextArea displayArea = new JTextArea(220);
private myPanel mp  = new myPanel();
private JScrollPane jsp = new JScrollPane();

public Boxing(){//构造函数,完成窗口的初始化
    settitle(“数字波形生成器“);
    setLayout(new FlowLayout());
    
    // add the graphics components
    add(inputLabelA);
    add(dataFieldA);
    add(inputLabelB);
    add(dataFieldB);
    dataFieldA.addKeyListener(new TextFieldKeyListener()); //限制输入内容
    dataFieldB.addKeyListener(new TextFieldKeyListener()); //限制输入内容
    way1.setName(“1“);way2.setName(“2“);way3.setName(“3“);
    way4.setName(“4“);way5.setName(“5“);way6.setName(“6“);
    add(way1);add(way2);add(way3);add(way4);add(way5);add(way6);     
    add(calcButton);
    add(displayArea);
    setSize(350600);
    setLocation(100100);
    
    add(mp);     
    jsp.setViewportView(mp);
   // jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    //jsp.setAutoscrolls(true);
    jsp.setPreferredSize(new Dimension(300400));
        add(jsp);
        
      // now add the ActionListener to the calcButton
    
    calcButton.addActionListener(this);

    
    setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
    setVisible(true);
    setResizable(false);
}//end constractor Avger()

  /* finally write the code for handling a mouse-click on the
     calcButton */
public void actionPerformed(ActionEvent e){
int p;
    if ((e.getSource() == calcButton)){   
    String dataEnteredA = dataFieldA.getText();
    String dataEnteredB = dataFieldB.getText();
     // make sure the datafield aren‘t blank
     if(((dataEnteredA.length() == 0)||(dataEnteredB.length() == 0))&&(!way3.getState())){
     displayArea.setText(“原始波形不能为空“);
     }if((dataEnteredA.length()!=dataEnteredB.length())&&(!way3.getState()))
     displayArea.setText(“AB波形长度应相等“);
     else{
 

评论

共有 条评论