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. Android内存溢出解决方案(OOM)

    众所周知,每个Android应用程序在运行时都有一定的内存限制,限制大小一般为16MB或24MB(视平台而定).因此在开发应用时需要特别关注自身的内存使用量,而一般最耗内存量的资源,一般是图片.音频文 ...

  2. PHP程序员如何突破成长瓶颈

    PHP因为简单而使用,但不能因为它的简单而限制我们成长!文章给PHP工程师突破成长瓶颈提了一些建议,希望PHPer能够突破自己,有更好的发展. AD: 作为Web开发中应用最广泛的语言之一,PHP有着 ...

  3. linux连接远程服务器提示拒绝访问

    如上图,出现的问题是因为端口号错误,如果不是正常连接的端口号,那么就是端口号被恶意更改! 解决方案: 关掉或者开启需要的端口号注释!

  4. codeigniter中base_url和site_url

    首先在网站中使用如下的语句: site_url(‘manage/articleAdd’): 1 <?php echo site_url('manage/articleAdd');?> ba ...

  5. SQLServer学习笔记<> 表连接查询----交叉连接、内连接、左连接、右连接

    (1)交叉连接(cross join)即我们所说的笛卡尔积.查询出满足两张表所有的记录数,A(3条记录),B(9条记录),A*B(27条记录). 比如:雇员表(HR.employees)和货运公司(S ...

  6. jquery easyui常见问题:

    1.jquery easyui1.4.2 demo在ie10 上加载json的时候没有效果 从官网上下载了jquery easyui1.4.2 里面有个demo文件夹,但是发现底下的demo在IE.3 ...

  7. c# web 缓存管理

    using System; using System.Collections; using System.Text.RegularExpressions; using System.Web; usin ...

  8. SlickGrid example 7:鼠标事件

    响应鼠标事件,可以左键快捷选择切换选项,可右键弹出菜单栏.   代码: <!DOCTYPE HTML> <html> <head> <meta http-eq ...

  9. java实现map和object互转的三种方法

    /**  * 使用org.apache.commons.beanutils进行转换  */  class A {              public static Object mapToObje ...

  10. JAVA fundamentals of exception handling mechanism

    Agenda Three Categories Of Exceptions Exceptions Hierarchy try-catch-finally block The try-with-reso ...