package chat;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
import java.lang.Exception;
import java.net.*;
import java.io.*;
import java.util.Date;
import javax.swing.event.*;
/**
* <p>Title: 使用JAVA制作的局域网聊天程序</p>
* <p>Description: 我们的JAVA作业</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author RoadAhead
* @version 1.0
*/
public class mainform extends JFrame
{
private JPanel contentPane;
static JPanel jPanel1 = new JPanel();
private JPanel jPanel2 = new JPanel();
private JButton but_online = new JButton();
private BorderLayout borderLayout2 = new BorderLayout();
private JMenuBar jMenuBar1 = new JMenuBar();
static JSplitPane jsp8 = new JSplitPane();
private JPanel jPanel5 = new JPanel();
private JButton but_exit = new JButton();
private JMenu jMenu1 = new JMenu();
private JButton but_offline = new JButton();
private JButton but_about = new JButton();
private JPanel pan_state = new JPanel();
static JTextPane ed_input = new JTextPane();
private PaneLayout paneLayout1 = new PaneLayout();
private TitledBorder titledBorder1;
private TitledBorder titledBorder2;
static Label lab_uname = new Label();
static JLabel lab_uimage = new JLabel();
private JLabel jLabel2 = new JLabel();
private JLabel lab_info = new JLabel();
static final int PORT=5001;
static String curuserip="";
static String curusername="";
static String curusericon="";
static String myname="";
static String myicon="";
static String myip;
static String onstartset="";
static String filename="chatset.amy";
static String winstate="0";
static int maxStrCount=10000;
static int onlinestate=2;//是否在线 1: 在线 2:断线 3: 离线
static String onofflinetime=""; //当离线时的回答
private JButton but_setup = new JButton();
static String[][] userlist;//用户列表
static JButton[] but_userlist; //用户图象按钮
private JScrollPane jsp = new JScrollPane();
static JPanel pan_userlist = new JPanel();
private TitledBorder titledBorder3;
private PaneLayout paneLayout2 = new PaneLayout();
static JLabel lab_my = new JLabel();
private TitledBorder titledBorder4;
newthread mythread=new newthread();
static DatagramPacket sendpacket,receivepacket;
static DatagramSocket sendsocket,receivesocket;
private JScrollPane jScrollPane1 = new JScrollPane();
static JTextArea ed_show = new JTextArea();
private JCheckBox cbo_bc = new JCheckBox();
private JScrollPane jScrollPane2 = new JScrollPane();
JOptionPane pane = new JOptionPane();
Date nowtime=new Date();
private JPopupMenu pop_menu = new JPopupMenu();
private JMenuItem jMenuItem1 = new JMenuItem();
private JMenuItem jMenuItem2 = new JMenuItem();
private JButton but_pause = new JButton();
private BoxLayout2 boxLayout21 = new BoxLayout2();
private Label label1 = new Label();
private Label label2 = new Label();
private BorderLayout borderLayout1 = new BorderLayout();
VerticalFlowLayout verticalFlowLayout1 = new VerticalFlowLayout();
//Construct the frame
public mainform()
{
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception
{
try{
sendsocket=new DatagramSocket();
receivesocket=new DatagramSocket(5001);
}
catch(SocketException se){
se.printStackTrace();
}
mainform.userlist=new String[1][5];
but_userlist=new JButton [1];
//setIconImage(Toolkit.getDefaultToolkit().createImage(mainform.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
titledBorder2 = new TitledBorder("");
titledBorder3 = new TitledBorder("");
titledBorder4 = new TitledBorder("");
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(523, 356));
this.setTitle("我们的聊天程序 Alt+Enter 发送消息");
this.addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowOpened(WindowEvent e)
{
this_windowOpened(e);
}
public void windowActivated(WindowEvent e)
{
}
});
jPanel1.setBackground(Color.white);
jPanel1.setLayout(borderLayout2);
jPanel2.setBackground(Color.white);
jPanel2.setBorder(titledBorder4);
jPanel2.setToolTipText("");
jPanel2.setLayout(paneLayout2);
but_online.setBackground(Color.white);
but_online.setFont(new java.awt.Font("Serif", 0, 12));
but_online.setBorder(null);
but_online.setHorizontalTextPosition(SwingConstants.CENTER);
but_online.setText("在线");
but_online.setVerticalAlignment(SwingConstants.BOTTOM);
but_online.setVerticalTextPosition(SwingConstants.BOTTOM);
but_online.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseExited(MouseEvent e)
{
but_online_mouseExited(e);
}
});
but_online.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
{
public void mouseMoved(MouseEvent e)
{
but_online_mouseMoved(e);
}
});
but_online.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
but_online_actionPerformed(e);
}
});
jsp8.setBorder(null);
jsp8.setContinuousLayout(true);
jsp8.setDividerSize(2);
jsp8.setLeftComponent(pan_userlist);
but_exit.setBackground(Color.white);
but_exit.setFont(new java.awt.Font("Serif", 0, 12));
but_exit.setBorder(null);
but_exit.setHorizontalTextPosition(SwingConstants.CENTER);
but_exit.setText("退出");
but_exit.setVerticalAlignment(SwingConstants.BOTTOM);
but_exit.setVerticalTextPosition(SwingConstants.BOTTOM);
but_exit.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
{
public void mouseMoved(MouseEvent e)
{
but_exit_mouseMoved(e);
}
});
but_exit.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
but_exit_mousePressed(e);
}
public void mouseExited(MouseEvent e)
{
but_exit_mouseExited(e);
}
});
but_exit.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyTyped(KeyEvent e)
{
but_exit_keyTyped(e);
}
});
jMenu1.setText("文件");
but_offline.setBackground(Color.white);
but_offline.setFont(new java.awt.Font("Serif", 0, 12));
but_offline.setBorder(null);
but_offline.setHorizontalTextPosition(SwingConstants.CENTER);
but_offline.setText("断线");
but_offline.setVerticalAlignment(SwingConstants.BOTTOM);
but_offline.setVerticalTextPosition(SwingConstants.BOTTOM);
but_offline.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseExited(MouseEvent e)
{
but_offline_mouseExited(e);
}
});
but_offline.addMouseMotionListener(new java.awt.event.MouseMotionAdapter()
{
public void mouseMoved(MouseEvent e)
{
but_offline_mouseMoved(e);
}
});
but_offline.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
but_offline_actionPerformed(e);
}
});
but_about.setBackground(Color.white);
but_about.setFont(new java.awt.Font("Serif", 0, 12));
but_about.setBorder(null);
but_about.setHorizontalTextPosition(SwingConstants.CENTER);
but_about.setText("关于这个程序");
but_about.setVerticalAlignment(SwingConstants.BOTTOM);
but_about.setVerticalTextPosition(SwingConstants.BOTTOM);
but_about.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseExited(MouseEvent e)
{
but_about_mouseExited(e);
}
});
but_about.addMouse
java程序集合1.rar_java 画图_java程序_windows 程序 窗体_画图 java


2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java是一种广泛使用的面向对象的编程语言,以其跨平台性、高效性和丰富的库而著名。在“java程序集合1.rar”这个压缩包中,我们能够找到一些关于Java编程的知识点,特别是与窗口应用、图形绘制以及Windows操作相关的示例。下面我们将深入探讨这些主题。 Java中的“窗体”(Window)是用户界面的基础组件,它为应用程序提供了一个可视化的容器,用户可以在这个容器中与其他UI元素交互。Java Swing和JavaFX是两个常用的库,提供了创建窗体和各种GUI组件的功能。Swing是Java Foundation Classes (JFC)的一部分,提供了丰富的组件集,如按钮、文本框、菜单等,用于构建桌面应用程序。JavaFX则更现代,支持2D/3D图形、媒体处理和CSS样式,适合开发富客户端应用。 “文体”(Text)在Java中通常指的是文本组件,如JLabel、JTextArea或JTextField,它们允许用户输入、查看和编辑文本。例如,JLabel用于显示不可编辑的文本,而JTextArea则提供多行文本输入或显示。 “Windows命令”可能指的是使用Java进行系统级操作的能力。Java的Runtime类或者ProcessBuilder类可以用来执行操作系统命令,这在需要调用外部工具或者脚本时非常有用。例如,你可以通过这些API来打开一个文件、运行一个程序,或者执行系统级别的文件操作。 “对话框”(Dialog)在Java GUI编程中用于显示临时信息或者获取用户输入。对话框可以是非模态的,允许用户在对话框之外继续操作,也可以是模态的,阻塞用户对其他窗口的交互直到对话框关闭。Java提供了JOptionPane类来创建标准的对话框,如消息对话框、确认对话框、输入对话框等。 “画图”(Drawing)在Java中主要通过Java的AWT(Abstract Window Toolkit)和Swing的Graphics类实现。开发者可以利用这些类提供的方法在组件上绘制2D图形,包括线条、形状、文本和图像。Java 2D API进一步扩展了图形绘制能力,支持复杂的路径、变换、颜色管理和文本布局。 在压缩包中的“www.pudn.com.txt”文件可能是文档或代码的说明,而“java程序集合1”很可能是包含实际Java代码的文件夹。这些代码可能包含了上述知识点的实例,比如创建窗体、添加文本组件、执行系统命令、显示对话框以及绘制图形等。 通过学习和实践这些Java程序,开发者可以增强其在桌面应用开发领域的技能,理解如何使用Java来创建功能丰富的用户界面,并与Windows操作系统进行交互。对于初学者来说,这是一个很好的起点,而对于有经验的开发者,这些示例代码可以作为参考和灵感来源。


























































































































- 1
- 2
- 3
- 4
- 5

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 95
- 资源: 1万+





我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【悬梁桥】基于matlab单段耦合脉动速度悬停桥频率域计算【含Matlab源码 12057期】.mp4
- 【相位平面】基于matlab GUI动态系统的相位平面【含Matlab源码 12047期】.mp4
- 【应力分析】基于matlab平面应力中薄板位移和应变有限元分析FEA【含Matlab源码 11118期】.mp4
- 【运动学】基于matlab汽车平顺性加权加速度评判标准【含Matlab源码 12039期】含使用说明.mp4
- 【运动学】基于matlab航天飞机旋翼在有限阻力下的运动的微分方程【含Matlab源码 11166期】.mp4
- 【运动学】基于matlab追踪法导弹打飞机仿真【含Matlab源码 11016期】.mp4
- 【重力仿真】基于matlab GUI水平圆柱体重力异常正演【含Matlab源码 11176期】.mp4
- 【轴承压力】基于matlab GUI止推轴承压力计算【含Matlab源码 12069期】.mp4
- 【轴向压缩能力】基于matlab GUI计算CFDST柱的轴向压缩能力【含Matlab源码 9990期】.mp4
- 096-FreeRTOS+LCD1602+ADS1015 application.rar
- log凑字数 12345678910
- 基于三菱PLC与组态王技术的恒温加热炉温度控制:梯形图程序、接线图与组态画面详解,基于三菱PLC与组态王技术的恒温加热炉精准温度控制解决方案,基于三菱PLC和组态王恒温控制系统的设计加热炉温度控制 带
- 基于PSO-XGBoost算法的交叉验证多变量时间序列预测模型优化研究,基于PSO-XGBoost算法的交叉验证多变量时间序列预测模型优化研究,基于粒子群优化算法优化XGBoost的(PSO-XGBo
- 【PID仿真】基于matlab PID模拟水泥行业稳料仓重流程仿真【含Matlab源码 12028期】.mp4
- 【控制成本】基于matlab集群网络的计算效率保证成本控制设计【含Matlab源码 9833期】.mp4
- 【控制器】基于matlab固定优先级调度和控制器共同设计【含Matlab源码 13040期】.mp4


