亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? diningphilosophers.java

?? Java樣例程序集合:2D
?? JAVA
字號:
import javax.swing.*;import java.net.URL;import java.awt.*;import java.io.*;import java.util.*;import javax.swing.SwingUtilities;// for dealing with the start stop buttonimport java.awt.event.ActionListener;import java.awt.event.ActionEvent;// for dealing with the delay sliderimport javax.swing.event.ChangeListener;import javax.swing.event.ChangeEvent;import java.awt.GridBagLayout;import java.awt.GridBagConstraints;public class DiningPhilosophers extends javax.swing.JApplet           implements ActionListener, ChangeListener {    // delays can go from 0 to 10,000 milliseconds, initial value is 500    public int grabDelay = 500;    private JButton stopStartButton = new JButton("start");    private JSlider grabDelaySlider = new JSlider(JSlider.HORIZONTAL, 0, 100, 5);    private JLabel label = new JLabel("  500 milliseconds");    private JPanel philosopherArea;    public Map<Dukes, ImageIcon> imgs;    static final int NUMPHILS = 5;    public Chopstick[] chopsticks = new Chopstick[NUMPHILS];    private Philosopher[] philosophers = new Philosopher[NUMPHILS];    String[] names = { "Arisduktle", "Dukrates", "Pythagoduke", 											"Duko", "Dukimedes" };    private int width = 0;    private int height = 0;    private double spacing;    private static final double MARGIN = 10.0f;		public void init() {			imgs = new EnumMap<Dukes, ImageIcon>(Dukes.class);			imgs.put(Dukes.HUNGRYDUKE, createAppletImageIcon("images/hungryduke.gif", "hungry duke"));			imgs.put(Dukes.RIGHTSPOONDUKE, createAppletImageIcon("images/rightspoonduke.gif", "right spoon duke"));			imgs.put(Dukes.BOTHSPOONSDUKE, createAppletImageIcon("images/bothspoonsduke.gif", "both spoon duke"));			width = imgs.get(Dukes.HUNGRYDUKE).getIconWidth() + (int)(MARGIN*2.0);			height = imgs.get(Dukes.HUNGRYDUKE).getIconHeight() + (int)(MARGIN*2.0);			spacing = width + MARGIN;						//Execute a job on the event-dispatching thread:			//creating this applet's GUI.			try {				javax.swing.SwingUtilities.invokeAndWait(new Runnable() {					public void run() {						createGUI();					}				});			} catch (Exception e) {				System.err.println("createGUI didn't successfully complete");			}		}				private void createGUI() {						GridBagLayout gridBag = new GridBagLayout();			GridBagConstraints c = new GridBagConstraints();						JPanel contentPane = new JPanel();			contentPane.setLayout(gridBag);						philosopherArea = new JPanel(null);			philosopherArea.setBackground(Color.white);			Dimension preferredSize = createPhilosophersAndChopsticks();			philosopherArea.setBorder(BorderFactory.createCompoundBorder(											BorderFactory.createLoweredBevelBorder(),											BorderFactory.createEmptyBorder(5, 5, 5, 5)			));			philosopherArea.setPreferredSize(preferredSize);						c.fill = GridBagConstraints.BOTH;			c.weighty = 1.0;			c.gridwidth = GridBagConstraints.REMAINDER; //end row			gridBag.setConstraints(philosopherArea, c);			contentPane.add(philosopherArea);						c.fill = GridBagConstraints.HORIZONTAL;			c.weightx = 1.0;			c.weighty = 0.0;			gridBag.setConstraints(stopStartButton, c);			contentPane.add(stopStartButton);						c.gridwidth = GridBagConstraints.RELATIVE; //don't end row			c.weightx = 1.0;			c.weighty = 0.0;			gridBag.setConstraints(grabDelaySlider, c);			contentPane.add(grabDelaySlider);						c.weightx = 0.0;			c.gridwidth = GridBagConstraints.REMAINDER; //end row			gridBag.setConstraints(label, c);			contentPane.add(label);			contentPane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));			setContentPane(contentPane);						stopStartButton.addActionListener(this);			grabDelaySlider.addChangeListener(this);    }    public void actionPerformed(ActionEvent e) {        if ("stop/reset".equals(stopStartButton.getText())) {            stopPhilosophers();            stopStartButton.setText("start");        } else if ("start".equals(stopStartButton.getText())) {            startPhilosophers();            stopStartButton.setText("stop/reset");        }    }    public void stateChanged(ChangeEvent e) {        JSlider source = (JSlider)e.getSource();        grabDelay = source.getValue()*100;        label.setText(String.valueOf(grabDelay + " milliseconds"));    }    public void startPhilosophers() {        for (int i = 0; i < NUMPHILS; i++)            philosophers[i].philThread.start();    }    public void stopPhilosophers() {        for (int i = 0; i < NUMPHILS; i++)            philosophers[i].philThread.interrupt();    }    public Dimension createPhilosophersAndChopsticks() {        double x, y;        double radius = 80.0;        double centerAdj = 85.0;        double radians;        Dimension preferredSize = new Dimension(0, 0);        for (int i = 0; i < NUMPHILS; i++)            chopsticks[i] = new Chopstick();        for (int i = 0; i < NUMPHILS; i++) {            radians = i*(2.0 * Math.PI /(double)NUMPHILS);            x = Math.sin(radians) * radius + centerAdj;             y = Math.cos(radians) * radius + centerAdj;             philosophers[i] = new Philosopher(this, i);            philosophers[i].setBounds((int)x, (int)y, width, height);            philosopherArea.add(philosophers[i]);            if ((int)x > preferredSize.width)							preferredSize.width = (int)x;            if ((int)y > preferredSize.height)							preferredSize.height = (int)y;        }        preferredSize.width += width;        preferredSize.height += height;        return preferredSize;    }      protected static ImageIcon createAppletImageIcon(String path,                                              String description) {        int MAX_IMAGE_SIZE = 75000; //Change this to the size of                                    //your biggest image, in bytes.        int count = 0;        BufferedInputStream imgStream = new BufferedInputStream(           DiningPhilosophers.class.getResourceAsStream(path));        if (imgStream != null) {            byte buf[] = new byte[MAX_IMAGE_SIZE];            try {                count = imgStream.read(buf);            } catch (IOException ieo) {                System.err.println("Couldn't read stream from file: " + path);            }            try {                imgStream.close();            } catch (IOException ieo) {                 System.err.println("Can't close file " + path);            }            if (count <= 0) {                System.err.println("Empty file: " + path);                return null;            }            return new ImageIcon(Toolkit.getDefaultToolkit().createImage(buf),                                 description);        } else {            System.err.println("Couldn't find file: " + path);            return null;        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久综合婷婷| 欧美精品乱码久久久久久按摩| 久色婷婷小香蕉久久| 亚洲国产精品自拍| 亚洲妇女屁股眼交7| 一区二区三区中文字幕| 亚洲私人黄色宅男| 亚洲老妇xxxxxx| 亚洲精品综合在线| 亚洲国产色一区| 亚洲电影一级黄| 日韩av午夜在线观看| 免费观看一级特黄欧美大片| 日本伊人午夜精品| 蜜臀av一区二区| 久草精品在线观看| 国模冰冰炮一区二区| 极品销魂美女一区二区三区| 国产精品一区二区免费不卡 | 手机精品视频在线观看| 亚洲图片欧美视频| 肉色丝袜一区二区| 久久疯狂做爰流白浆xx| 国产精品资源网站| 成人av免费观看| 在线中文字幕一区| 99re6这里只有精品视频在线观看| 色婷婷精品大在线视频| 欧美日韩综合在线免费观看| 在线不卡中文字幕播放| 日韩网站在线看片你懂的| 精品电影一区二区| 欧美激情一区二区三区蜜桃视频 | 亚洲bt欧美bt精品| 美女脱光内衣内裤视频久久网站 | 久久精工是国产品牌吗| 国产成人在线影院| 日本韩国一区二区三区视频| 欧美另类高清zo欧美| 精品电影一区二区| 亚洲色图在线播放| 日本不卡一区二区三区| 色猫猫国产区一区二在线视频| 欧美日韩国产高清一区二区三区 | 91久久精品日日躁夜夜躁欧美| 欧美色图免费看| 精品国产区一区| 亚洲靠逼com| 狠狠色伊人亚洲综合成人| 99久免费精品视频在线观看| 欧美日韩精品欧美日韩精品一| 久久午夜色播影院免费高清| 亚洲日本在线视频观看| 久久精品国产**网站演员| 91蜜桃在线免费视频| 日韩亚洲国产中文字幕欧美| 国产精品天美传媒沈樵| 婷婷中文字幕一区三区| 东方欧美亚洲色图在线| 91精品国产综合久久久久久久| 欧美国产激情一区二区三区蜜月 | 豆国产96在线|亚洲| 在线电影欧美成精品| 日本一区二区三区四区在线视频 | 高清shemale亚洲人妖| 欧美三级电影网| 国产欧美精品一区二区色综合| 丝袜诱惑制服诱惑色一区在线观看 | 久久久久久久综合色一本| 亚洲在线免费播放| 丁香婷婷深情五月亚洲| 欧美福利视频一区| 亚洲女爱视频在线| 国产盗摄女厕一区二区三区| 日韩视频永久免费| 亚洲午夜影视影院在线观看| 福利一区二区在线观看| 日韩女优毛片在线| 亚洲午夜在线电影| 色香蕉成人二区免费| 国产日韩欧美a| 蜜臀av在线播放一区二区三区| 色综合天天综合给合国产| 久久久久久亚洲综合影院红桃 | 激情欧美一区二区三区在线观看| 91久久免费观看| 国产精品天美传媒| 国产91在线看| 精品国产91洋老外米糕| 日本中文字幕不卡| 欧美日韩一级片在线观看| 中文字幕一区二区三区在线不卡 | 蜜桃久久av一区| 在线电影院国产精品| 亚洲国产精品综合小说图片区| 97久久精品人人爽人人爽蜜臀| 久久久综合激的五月天| 日本欧美大码aⅴ在线播放| 欧美高清一级片在线| 亚洲高清视频的网址| 日本乱人伦aⅴ精品| 亚洲美女在线一区| 色狠狠色狠狠综合| 亚洲欧美日韩一区二区三区在线观看| 成人av小说网| 国产精品麻豆一区二区| 97久久精品人人爽人人爽蜜臀 | 91欧美一区二区| 亚洲欧美日韩国产综合在线| 99久久亚洲一区二区三区青草| 国产精品久久久久久久第一福利 | 欧美tickling挠脚心丨vk| 美女视频一区二区三区| 欧美成人vr18sexvr| 国内精品视频666| 久久久91精品国产一区二区精品 | 久久久精品免费观看| 黑人精品欧美一区二区蜜桃| 久久久精品欧美丰满| 高清shemale亚洲人妖| 中文字幕亚洲精品在线观看| 色中色一区二区| 午夜精品影院在线观看| 日韩精品专区在线影院观看| 国产一本一道久久香蕉| 国产欧美视频在线观看| 99精品国产热久久91蜜凸| 一区二区在线观看av| 欧美精品在线视频| 韩国中文字幕2020精品| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 在线观看成人小视频| 亚洲成a人片综合在线| 国产精品白丝在线| 成人高清伦理免费影院在线观看| 欧美一级艳片视频免费观看| 欧美v日韩v国产v| 亚洲一区二区av在线| 成人夜色视频网站在线观看| 色婷婷亚洲综合| 99久久综合国产精品| 亚洲成人动漫一区| 9191国产精品| 国产一区二区三区不卡在线观看 | 欧美久久久久久久久中文字幕| 久久国产日韩欧美精品| 亚洲国产激情av| 欧美性猛片aaaaaaa做受| 蜜桃一区二区三区在线观看| 久久亚洲春色中文字幕久久久| av男人天堂一区| 人人超碰91尤物精品国产| 久久精品人人做人人爽97 | 一区二区三区四区亚洲| 91精品国产91久久久久久最新毛片| 韩国成人在线视频| 亚洲精品菠萝久久久久久久| 日韩美一区二区三区| 91首页免费视频| 男人的j进女人的j一区| 一区二区中文视频| 欧美成人在线直播| 欧美视频精品在线观看| 国产91对白在线观看九色| 亚洲午夜免费电影| 国产欧美日韩麻豆91| 51久久夜色精品国产麻豆| eeuss影院一区二区三区| 蜜臀精品一区二区三区在线观看 | 亚洲美女免费在线| 国产色婷婷亚洲99精品小说| 欧美视频在线观看一区二区| 国产福利一区二区三区| 日日夜夜精品视频天天综合网| 国产精品天干天干在观线| 欧美不卡一区二区三区四区| 在线观看三级视频欧美| 国产69精品久久久久毛片| 久久国产精品免费| 爽好久久久欧美精品| 亚洲黄色在线视频| 中文字幕欧美三区| 久久综合五月天婷婷伊人| 欧美高清hd18日本| 91福利视频久久久久| 成人aa视频在线观看| 国产最新精品免费| 日韩不卡一区二区三区| 亚洲综合视频在线观看| 国产精品三级av| 国产日韩欧美制服另类| 精品99一区二区| 在线综合亚洲欧美在线视频| 在线视频一区二区免费| 成人免费毛片aaaaa**| 国产麻豆日韩欧美久久| 麻豆传媒一区二区三区| 日韩精品午夜视频| 午夜精品久久久久久久久| 亚洲国产一区二区三区|