十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
import javax.swing.*;
创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、成都二枢服务器租用托管、等保安全、私有云建设等企业级互联网基础服务,欢迎咨询:18982081108
import javax.swing.text.JTextComponent;
import java.awt.*;
import java.awt.event.*;
public class ChatFrame extends JFrame implements ActionListener {
private JLabel id;
private JLabel group;
private JLabel allas;
public JTextField inputId;
public JTextField inputGroup;
public JTextField inputAllas;
private JButton submit;
private JPanel pane;
public ChatFrame(){
id = new JLabel("Id");
group = new JLabel("Group");
allas = new JLabel("Allas");
inputId = new JTextField();
inputGroup = new JTextField();
inputAllas = new JTextField();
submit = new JButton("确定");
pane=new JPanel();
pane.setLayout(null);
this.getContentPane().add(pane).setBackground(Color.white);
this.getContentPane().add(pane);
pane.add(id);
pane.add(group);
pane.add(allas);
pane.add(inputId);
pane.add(inputGroup);
pane.add(inputAllas);
pane.add(submit);
id.setBounds(5,5,50,30);
group.setBounds(5,35,50,30);
allas.setBounds(5,65,50,50);
inputId.setBounds(70,5,100,30);
inputGroup.setBounds(70,35,100,30);
inputAllas.setBounds(70,65,100,30);
submit.setBounds(150,100,60,30);
submit.addActionListener(this);
this.setSize(240,180);
this.setLocation(300,300);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
//按键监听,可添加连接数据库的操作
}
public static void main(String args[]){
new ChatFrame();
}
}
做编程要动手,实在不想做,你所找的这些网上都有代码,自己组合就行
首先要有个存好友的数据结构:friendList
既然是QQ,那么肯定有好友类别了,一个类别底下的子节点为一个好友。
然后根据这个数据结构画出这个Jtree,
第一列字节点为好友类别,
第二列子节点为好友,给这些字节点添加鼠标点击事件,点击后弹出想要的东西。
最后,在接收信息进程内添加一个方法,即一旦有好友上线或者下线则接收改变的好友的信息,之前的存好友的数据结构也随之改变,
再根据这个数据结构改变这个JTree,不会改变的话就重新画一个,tree=new JTree();(tree为之前的列表),这样就可以了。