📄 newchatclient.java
字号:
jContentPane.setBackground(new Color(150,200,255)); //color
jContentPane.setLayout(null);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJPanel1(), null);
jContentPane.add(getJPanel2(), null);
jContentPane.add(getJPanel3(), null);
jContentPane.add(getJPanel4(), null);
}
return jContentPane;
}
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setBounds(new java.awt.Rectangle(0,0,380,270));
jPanel.setLayout(new BorderLayout());
jPanel.add(new JScrollPane(getJTextArea()), null);
}
return jPanel;
}
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setBounds(new java.awt.Rectangle(0,275,380,70));
jPanel1.setLayout(new BorderLayout());
jPanel1.add(new JScrollPane(getJTextArea1()), null);
}
return jPanel1;
}
private JPanel getJPanel2() {
if (jPanel2 == null) {
jLabel1 = new JLabel();
jLabel1.setBounds(new java.awt.Rectangle(95,0,60,25));
jLabel1.setText("说话对象");
jLabel = new JLabel();
jLabel.setText("昵称:");
jLabel.setBounds(0,0,35,25);
jPanel2 = new JPanel();
jPanel2.setBounds(new java.awt.Rectangle(0,350,380,25));
jPanel2.setLayout(null);
jPanel2.add(jLabel, null);
jPanel2.add(getJTextField(), null);
jPanel2.add(jLabel1, null);
jPanel2.add(getJTextField1(), null);
jPanel2.add(getJButton(), null);
jPanel2.add(getJButton1(),null);
}
return jPanel2;
}
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setText("聊天室");
jTextArea.setLineWrap(true);
jTextArea.setFont(new Font("",0,20));
jTextArea.setEditable(false);
jTextArea.addMouseListener(this);
}
return jTextArea;
}
private JTextArea getJTextArea1() {
if (jTextArea1 == null) {
jTextArea1 = new JTextArea("发送的信息");
jTextArea1.addKeyListener(this);
}
return jTextArea1;
}
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new java.awt.Rectangle(35,0,60,25));
jTextField.addActionListener(this);
}
return jTextField;
}
private JTextField getJTextField1() {
if (jTextField1 == null) {
jTextField1 = new JTextField();
jTextField1.setBounds(new java.awt.Rectangle(155,0,60,25));
}
return jTextField1;
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new java.awt.Rectangle(290,0,90,25));
jButton.setText("发送消息");
jButton.addActionListener(this);
}
return jButton;
}
private JPanel getJPanel3() {
if (jPanel3 == null) {
jPanel3 = new JPanel();
jPanel3.setBounds(new java.awt.Rectangle(385,0,90,150));
jPanel3.setLayout(new BorderLayout());
jPanel3.add(new JScrollPane(getJTextArea2()), null);
}
return jPanel3;
}
private JPanel getJPanel4() {
if (jPanel4 == null) {
jPanel4 = new JPanel();
jPanel4.setBounds(new java.awt.Rectangle(385,155,90,220));
jPanel4.setLayout(new BorderLayout());
jPanel4.add(new JScrollPane(getJList()), null);
}
return jPanel4;
}
private JTextArea getJTextArea2() {
if (jTextArea2 == null) {
jTextArea2 = new JTextArea(""); //..
jTextArea2.setLineWrap(true);
jTextArea2.setFont(new Font("",1,15));
jTextArea2.setEditable(false);
}
return jTextArea2;
}
private JList getJList() {
if (jList == null) {
m_items.addElement("所有人");
jList = new JList(m_items);
jList.addListSelectionListener(this);
}
return jList;
}
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new java.awt.Rectangle(215,0,60,25));
jButton1.setText("关闭");
jButton1.addActionListener(this);
}
return jButton1;
}
public void mouseClicked(MouseEvent e)
{}
public void mouseExited(MouseEvent e)
{}
public void mouseEntered(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
public void mousePressed(MouseEvent e)
{
int y,row,i,j,k;
y=e.getY();
row=(int)(y/18+0.5);
try
{
i=jTextArea.getLineStartOffset(row);
k=jTextArea.getLineEndOffset(row);
String text=jTextArea.getText();
for(j=i;j<k;j++)
{
if(text.charAt(j)==' ') break;
}
jTextField1.setText("");
jTextField1.setText(text.substring(i,j));
//jTextArea1.getFocusAccelerator(); //....
jTextArea1.requestFocus();
}
catch(Exception ee)
{}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jTextField) //昵称
{
//System.out.println(jTextField.getText());
out.println("@setnickname$"+qname+'$'+qpsw+'$'+jTextField.getText()+'$');
}
else if(e.getSource()==jButton) //发送消息
{
//System.out.println(jButton.getText());
String jta=jTextArea1.getText();
//System.out.println("@say111$"+jTextField1.getText()+'$'+jta+'$');
//System.out.println("@say111$"+jTextField1.getText()+'$'+jta.replace('\n','#')+'$');
if(jTextField1.getText().equals("")) jTextField1.setText("所有人");
out.println("@say$"+jTextField1.getText()+'$'+jta.replace('\n',(char)257)+'$');
jTextArea1.setText("");
//jTextArea.setCaretPosition(jTextArea.getText().length());
jTextArea1.requestFocus();
//jTextArea.updateUI();
//jTextArea1.requestFocus();
}
else if(e.getSource()==jButton1) //关闭
{
out.println("@leave$");
this.dispose();
}
else
{
update();
}
}
public void valueChanged(ListSelectionEvent e)
{
int i=jList.getAnchorSelectionIndex();
jTextField1.setText((String)m_items.elementAt(i));
jTextArea1.requestFocus();
}
public void keyReleased(KeyEvent ke)
{
}
public void keyTyped(KeyEvent ke)
{
}
public void keyPressed(KeyEvent ke)
{
newkey=ke.getKeyCode();
if(oldkey==18&&newkey==83&&ke.getSource()==jTextArea1)
{
String jta=jTextArea1.getText();
if(jTextField1.getText().equals("")) jTextField1.setText("所有人");
out.println("@say$"+jTextField1.getText()+'$'+jta.replace('\n',(char)257)+'$');
jTextArea1.setText("");
//jTextArea.setCaretPosition(jTextArea.getText().length());
jTextArea1.requestFocus();
//jTextArea.updateUI();
}
else if(oldkey==18&&newkey==88&&ke.getSource()==jTextArea2)
{
if(jTextArea2.getText()!=null)
{
out.println("@公告$"+qname+'$'+jTextArea2.getText().replace('\n',(char)257));
}
}
oldkey=newkey;
}
void addkeylistener()
{
jTextArea2.addKeyListener(this);
}
/*private void setJlist()
{
//m_items=m;
jList=new JList(m_items);
}*/
void update()
{
//jTextArea.append(s);
jList.updateUI();
//jTextArea.setCaretPosition(jTextArea.getText().length());
jTextArea.setSelectionStart(jTextArea.getText().length());
}
}
public class Register extends JFrame implements ActionListener
{
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JLabel jLabel3 = null;
private JLabel jLabel4 = null;
private JTextField jTextField = null;
private JPasswordField jPasswordField = null;
private JPasswordField jPasswordField1 = null;
private JTextField jTextField1 = null;
private JButton jButton = null;
private JButton jButton1 = null;
public Register() {
super();
initialize();
}
private void initialize() {
this.setSize(320, 340);
this.setContentPane(getJContentPane());
this.setTitle("register");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //..
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel4 = new JLabel();
jLabel4.setBounds(new java.awt.Rectangle(30,195,70,22));
jLabel4.setText("用户昵称:");
jLabel3 = new JLabel();
jLabel3.setBounds(new java.awt.Rectangle(30,155,70,22));
jLabel3.setText("确认密码:");
jLabel2 = new JLabel();
jLabel2.setBounds(new java.awt.Rectangle(30,115,70,22));
jLabel2.setText("用户密码:");
jLabel1 = new JLabel();
jLabel1.setBounds(new java.awt.Rectangle(30,75,70,22));
jLabel1.setText("用户姓名:");
jLabel = new JLabel();
jLabel.setBounds(new java.awt.Rectangle(75,11,165,22));
jLabel.setText("欢迎来注册,请不要乱填信息");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
jContentPane.add(jLabel1, null);
jContentPane.add(jLabel2, null);
jContentPane.add(jLabel3, null);
jContentPane.add(jLabel4, null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJPasswordField(), null);
jContentPane.add(getJPasswordField1(), null);
jContentPane.add(getJTextField1(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton1(), null);
}
return jContentPane;
}
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField("",8);
jTextField.setBounds(new java.awt.Rectangle(130,75,120,22));
}
return jTextField;
}
private JPasswordField getJPasswordField() {
if (jPasswordField == null) {
jPasswordField = new JPasswordField();
jPasswordField.setBounds(new java.awt.Rectangle(130,115,120,22));
}
return jPasswordField;
}
private JPasswordField getJPasswordField1() {
if (jPasswordField1 == null) {
jPasswordField1 = new JPasswordField();
jPasswordField1.setBounds(new java.awt.Rectangle(130,155,120,22));
}
return jPasswordField1;
}
private JTextField getJTextField1() {
if (jTextField1 == null) {
jTextField1 = new JTextField();
jTextField1.setBounds(new java.awt.Rectangle(130,195,120,22));
}
return jTextField1;
}
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new java.awt.Rectangle(47,250,70,25));
jButton.setText("确定");
jButton.addActionListener(this);
}
return jButton;
}
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new java.awt.Rectangle(172,250,70,25));
jButton1.setText("返回");
jButton1.addActionListener(this);
}
return jButton1;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jButton)
{
//System.out.println("确定");
String sname=jTextField.getText();
String spsw1=String.valueOf(jPasswordField.getPassword());
String spsw2=String.valueOf(jPasswordField1.getPassword());
String snickname=jTextField1.getText();
if(sname.equals("")||spsw1.equals("")||spsw2.equals("")||snickname.equals(""))
JOptionPane.showMessageDialog(null,"有一项为空");
else if(spsw1.equals(spsw2))
{
//System.out.print("ok");
out.println("@register$"+sname+'$'+spsw1+'$'+snickname+'$');
}
else
{
JOptionPane.showMessageDialog(null,"密码不匹配");
}
}
else if(e.getSource()==jButton1)
{
//System.out.println("返回");
mc.setVisible(true);
this.dispose();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -