JAVA图形用户界面及网络编程文档格式.docx

上传人:b****5 文档编号:18614093 上传时间:2022-12-29 格式:DOCX 页数:18 大小:75.05KB
下载 相关 举报
JAVA图形用户界面及网络编程文档格式.docx_第1页
第1页 / 共18页
JAVA图形用户界面及网络编程文档格式.docx_第2页
第2页 / 共18页
JAVA图形用户界面及网络编程文档格式.docx_第3页
第3页 / 共18页
JAVA图形用户界面及网络编程文档格式.docx_第4页
第4页 / 共18页
JAVA图形用户界面及网络编程文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

JAVA图形用户界面及网络编程文档格式.docx

《JAVA图形用户界面及网络编程文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA图形用户界面及网络编程文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

JAVA图形用户界面及网络编程文档格式.docx

分析,尤其是针对错误输出的分析

【实验环境】:

PC机一台

JDK1-6

Eclipse开发环境

【实验原理及方案设计】:

图形用户界面(GraphicsUserInterface,GUI)为应用程序提供了一个图形化的界面。

GUI使用图形的方式,借助菜单,按钮等标准界面元素和鼠标操作,帮助用户方便的向计算机系统发出命令、启动操作,并将系统运行的结果同样以图形的方式显示给用户。

在Java2DAPI中,各种文字都是意图形的方式输出。

以图形的方式绘制文字需要使用Graphics类和Graphics2D类提供的绘制文字的成员方法。

Color类定义了许多个有颜色的常量和成员方法供编程中使用。

不论使用哪种构造方法来创建Color对象,都需要制定新建颜色中的R(红)、G(绿)、B(蓝)三色的比例。

Java.awt包中共定义了五种布局管理器类,分别是BoderLayout、FlowLayout、CardLayout和GridBagLayout。

这五个类都是java.lang.Object类的直接子类,且每个布局管理其对应一种布局策略。

Javax.swing包中定义了4种布局管理器,分别是BoxLayout、ScrollPaneLayout、ViewportLayout和OverlayLayout。

【实验过程】:

(实验步骤、记录、数据、分析)

1、实验步骤:

新建工程

新建类

输入源程序

保存并编译java

运行java应用程序

2、实验内容、源代码及运行结果:

1)、获取主机IP地址

importjavax.swing.*;

importjava.applet.Applet;

importjava.awt.*;

importjava.awt.event.*;

importjava.util.*;

import.*;

publicclasstimu1extendsJAppletimplementsActionListener

{

Containercp=getContentPane();

JLabellb1=newJLabel("

IPI地址:

"

JLabel.CENTER);

JTextFieldtf1=newJTextField(20);

JButtonbt1=newJButton("

获取IP地址"

);

JButtonbt2=newJButton("

退出系统"

StringIP=null;

publicvoidinit()

cp.setLayout(newFlowLayout());

cp.add(lb1);

cp.add(tf1);

cp.add(bt1);

bt1.addActionListener(this);

cp.add(bt2);

bt2.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==bt1)

try

{

InetAddressia=InetAddress.getLocalHost();

IP=ia.getHostAddress();

}

catch(UnknownHostExceptiong)

{g.printStackTrace();

}

tf1.setText(IP);

运行结果:

2、创建URL对象

import.InetAddress;

import.UnknownHostException;

import.MalformedURLException;

import.URL;

publicclassurllextendsJFrameimplementsActionListener

{

staticURLmyURL=null;

Containerctp=getContentPane();

Fontfont;

JTextFieldtf1=newJTextField(10);

JLabellb=newJLabel("

网页地址"

JButtonjb=newJButton("

验证"

urll()

font=newFont("

宋体"

Font.BOLD,10);

ctp.setLayout(newFlowLayout());

lb.setFont(font);

lb.setForeground(newColor(0,0,150));

ctp.add(lb,BorderLayout.CENTER);

ctp.add(tf1,BorderLayout.SOUTH);

ctp.add(jb,BorderLayout.NORTH);

jb.addActionListener(this);

setSize(300,150);

setVisible(true);

publicstaticvoidmain(String[]args)throwsMalformedURLException{

urllcc=newurll();

myURL=newURL("

http:

//netbeans.org/docs/java/quickstart.html"

publicvoidactionPerformed(ActionEvente)

Stringrbt=e.getActionCommand();

if("

==rbt)

tf1.setText(myURL.toString());

3、获取URL的端口

publicclassa

publicstaticvoidmain(Stringargs[])

URLMyURL=null;

try

MyURL=newURL("

catch(MalformedURLExceptione)

System.out.println("

MalformedURLException:

+e);

请输入一个完整的网址:

\n"

+MyURL.toString());

这个网址使用的端口号是:

+MyURL.getPort());

4、提取URL协议名称

publicclassc151

publicstaticvoidmain(Stringargs[])

这个网址的主机名是:

+MyURL.getHost());

这个网址的URL协议名:

+MyURL.getProtocol());

5、设置连接超时

importjava.awt.BorderLayout;

importjava.io.IOException;

import.ServerSocket;

import.SocketTimeoutException;

importjavax.swing.JFrame;

importjavax.swing.JOptionPane;

importjavax.swing.JScrollPane;

importjavax.swing.JTextArea;

publicclasschaoshilianjieextendsJFrame{

privatestaticfinallongserialVersionUID=1L;

privateServerSocketserver;

privateJTextAreajt;

publicstaticvoidmain(String[]args){

chaoshilianjieframe=newchaoshilianjie();

frame.setVisible(true);

frame.getserver();

publicchaoshilianjie(){

setTitle("

连接超时"

setBounds(350,200,300,200);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JScrollPanejs=newJScrollPane();

getContentPane().add(js,BorderLayout.CENTER);

jt=newJTextArea();

js.setViewportView(jt);

publicvoidgetserver(){

try{

server=newServerSocket(1880);

server.setSoTimeout(10000);

jt.append("

服务器套接字已经创建成功\n"

while(true){

jt.append("

等待与各户连接……\n"

server.accept();

}

}catch(SocketTimeoutExceptione){

JOptionPane.showMessageDialog(null,"

连接超时……"

System.exit(9);

}catch(IOExceptione){

e.printStackTrace();

6、单向通讯

7、使用Socket传输图片

importjava.awt.EventQueue;

importjavax.swing.JPanel;

importjavax.swing.border.EmptyBorder;

importjavax.swing.UIManager;

importjavax.swing.GroupLayout;

importjavax.swing.GroupLayout.Alignment;

importjavax.swing.JLabel;

importjavax.swing.JTextField;

importjavax.swing.LayoutStyle.ComponentPlacement;

importjavax.swing.JButton;

importjava.awt.Font;

publicclassdanextendsJFrame{

privatestaticfinallongserialVersionUID=-7271269958119825302L;

privateJPanelcontentPane;

privateJTextFieldtextField;

privateJTextFieldtextField_1;

privateJTextFieldtextField_2;

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

danframe=newdan();

frame.setVisible(true);

}catch(Exceptione){

e.printStackTrace();

}

});

publicdan(){

setBackground(UIManager.getColor("

Button.disabledForeground"

));

setForeground(UIManager.getColor("

Button.shadow"

\u670D\u52A1\u5668\u7AEF\u7A0B\u5E8F"

setBounds(100,100,450,126);

contentPane=newJPanel();

contentPane.setBorder(newEmptyBorder(5,5,5,5));

setContentPane(contentPane);

JLabellblNewLabel=newJLabel("

\u8DEF\u5F84\uFF1A"

lblNewLabel.setFont(newFont("

隶书"

Font.BOLD,16));

textField=newJTextField();

textField.setColumns(10);

JButtonbtnNewButton=newJButton("

\u9009\u62E9\u56FE\u7247"

btnNewButton.setBackground(UIManager.getColor("

ComboBox.selectionBackground"

btnNewButton.setFont(newFont("

JButtonbtnNewButton_1=newJButton("

\u53D1\u9001"

btnNewButton_1.setBackground(UIManager.getColor("

btnNewButton_1.setFont(newFont("

textField_1=newJTextField();

textField_1.setText("

\u670D\u52A1\u5668\u7AEF\u9009\u62E9\u7684\u8981\u53D1\u9001\u7684\u56FE\u7247"

textField_1.setBackground(UIManager.getColor("

ComboBox.disabledBackground"

textField_1.setColumns(10);

textField_2=newJTextField();

textField_2.setText("

\u63A5\u6536\u5230\u5BA2\u6237\u7AEF\u53D1\u9001\u7684\u56FE\u7247"

textField_2.setBackground(UIManager.getColor("

textField_2.setColumns(10);

GroupLayoutgl_contentPane=newGroupLayout(contentPane);

gl_contentPane.setHorizontalGroup(

gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup()

.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)

.addGroup(gl_contentPane.createSequentialGroup()

.addComponent(lblNewLabel)

.addPreferredGap(ComponentPlacement.RELATED)

.addComponent(textField,GroupLayout.PREFERRED_SIZE,113,GroupLayout.PREFERRED_SIZE)

.addPreferredGap(ComponentPlacement.UNRELATED)

.addComponent(btnNewButton)

.addGap(18)

.addComponent(btnNewButton_1))

.addComponent(textField_1,GroupLayout.PREFERRED_SIZE,186,GroupLayout.PREFERRED_SIZE)

.addComponent(textField_2,GroupLayout.PREFERRED_SIZE,159,GroupLayout.PREFERRED_SIZE)))

.addContainerGap(60,Short.MAX_VALUE))

);

gl_contentPane.setVerticalGroup(

.addContainerGap()

.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)

.addComponent(lblNewLabel)

.addComponent(textField,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)

.addComponent(btnNewButton_1)

.addComponent(btnNewButton))

.addPreferredGap(ComponentPlacement.RELATED,20,Short.MAX_VALUE)

.addComponent(textField_1,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)

.addComponent(textField_2,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE)))

contentPane.setLayout(gl_contentPane);

程序代码:

importjavax.swing.LayoutStyl

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1