`
dkplus
  • 浏览: 18190 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
控件的相互控制与消息传递 控件的相互控制与消息传递, java实例100 控件的相互控制与消息传递
/*dkplus专业搜集和编写实用电脑软件教程,
*搜集各种软件资源和计算机周边,独立制作视频和ppt和音频微信公众号,
*点击进入 dkplus官方博客 (java网络编程http://dkplus.iteye.com),
*微信搜索dkplus关注公众号可获取海量计算机周边资源。*/
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
//控件的相互控制与消息传递
 
public class ActionDemo extends JFrame{
    JTextField jtfName;  //名字输入域
    JTextArea jtaChat;  //显示聊天信息
    JTextArea jtaInput;  //输入消息
    JButton jbSend;  //发送消息按钮
    JButton jbLink;  //连接按牛
    JButton jbUnlink; //断开按牛
 
    public ActionDemo(){
        super("控件的相互控制");  //调用父类构造函数
 
        Container container=this.getContentPane();  //得到容器
        JPanel p=new JPanel();  //初始化一个面板
        jtfName=new JTextField(10);  //初始化名字输入域 
         
        Box box1=new Box(BoxLayout.X_AXIS);  //初始化一个Box
        p.add(new JLabel("昵称:"));  //增加昵称标签
        p.add(jtfName);  //增加名字输入域
        box1.add(jbLink);
        box1.add(jbUnlink);
      container.add(p,BorderLayout.NORTH);  //在容器上增加面板
      
      jtaChat=new JTextArea();  //初始化信息显示文本框
       
    container.add(new JScrollPane(jtaChat),BorderLayout.CENTER);  //在容器上增加信息显示文本框
 
        Box box=new Box(BoxLayout.X_AXIS);  //初始化一个Box
        jtaInput=new JTextArea(3,20);  //初始化消息输入域
        jbSend=new JButton();  //初始化发送按钮
 
         
        box.add(new JScrollPane(jtaInput));  //增加消息输入域
         
        box.add(jbSend);
        container.add(box,BorderLayout.SOUTH);  //在容器上增加box
 
         
     
 
       Action sendMessage = new AbstractAction() {  //发送消息Action
        public void actionPerformed(ActionEvent e){
            replaceMessage();  //更新消息显示框
            }
        };
        jtaInput.getInputMap().put(KeyStroke.getKeyStroke("ENTER"),"send");  //键盘事件处理,按受回车事件
        jtaInput.getActionMap().put("send",sendMessage);  //回车时的处理(调用发送消息Action)
 
        jbSend.setAction(sendMessage);  //设置命令为发送消息
        jbSend.setText("发送");  //设置按钮文本
       this.setLocation(300,300);
       setSize(400,200);  //设置窗口尺寸
       setVisible(true);  //设置窗口可视
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序
    }
 
    private void replaceMessage(){
       String message=jtfName.getText()+"> "+jtaInput.getText()+"\n";  //得到消息文本
       jtaChat.insert(message,jtaChat.getDocument().getLength());  //插入消息到显示域未端
       jtaInput.setText("");  //清空输入消息域
    }
 
   public static void main(String[] args){
      new ActionDemo();
   }
}
Global site tag (gtag.js) - Google Analytics