import java.awt.*;
import javax.swing.*;
import java.awt.event.*; public class QQMain extends JFrame implements KeyListener,ActionListener{
//用于传递数据的组件
JTextField txtMess = new JTextField();
JTextArea txtContent = new JTextArea();
//构造方法
QQMain(){
//窗体基本信息
this.setSize(800 , 900);
this.setLocationRelativeTo(null);
this.setTitle("Talking.GHOUL");
//logo设置
//设置窗体LOGO
this.setIconImage(this.getToolkit().getImage("D:/lab_2/psb (11).jpg")); //new组件
txtMess.setFont(new Font("", 0, 36));
txtContent.setFont(new Font("", 0, 36));
txtContent.setEditable(false); JButton btnSend = new JButton("Send");
btnSend.setFont(new Font("Courier", Font.BOLD, 26)); JComboBox cmbUser = new JComboBox(); //注册事件监听
btnSend.addActionListener(this); //设置滚动条
JScrollPane spContent = new JScrollPane(txtContent); //布置小面板
JPanel panSmall = new JPanel();
panSmall.setLayout(new GridLayout(1 , 2)); panSmall.add(cmbUser);
panSmall.add(btnSend); //布置大面板
JPanel panBig = new JPanel();
panBig.setLayout(new GridLayout(2 , 1)); panBig.add(txtMess);
panBig.add(panSmall);
//设置大面板
panBig.setPreferredSize(new Dimension(200 , 100)); //布置窗体
this.setLayout(new BorderLayout()); this.add(spContent , BorderLayout.CENTER);
this.add(panBig , BorderLayout.SOUTH);
}
public static void main(String[] args){
QQMain w = new QQMain();
w.setVisible(true);
} @Override
public void keyPressed(KeyEvent arg0){ }
@Override
public void keyReleased(KeyEvent arg0){}
@Override
public void keyTyped(KeyEvent arg0){} @Override
public void actionPerformed(ActionEvent arg0){
//System.out.println(arg0);
if(arg0.getActionCommand().equals("Send")){
String mess = txtMess.getText();
txtMess.setText("");
txtContent.append(' '+mess+'\n');
}
}
}

QQMain的更多相关文章

  1. C#实现登录窗口(不用隐藏)

    C#登录窗口的实现,特点就是不用隐藏,感兴趣的朋友不要错过 (1).在程序入口处,打开登录窗口 复制代码代码如下: static void Main()  {  Application.EnableV ...

  2. c#中实现登陆窗口(无需隐藏)

    C#登录窗口的实现,特点就是不用隐藏. 在入口处打开登陆: static void Main() { Application.EnableVisualStyles(); Application.Set ...

  3. 【Java】仿真qq尝试:聊天界面 && 响应用户输入

    需求分析: 逐步完善一个“qq仿真”程序. 参考: 1.文本框与文本区:http://www.weixueyuan.net/view/6062.html 2.java布局:http://www.cnb ...

随机推荐

  1. NIOS II CPU复位异常的原因及解决方案

    NIOS II CPU复位异常的原因及解决方案   近期在用nios ii做项目时,发现一个奇怪的现象,在NIOS II EDS软件中编写好的代码,烧写到芯片中,第一次能够正常运行,但是当我按下板卡上 ...

  2. java map 遍历

    转自http://rain-2372.iteye.com/blog/1615615 package com.spring.test_B11_aop1; import java.util.HashMap ...

  3. HDU 3966:Aragorn's Story(树链剖分)

    http://acm.hdu.edu.cn/showproblem.php?pid=3966 题意:有n个点n-1条边,每个点有一个权值,有两种操作:询问一个点上权值是多少和修改u到v这条链上的权值. ...

  4. C#:IText构造PDF文件

    IText构造PDF文件 1.1 生成Document Document是我们要生成的PDF文件所有元素的容器,因此要生成一个PDF文档,必须首先定义一个Document对象. Document有三种 ...

  5. HttpConnection方式访问网络

    参考疯狂android讲义,重点在于学习1.HttpConnection访问网络2.多线程下载文件的处理 主activity: package com.example.multithreaddownl ...

  6. opencv通过dll调用matlab函数,图片作为参数

    [blog 项目实战派]opencv通过dll调用matlab函数,图片作为参数                   前文介绍了如何“csharp通过dll调用opencv函数,图片作为参数”.而在实 ...

  7. Kernel启动时 驱动是如何加载的module_init,加载的次序如何;略见本文

    Init.h中有相关initcall的启动次序,在system.map中可看出具体的__initcall指针的前后次序 #define pure_initcall(fn) __define_initc ...

  8. shell脚本例子集锦(习题总结)

    练习一:写一个脚本 .设定变量FILE的值为/etc/passwd .依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么 形如:(提示:LINE=`wc -l /etc/passw ...

  9. Undefined symbols for architectureIOS

    IOS问题解决. 现在进行老项目的编译,发现不能编译. 经过各种盲目查询,找个几个方案. 1.builde setting修改编译方式. 2.Builde Phases(修改). 2.1.库. 2.1 ...

  10. MVC 异步请求

    <head> <meta name="viewport" content="width=device-width" /> <tit ...