QQMain

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的更多相关文章
- C#实现登录窗口(不用隐藏)
C#登录窗口的实现,特点就是不用隐藏,感兴趣的朋友不要错过 (1).在程序入口处,打开登录窗口 复制代码代码如下: static void Main() { Application.EnableV ...
- c#中实现登陆窗口(无需隐藏)
C#登录窗口的实现,特点就是不用隐藏. 在入口处打开登陆: static void Main() { Application.EnableVisualStyles(); Application.Set ...
- 【Java】仿真qq尝试:聊天界面 && 响应用户输入
需求分析: 逐步完善一个“qq仿真”程序. 参考: 1.文本框与文本区:http://www.weixueyuan.net/view/6062.html 2.java布局:http://www.cnb ...
随机推荐
- PHP将XML数据转换为数组
<?php $s=join(,file('httpapi.elong.comxmlv2.0hotelcn0132701501.xml')); $result = xml_to_array($s) ...
- hashcode与equals
归纳一下就是hashCode是用于查找使用的,而equals是用于比较两个对象的是否相等的.以下这段话是从别人帖子回复拷贝过来的: .hashcode是用来查找的,如果你学过数据结构就应该知道,在查找 ...
- Java异常捕获之try-catch-finally-return的执行顺序-转载
情况1:try块中没有抛出异常try和finally块中都有return语句 public static int NoException(){ int i=10; try{ System.out.pr ...
- [HTML]js定时器使用 setInterval
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭.由 s ...
- java 数组基本操作(一维)
1.数组的声明: 数组类型 数组名[] 2.数组的表示方法 想使用数组中的值,可以使用索引来实现,数组是从0开始的,使用时格式为:数组名[i],比如 a[1],代表第二个值 在数组中要使用数组的长度 ...
- Unity ScriptableObject的使用
ScriptableObject主要实现对象序列化的保存,因为是Unity自己的序列化,所以比xml,json序列化方便很多,但相对可控性也比较差 1.Editor下写入和读取测试: using Un ...
- Netfilter/iptables防火墙
http://os.51cto.com/art/201107/273443.htm [51CTO独家特稿]Linux系统管理员们都接触过Netfilter/iptables,这是Linux系统自带的免 ...
- TSP问题
之前写过一道类似的题目,Uva 1347. http://www.cnblogs.com/TreeDream/p/5981535.html 这个题目和TSP问题已经很接近了,只是描述的奇奇怪怪的,从最 ...
- 给用户添加sudo权限
centos中默认创建的新用户是没有sudo权限的. 在文件/etc/sudoers中添加即可: ## Allow root to run any commands anywhere root ALL ...
- CF 113C
求区间 [l,r] 满足 素数 = a^2+b^2 a b为任意整数 打素数表,如何证明 此时的素数满足 %4==1 #include<iostream> #include&l ...