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

📄 proncons.java

📁 实现操作系统几个经典问题:生产者消费者,读者写者,哲学家进餐问题.共做一个界面
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * PronCons.java
 *
 * Created on 2007年7月15日, 上午12:18
 */

package processSyn;
import java.awt.Color;
import java.util.ArrayList;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
/**
 *
 * @author  jzf
 */
public class PronCons extends javax.swing.JPanel {
    /** Creates new form PronCons */
    private int pronNum=2,consNum=1;
    private int workPron=2,workCons=1;
    private Buffer buffer=new Buffer(5);
    private ArrayList<JLabel> arrLab=new ArrayList<JLabel>();
    private boolean stop=true;
    public PronCons() {
        initComponents();
        arrLab.add(labelBuff1);
        arrLab.add(labelBuff2);
        arrLab.add(labelBuff3);
        arrLab.add(labelBuff4);
        arrLab.add(labelBuff5);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        OnAddPron = new javax.swing.JButton();
        onAddCons = new javax.swing.JButton();
        onStart = new javax.swing.JButton();
        labelPron = new javax.swing.JLabel();
        labelCons = new javax.swing.JLabel();
        labelBuff1 = new javax.swing.JLabel();
        labelBuff2 = new javax.swing.JLabel();
        labelBuff3 = new javax.swing.JLabel();
        labelBuff4 = new javax.swing.JLabel();
        labelBuff5 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        stopButton = new javax.swing.JButton();
        removPronButton = new javax.swing.JButton();
        removeConsButton = new javax.swing.JButton();
        jLabel4 = new javax.swing.JLabel();
        totalPronLabel = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        totalConsLabel = new javax.swing.JLabel();

        setBackground(new java.awt.Color(255, 255, 255));
        addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                formMouseClicked(evt);
            }
        });

        jLabel1.setText("\u5f53\u524d\u751f\u4ea7\u8005\u4e2a\u6570\uff1a");

        jLabel2.setText("\u5f53\u524d\u6d88\u8d39\u8005\u4e2a\u6570\uff1a");

        OnAddPron.setText("\u6dfb\u52a0\u751f\u4ea7\u8005");
        OnAddPron.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OnAddPronActionPerformed(evt);
            }
        });

        onAddCons.setText("\u6dfb\u52a0\u6d88\u8d39\u8005");
        onAddCons.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                onAddConsActionPerformed(evt);
            }
        });

        onStart.setText("\u5f00\u59cb");
        onStart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                onStartActionPerformed(evt);
            }
        });

        labelPron.setBackground(new java.awt.Color(255, 255, 255));
        labelPron.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(153, 153, 255)));
        labelPron.setOpaque(true);

        labelCons.setBackground(new java.awt.Color(255, 255, 255));
        labelCons.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(153, 102, 255)));
        labelCons.setOpaque(true);

        labelBuff1.setBackground(new java.awt.Color(255, 255, 255));
        labelBuff1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        labelBuff1.setOpaque(true);

        labelBuff2.setBackground(new java.awt.Color(255, 255, 255));
        labelBuff2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        labelBuff2.setOpaque(true);

        labelBuff3.setBackground(new java.awt.Color(255, 255, 255));
        labelBuff3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        labelBuff3.setOpaque(true);

        labelBuff4.setBackground(new java.awt.Color(255, 255, 255));
        labelBuff4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        labelBuff4.setOpaque(true);

        labelBuff5.setBackground(new java.awt.Color(255, 255, 255));
        labelBuff5.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        labelBuff5.setOpaque(true);

        jLabel3.setText("\u7f13\u51b2\u533a\uff1a");
        jLabel3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

        stopButton.setText("\u505c\u6b62");
        stopButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                stopButtonActionPerformed(evt);
            }
        });

        removPronButton.setText("\u79fb\u9664\u4e00\u4e2a\u751f\u4ea7\u8005");
        removPronButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                removPronButtonActionPerformed(evt);
            }
        });

        removeConsButton.setText("\u79fb\u9664\u4e00\u4e2a\u6d88\u8d39\u8005");
        removeConsButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                removeConsButtonActionPerformed(evt);
            }
        });

        jLabel4.setText("\u751f\u4ea7\u8005\u603b\u6570\uff1a");

        totalPronLabel.setText("       ");

        jLabel6.setText("\u6d88\u8d39\u8005\u603b\u6570");

        totalConsLabel.setText("       ");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel2)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(labelCons, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(labelPron, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)))
                        .addGap(40, 40, 40))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(32, 32, 32)
                        .addComponent(OnAddPron)
                        .addGap(15, 15, 15)
                        .addComponent(onAddCons)
                        .addGap(5, 5, 5)))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(17, 17, 17)
                        .addComponent(onStart)
                        .addGap(37, 37, 37)
                        .addComponent(stopButton))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addGap(17, 17, 17))
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jLabel4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(totalConsLabel)
                            .addComponent(totalPronLabel))))
                .addGap(56, 56, 56))
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelBuff1, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelBuff2, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(removPronButton))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelBuff3, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelBuff4, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelBuff5, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(55, 55, 55)
                        .addComponent(removeConsButton)))
                .addContainerGap(70, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(OnAddPron)
                            .addComponent(onAddCons)
                            .addComponent(onStart)
                            .addComponent(stopButton))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(21, 21, 21)
                                .addComponent(labelPron, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(jLabel4)
                                    .addComponent(totalPronLabel))
                                .addGap(14, 14, 14))))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel1)
                        .addGap(14, 14, 14)))

⌨️ 快捷键说明

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