📄 serverui.java
字号:
package server;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.SystemColor;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import javax.swing.border.LineBorder;
import setting.User;
public class ServerUI implements ActionListener
{
/**
* 文本域用于Server、Work类写入事件
*/
private JTextArea jTextArea;
/**
* 文本域用于管理员查询用户信息
*/
private JTextArea jTextArea1;
/**
* "服务日志"按钮
*/
private JButton jButton;
/**
* "查询"按钮
*/
private JButton jButton1;
/**
* "清空日志"按钮
*/
private JButton jButton2;
/**
* "关闭服务器"按钮
*/
private JButton jButton3;
/**
* 填写号码
*/
private JTextField jTextField;
/**
* "用户号码"
*/
private JLabel jLabel;
/**
* 滚动条
*/
JScrollPane jScrollPane;
/**
* 窗体
*/
private JFrame jFrame;
/**
* 面板,CardLayout,放置jTextArea,jTextArea1
*/
JPanel jPaneShowTextArea;
/**
* 卡式布局
*/
CardLayout layout;
/**
* 放置按钮及文本框
*/
private JPanel rizhi;
/**
* 显示jTextArea
*/
private boolean showTextArea = true;
/**
* 显示jTextArea1
*/
private boolean showTextArea1 = true;
/**
* 生成窗体
*/
public JFrame getJFrame()
{
jFrame = new JFrame("服务端监控程序");
jFrame.setSize(new Dimension(370, 400));
jFrame.setResizable(false);
Toolkit toolkit = jFrame.getToolkit();
Dimension screen = toolkit.getScreenSize();
jFrame.setBounds(screen.width / 2 - 400 / 2,
screen.height / 2 - 500 / 2, 390, 311);// //让窗体在屏幕正中央显示
jFrame.getContentPane().setLayout(null);
jFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/picture/server.jpg")));
jFrame.getContentPane().add(this.cardLayout());
jFrame.getContentPane().add(this.getJPanel());
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(1);
jFrame.addWindowListener(new WindowAdapter() {// 添加窗口时间监听
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
return jFrame;
}
/**
* 添加按钮
*/
public JPanel getJPanel()
{
rizhi = new JPanel();
rizhi.setBackground(new Color(153, 153, 204));
rizhi.setLayout(null);
rizhi.setBounds(new Rectangle(0, 201, 384, 74));
jButton = new JButton("服务日志");
jButton.setBounds(new Rectangle(6, 6, 86, 25));
jButton2 = new JButton("清空");
jButton2.setBounds(new Rectangle(6, 40, 86, 25));
jLabel = new JLabel("用户号码");
jLabel.setFont(new Font("华文新魏", Font.BOLD, 14));
jLabel.setBounds(new Rectangle(264, 9, 80, 18));
jTextField = new JTextField();
jTextField.setBorder(new LineBorder(Color.black, 1, false));
jTextField.setBounds(new Rectangle(264, 43, 80, 24));
jButton1 = new JButton("查询");
jButton1.setBounds(new Rectangle(108, 6, 86, 25));
jButton3 = new JButton("关闭");
jButton3.setBounds(new Rectangle(108, 39, 86, 25));
rizhi.add(jButton);
rizhi.add(jButton1);
rizhi.add(jButton2);
rizhi.add(jButton3);
rizhi.add(jLabel);
rizhi.add(jTextField);
jButton.addActionListener(this);
jButton1.addActionListener(this);
jButton2.addActionListener(this);
jButton3.addActionListener(this);
return rizhi;
}
/**
* 返回 jScrollPane
*/
public JScrollPane cardLayout()
{
jPaneShowTextArea = new JPanel();
jTextArea1 = new JTextArea();
jTextArea1.setLineWrap(true);
jTextArea1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
jTextArea1.setForeground(Color.blue);
jTextArea1.setEditable(false);
jTextArea = new JTextArea();
jTextArea.setBackground(SystemColor.inactiveCaptionText);
jTextArea.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
jTextArea.setForeground(Color.blue);
jTextArea.setLineWrap(true);
jTextArea.setEditable(false);
jScrollPane = new JScrollPane();
jScrollPane.setBackground(SystemColor.inactiveCaptionText);
jScrollPane.setBounds(new Rectangle(1, 1, 383, 200));
jScrollPane
.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane.getViewport().add(jPaneShowTextArea);// 将卡片布局加入滚动面板
layout = new CardLayout();
jPaneShowTextArea.setLayout(layout);
jPaneShowTextArea.add(jTextArea, "jTextArea");
jPaneShowTextArea.add(jTextArea1, "jTextArea1");
layout.show(jPaneShowTextArea, "jTextArea");
return jScrollPane;
}
/**
* 行为事件处理
*/
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == jButton)
{
if (showTextArea)
{
layout.last(jPaneShowTextArea);
showTextArea = false;
jTextArea1.select(jTextArea1.getSelectionStart(), jTextArea1.getSelectionEnd()-1);
showTextArea1 = true;
} else
{
layout.first(jPaneShowTextArea);
showTextArea1 = false;
jTextArea.selectAll();
showTextArea = true;
}
}
if (e.getSource() == jButton1)
{
if (jTextField.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "号码不能为空");
return;
}
String useridStr = jTextField.getText();
User userInfo = new User();
try
{
userInfo = Serve.serve.readUserDBbyID(Integer
.parseInt(useridStr));
} catch (Exception e2)
{
JOptionPane.showMessageDialog(null, "只能输入数字");
return;
}
if (userInfo.getID() == 0)
{
JOptionPane.showMessageDialog(null, "没有这个号码");
} else
{
if (userInfo.getID() == Integer.parseInt(useridStr))
{
jTextArea1.append("用户" + userInfo.getID() + "的个人信息如下:"
+ "\n");
jTextArea1.append("*********************************"
+ "\n");
jTextArea1.append("姓名:" + userInfo.getName() + "\n");
jTextArea1.append("密码:" + userInfo.getPassword() + "\n");
if (userInfo.isOnline())
{
jTextArea1.append("状态:" + "在线" + "\n");
} else
{
jTextArea1.append("状态:" + "不在线" + "\n");
}
jTextArea1.append("昵称:" + userInfo.getNickName() + "\n");
jTextArea1.append("年龄:" + userInfo.getAge() + "\n");
jTextArea1.append("性别:" + userInfo.getSex() + "\n");
jTextArea1.append("星座:" + userInfo.getConstellation()
+ "\n");
jTextArea1.append("个人说明:" + userInfo.getExplain() + "\n");
jTextArea1.append("当前IP:" + userInfo.getIP() + "\n");
jTextArea1.append("好友号码:");
if (userInfo.getFriend().size() > 0)
{
for (int i = 0; i < userInfo.getFriend().size(); i++)
{
jTextArea1.append(((User) userInfo.getFriend()
.elementAt(i)).getID()
+ "\n");
}
} else
{
jTextArea1.append("该用户没有好友");
}
jTextArea1.append("\n"
+ "*********************************" + "\n");
jTextArea1.selectAll();
showTextArea1 = true;
showTextArea = false;
layout.last(jPaneShowTextArea);
}
}
}
if (e.getSource() == jButton2)// 清空日志
{
if (this.showTextArea)
{
jTextArea.setText("");
}
if (this.showTextArea1)
{
jTextArea1.setText("");
}
}
if (e.getSource() == jButton3)// 退出服务器
{
System.exit(0);
}
}
/**
* 获取jTextArea,用于设置服务日志
*/
public JTextArea getJTextArea()
{
return jTextArea;
}
/**
* 设置jTextArea是否显示
*/
public void setShowTextArea(boolean showTextArea)
{
this.showTextArea = showTextArea;
}
/**
* 设置jTextArea1是否显示
*/
public void setShowTextArea1(boolean showTextArea1)
{
this.showTextArea1 = showTextArea1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -