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

📄 frame1.java~15~

📁 java灵感设计
💻 JAVA~15~
字号:
package signal;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.lang.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class Frame1 extends JFrame {  JPanel contentPane;  TextArea textArea1 = new TextArea();  Button button1 = new Button();  //Construct the frame  public Frame1() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //Component initialization  private void jbInit() throws Exception  {    //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));    contentPane = (JPanel) this.getContentPane();    textArea1.setBounds(new Rectangle(84, 27, 234, 146));    contentPane.setLayout(null);    this.setSize(new Dimension(400, 300));    this.setTitle("Frame Title");    button1.setLabel("button1");    button1.setBounds(new Rectangle(130, 211, 147, 41));    button1.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(ActionEvent e) {        button1_actionPerformed(e);      }    });    contentPane.add(textArea1, null);    contentPane.add(button1, null);  }  //Overridden so we can exit when window is closed  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      System.exit(0);    }  }  void button1_actionPerformed(ActionEvent e) {  Sender send=new Sender();  Thread thread1=new Thread(send);  Receiver receive=new Receiver(send);  Thread thread2=new Thread(receive);  thread2.setDaemon(true);  thread1.start();  thread2.start();  try  {  thread1.join();  while(send.signal)  {  Thread.sleep(100);  }  }  catch(Exception ee)  {  ee.printStackTrace();  }  }  class Sender implements Runnable  {  volatile int sendValue;  volatile boolean signal;//信号标识  public void run()  {  for(int i=0;i<5;i++)  {  while(signal)  {  Thread.yield();  }  sendValue=(int)(Math.random()*256);  textArea1.append("\n发送的数据为: "+sendValue);  signal=true;  }  }  }   class Receiver implements Runnable   {   Sender theSender;   public Receiver(Sender sender)   {   theSender=sender;   }   public void run()   {   while(true)   {   while(!theSender.signal)   {   Thread.yield();   }   textArea1.append("\n接收到的数据为:"+theSender.sendValue);   theSender.signal=false;   }   }   }}

⌨️ 快捷键说明

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