java简单图形用户界面代码

合集下载

java用户登录界面的代码

java用户登录界面的代码

java用户登录界面的代码以下是一个简单的Java用户登录界面的代码示例,其中包括了GUI界面设计和用户验证的代码:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginWindow extends JFrame implements ActionListener {private JLabel usernameLabel, passwordLabel;private JTextField usernameTextField;private JPasswordField passwordField;private JButton loginButton;public LoginWindow() {setTitle("用户登录");setSize(400, 200);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);usernameLabel = new JLabel("用户名:");passwordLabel = new JLabel("密码:");usernameTextField = new JTextField();passwordField = new JPasswordField();loginButton = new JButton("登录");loginButton.addActionListener(this);setLayout(null);usernameLabel.setBounds(50, 30, 80, 25);passwordLabel.setBounds(50, 70, 80, 25);usernameTextField.setBounds(130, 30, 200, 25);passwordField.setBounds(130, 70, 200, 25);loginButton.setBounds(150, 120, 100, 25);add(usernameLabel);add(passwordLabel);add(usernameTextField);add(passwordField);add(loginButton);setVisible(true);}public void actionPerformed(ActionEvent e) {String username = usernameTextField.getText();String password = newString(passwordField.getPassword());if (isValidUser(username, password)) {System.out.println("用户登录成功!");// 在这里可以跳转到下一个界面} else {System.out.println("用户名或密码错误!");}}private boolean isValidUser(String username, String password) {// 在这里实现用户验证的代码// 比如查询数据库是否有该用户并且密码是否匹配等等// 如果验证成功则返回true,否则返回falsereturn false;}public static void main(String[] args) {new LoginWindow();}}```该代码创建了一个窗口界面,包括“用户名”和“密码”两个文本框,以及一个“登录”按钮。

Java图形用户界面:Swing和JavaFX的简单介绍

Java图形用户界面:Swing和JavaFX的简单介绍

Java图形用户界面:Swing和JavaFX的简单介绍在计算机科学领域中,图形用户界面(GUI)是指通过图形、图像和视觉元素来与计算机程序进行交互的界面。

Java作为一种广泛使用的编程语言,提供了多种选择来构建图形用户界面。

其中,Swing和JavaFX是最常用的两种选择。

本文将对这两种Java GUI工具进行简单介绍,并探讨它们的特点和用途。

一、SwingSwing是Java提供的一套GUI工具包,旨在提供一种跨平台的解决方案。

它是在AWT(抽象窗口工具包)的基础上开发的,为开发者提供了一系列可重用的GUI组件,如按钮、文本框、标签等。

Swing的特点之一是其轻量级性能,它不依赖于操作系统的原生GUI组件,而是完全由Java代码实现。

这使得Swing应用程序可以在不同操作系统上以相同的方式运行,而无需进行任何修改。

Swing提供了丰富的组件库,使得开发者可以轻松构建复杂的用户界面。

它还支持可定制的外观和感觉,开发者可以根据自己的需求选择不同的外观主题。

此外,Swing还提供了一些高级组件,如表格、树形结构和滚动面板,使得开发者可以创建更复杂和功能强大的界面。

然而,Swing也有一些缺点。

由于其完全由Java代码实现的特性,Swing应用程序可能在性能方面存在一些问题。

尤其是在处理大量数据或复杂图形时,Swing的性能可能会受到影响。

此外,Swing的外观和感觉可能与操作系统的原生界面存在一些差异,这可能会对用户体验造成一定的影响。

二、JavaFXJavaFX是Java平台上的另一种GUI工具,它提供了更现代化和富有表现力的用户界面。

与Swing不同,JavaFX使用了一种基于场景图的方式来构建界面。

它通过使用FXML(一种基于XML的用户界面描述语言)和CSS(层叠样式表)来分离界面的结构和样式,使得界面的定制变得更加灵活和简单。

JavaFX提供了许多内置的UI组件,如按钮、文本框、标签等,这些组件具有更丰富的视觉效果和交互特性。

JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面JavaGUI编程是一种强大的工具,它可以帮助开发者创建漂亮、直观的用户界面。

在本文中,我将为您介绍如何使用JavaGUI编程来设计和实现一个令人印象深刻的用户界面。

一、选择合适的图形库在开始编写JavaGUI程序之前,我们需要选择一个合适的图形库。

Java提供了多种图形库选项,包括Swing、JavaFX等。

在这里,我将以Swing为例进行演示。

二、设计用户界面设计用户界面是实现漂亮用户界面的第一步。

在设计过程中,我们应该考虑到用户的需求和使用习惯,使界面具有良好的可用性和可访问性。

以下是一些设计原则可以帮助您创建漂亮的用户界面:1. 简洁明了:界面应该简洁明了,避免过多的干扰元素和复杂的图形。

2. 色彩搭配:选择适合的颜色搭配,使界面看起来舒适和谐。

同时要注意颜色的对比度,以确保文字和界面元素的可读性。

3. 布局:合理的布局可以使界面更加整洁美观。

可以使用不同的布局管理器(如FlowLayout、GridBagLayout等)来帮助您实现布局。

4. 图标和图片:适当使用图标和图片可以增加界面的吸引力。

选择高质量的图标和图片,确保其分辨率和大小适合当前界面的需求。

5. 文字字体:选择易读的字体和合适的字号。

正文通常使用宋体、微软雅黑等,标题可以选择一些特殊的字体以增加视觉效果。

三、编写代码一旦您完成了用户界面的设计,接下来就是编写代码来实现这个界面。

下面是一个简单的示例,展示如何使用Swing来创建一个基本的用户界面。

```javaimport javax.swing.*;import java.awt.*;public class GUIExample {public static void main(String[] args) {JFrame frame = new JFrame("漂亮的用户界面");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);JPanel panel = new JPanel();panel.setLayout(new FlowLayout());JLabel label = new JLabel("欢迎使用漂亮的用户界面!");label.setFont(new Font("宋体", Font.BOLD, 18));JButton button = new JButton("点击我");button.setPreferredSize(new Dimension(100, 50));panel.add(label);panel.add(button);frame.getContentPane().add(panel);frame.setVisible(true);}}```上述代码演示了如何创建一个简单的用户界面,其中包括一个标签和一个按钮。

java图形用户界面实验报告

java图形用户界面实验报告

java图形用户界面实验报告
《Java图形用户界面实验报告》
一、实验目的
本次实验旨在通过使用Java图形用户界面(GUI)工具,掌握Java程序设计的
基本原理和方法,加深对Java语言的理解和应用。

二、实验内容
1. 使用Java的Swing和AWT等图形用户界面工具,设计一个简单的窗口界面。

2. 在窗口中添加按钮、文本框、标签等组件,并实现相应的事件处理。

3. 编写Java代码,实现窗口界面的布局和交互功能。

三、实验步骤
1. 首先,创建一个新的Java项目,并新建一个窗口类。

2. 在窗口类中使用Swing和AWT工具,设计窗口界面,并添加所需的组件。

3. 编写事件处理方法,实现按钮点击、文本框输入等操作的响应。

4. 调试和运行程序,检查窗口界面的布局和功能是否符合预期。

四、实验结果
经过一系列的编码和调试,最终实现了一个简单的Java图形用户界面程序。


程序具有良好的界面布局和交互功能,用户可以通过按钮点击和文本框输入进
行相应的操作。

五、实验总结
通过本次实验,我深入理解了Java图形用户界面的设计原理和实现方法,掌握
了Swing和AWT等GUI工具的使用技巧。

在今后的学习和工作中,我将继续
加强对Java编程的实践,不断提升自己的技能水平,为今后的软件开发工作打
下坚实的基础。

Java语言程序设计:第十章 Java图形用户界面

Java语言程序设计:第十章 Java图形用户界面

t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS

有间距
CENTER
的 East
组 容se器tHgap(int hgap)

setVgap(int vgap)

将组件间的水平间距设置为指定的值

将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North

边 West 的
组 容器

上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的

javase综合案例

javase综合案例
queryButton.addActionListener(this);
updateButton.addActionListener(this);
deleteButton.addActionListener(this);
}
}
```
2. 实现业务逻辑
接下来,我们需要实现学生信息的添加、查询、修改和删除等功能。这些功能可以通过Java的方法来实现,例如使用`Scanner`类来读取用户输入的数据,使用`ArrayList`类来管理学生列表等。以下是实现业务逻辑的代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class StudentGUI extends JFrame implements ActionListener {
private JTextField nameField;
buttonPane.add(queryButton);
buttonPane.add(updateButton);
buttonPane.add(deleteButton);
pane.add(buttonPane, BorderLayout.SOUTH);
addButton.addActionListener(this);
private JTextField idField;
private JButton addButton;
private JButton queryButton;
private JButton updateButton;
private JButton deleteButton;

实验五java图形用户界面设计

实验五java图形用户界面设计

§5 Java 图形用户界面设计§5.1实验目的、内容及性质掌握 Java 的 GUI 设计技术,掌握 AWT 和 Swing 的应用技巧。

实验性质:验证、必做实验学时:2学时§5.2问题及思考1、最常见的AWT以及Swing控件用法。

2、几个常见布局总结3、区分容器控件和一般非容器控件4、Java事件几种关键组成部分以及事件处理流程§5.3实验指导1、Swing示例/*需要哪些组件,如何布局?*/import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MyFrm extends JFrame{//从JFrame继承/*声明界面需要使用的控件*/JLabel lbl_name =new JLabel("用户名");JLabel lbl_pwd =new JLabel("密码");JTextField txt_name=new JTextField();JPasswordField txt_pwd=new JPasswordField();JButton btn_OK=new JButton("登陆");JButton btn_Cancel=new JButton("取消");/*在构造函数中将控件放置在JFrame上*/public MyFrm(){/*获取当前Frame的内容面板*/JPanel jp=(JPanel)this.getContentPane();/*设置内容面板的布局 Layout*/jp.setLayout(new GridLayout(3,2));jp.add(lbl_name);jp.add(txt_name);jp.add(lbl_pwd);jp.add(txt_pwd);jp.add(btn_OK);jp.add(btn_Cancel);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String arg[]){/*纯Java样式显示窗体*/JFrame.setDefaultLookAndFeelDecorated(true);/*实例化当前窗体类*/MyFrm frm=new MyFrm();frm.setSize(200,200);frm.setVisible(true);}}2、常用布局1)、流布局:FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、网格布局:GridLayout 按照指定行数与列数,将容器分成大小相等的单元格每个单元格放置一个控件. 不能将控件放在指定单元格容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局:BorderLayout 将容器分成东、西、南、北、中五个部分容器.setLayout(new BorderLayout());窗口的内容面板默认布局就是边界布局。

Java基础案例教程第8章 GUI(图形用户界面)

Java基础案例教程第8章 GUI(图形用户界面)

8.1 AWT概述
2.Panel Panel也是一个容器,但是它不能单独存在,只能存在其他容器(Window或其 子类)中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳 其他组件。在程序中通常会使用Panel来实现一些特殊的布局。
案例代码
了解了AWT组件的相关类后,为了使读者对GUI有一个更直观的认识, 接下来通过一个案例来创建一个简单的图形界面,请查看教材文件8-1。
了对应的Java类,这些类都位于java.awt包中,接下来通过一个图例来描述这些
类的继承关系,如图所示。
从图的继承关系可以看出,在AWT中组件分为两大类,这两类的基类分别是 Component和MenuComponent。其中,MenuComponent是所有与菜单相关组 件的父类,Component则是除菜单外其他AWT组件的父类,它表示一个能以图 形化方式显示出来,并可与用户交互的对象。
8.2 布局管理器
GridBagLayout
GridBagLayout(网格包布局管理器)是最灵活、最复杂的布局管理器。与
GridLayout布局管理器类似,不同的是,它允许网格中的组件大小各不相同,
而且允许一个组件跨越一个或者多个网格。 使用GridBagLayout布局管理器的步骤如下:
(1)创建GridbagLayout布局管理器,并使容器采用该布局管理器
(2)创建GridBagContraints对象(布局约束条件),并设置该对象的相关属性
8.2 布局管理器
(3)调用GridBagLayout对象的setConstraints()方法建立GridBagConstraints对象和受控 组件之间的关联
第八章 GUI(图形用户界面)

JavaSwing图形用户界面的设计与实现方法

JavaSwing图形用户界面的设计与实现方法

JavaSwing图形用户界面的设计与实现方法一、引言随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)在软件开发中扮演着越来越重要的角色。

作为用户与软件之间的沟通桥梁,GUI的设计与实现至关重要。

本文将介绍JavaSwing图形用户界面的设计与实现方法,帮助开发人员更好地利用JavaSwing创建出功能强大、用户友好的GUI界面。

二、Swing概述JavaSwing是Java提供的一套GUI组件库,它基于Java AWT (Abstract Window Toolkit)构建而成,相对于AWT,Swing提供了更加丰富的组件和更高的灵活性。

Swing拥有独立于平台的外观,通过Java代码实现GUI界面的构建和事件处理。

使用Swing可以快速实现各种界面风格,并且易于调整和扩展。

三、Swing组件的使用1. 容器类组件:容器类组件是其他组件的父容器,对应于应用程序的窗口或面板,常用的容器类组件有JFrame、JPanel、JDialog等。

通过创建容器类组件,可以将其他组件添加到容器中并管理和布局。

2. 基本组件:基本组件是构建GUI界面的基本元素,常用的基本组件有JButton、JLabel、JTextField等。

它们可以用于实现用户输入、数据展示、按钮点击等交互操作。

3. 高级组件:高级组件是Swing提供的一些特殊功能的组件,如JTable、JTree、JFileChooser等。

它们可以用于展示表格、树状结构、文件选择等复杂的用户交互功能。

四、事件处理为了响应用户的操作,GUI界面需要进行事件处理。

在JavaSwing中,事件处理分为两个阶段:事件生成和事件响应。

当用户与界面进行交互时,会生成相应的事件,如按钮点击、鼠标移动等。

开发人员需要实现事件的监听器,并在事件发生时触发相应的操作。

五、界面布局界面布局是指组件在容器中的排列方式。

在Swing中,界面布局主要通过布局管理器(Layout Manager)实现。

国开《JAVA程序设计语言》形考第三任务代码与输出图片

国开《JAVA程序设计语言》形考第三任务代码与输出图片

国开《JAVA程序设计语言》形考第三任务代码与输出图片一、任务概述本次形考第三任务主要要求同学们运用JAVA程序设计语言,实现一个简单的图形用户界面(GUI),并通过代码输出相应的图片。

二、任务要求1. 请使用JAVA编程语言,实现一个GUI程序。

2. 在GUI程序中,展示一张图片。

3. 确保程序的运行环境为Windows操作系统。

4. 提交代码及输出图片。

三、任务步骤步骤1:创建GUI程序框架首先,我们需要使用JFrame创建一个窗口对象,作为我们的GUI程序的主界面。

import javax.swing.JFrame;public class ImageDisplay {public static void main(String[] args) {JFrame frame = new JFrame("图片展示");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800, 600);// 添加图片展示组件frame.add(new ImagePanel());frame.setVisible(true);}}步骤2:创建图片展示组件接下来,我们需要创建一个继承自JPanel的类,用于展示图片。

import javax.swing.*;import java.awt.*;public class ImagePanel extends JPanel {private Image image;public ImagePanel() {// 从文件中加载图片image = new ImageIcon("path/to/image.jpg").getImage(); }@Override// 在组件上绘制图片g.drawImage(image, 100, 100, null);}}步骤3:运行并测试程序完成上述代码编写后,我们可以运行程序,并在窗口中查看输出的图片。

java中jpanel的用法

java中jpanel的用法

java中jpanel的用法Java中JPanel的用法JPanel是Java Swing库中的一个重要组件,它用于创建可视化的用户界面。

本文将介绍JPanel的几种常见用法,包括创建和初始化JPanel、添加组件到JPanel中以及设置JPanel的布局等。

1. 创建和初始化JPanel以下是创建和初始化JPanel的步骤:•导入JPanel类:在代码开头导入类,以便在程序中使用JPanel。

•创建JPanel对象:使用JPanel panel = new JPanel();语句创建一个新的JPanel对象。

•设置JPanel的尺寸和布局:可以使用(width, height);和(layout);方法来设置JPanel的尺寸和布局。

•将JPanel添加到容器中:使用容器的add(panel);方法将JPanel添加到容器中。

import ;public class MyPanel {public static void main(String[] args) {JPanel panel = new JPanel();(500, 300);(new FlowLayout()); // 使用FlowLayout布局// 添加其他组件到panel中// ...// 将panel添加到容器中// ...}}2. 添加组件到JPanel中JPanel通常用于容纳其他组件,例如按钮、文本框等。

可以使用(component);方法将组件添加到JPanel中。

以下是向JPanel中添加按钮和文本框的示例代码:import ;import ;import ;public class MyPanel {public static void main(String[] args) {JPanel panel = new JPanel();(500, 300);(new FlowLayout()); // 使用FlowLayout布局JButton button = new JButton("Click me");(button); // 添加按钮到panel中JTextField textField = new JTextField(10);(textField); // 添加文本框到panel中// 将panel添加到容器中// ...}}3. 设置JPanel的布局JPanel的布局决定了其内部组件的排列方式。

java简单的聊天窗口代码

java简单的聊天窗口代码

要创建一个简单的Java聊天窗口,您可以使用Java的图形用户界面(GUI)工具包Swing。

以下是一个基本的聊天窗口示例:```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class ChatWindow extends JFrame implements ActionListener {private JTextField inputField;private JTextArea chatArea;private String message = "";public ChatWindow() {super("简单聊天窗口");setSize(400, 300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);inputField = new JTextField();chatArea = new JTextArea();JButton sendButton = new JButton("发送");sendButton.addActionListener(this);JScrollPane scrollPane = new JScrollPane(chatArea);chatArea.setAutoscrolls(true);getContentPane().add(inputField,BorderLayout.SOUTH);getContentPane().add(sendButton, BorderLayout.EAST); getContentPane().add(scrollPane,BorderLayout.CENTER);}public void actionPerformed(ActionEvent e) {if (e.getSource() == sendButton) {message += inputField.getText() + "\n";chatArea.append(inputField.getText() + "\n");inputField.setText(""); // 清空输入框}}public static void main(String[] args) {ChatWindow chatWindow = new ChatWindow();}}```这个程序创建了一个简单的聊天窗口,用户可以在输入框中输入消息,然后点击"发送"按钮将消息发送到聊天区域。

图形用户界面设计

图形用户界面设计
29
中间容器(Jpanel)
1. 将组件添加到JFrame中 2. JPanel的使用
30
1、 将组件添加到JFrame中
方式之一: frame.getContentPane().add(childCom
ponent) 用getContentPane()方法获得JFrame的
内容面板,再对其加入组件,一般只使 用该方式添加组件。
Swing 是为了解决 AWT 存在的问题而 新开发的包,它以 AWT 为基础的。
10
上图列举了AWT和 Swing的关系,也可 以看出Swing是继承自AWT的。主要利 用Swing来设计图形化界面程序。
11
图形化界面设计—容器
1. Java基本类(JFC) 2. AWT和Swing的区别 3. Swing基本框架 4. 图形化设计步骤 5. 组件容器的使用
54
实例:
55
实例:
56
实例二:在中间位置中添加9个按钮
57
58
布局管理器之GRIDLAYOUT(网 格布局)
59
网格布局特点:
使容器中的各组件呈M行×N列的网格状分布。 网格每列宽度相同,等于容器的宽度除以网格
的列数。 网格每行高度相同,等于容器的高度除以网格
的行数。 各组件的排列方式为:从上到下,从左到右。 组件放入容器的次序决定了它在容器中的位置。 l容器大小改变时,组件的相对位置不变,大小
图形用户界面设计
1
Java图形化界面设计——容器 (JFrame)
2
程序是为了方便用户使用的,因此实现 图形化界面的程序编写是所有编程语言 发展的必然趋势,在命令提示符下运行 的程序可以让我们了解java程序的基本 知识体系结构,现在就进入java图形化 界面编程。

JAVA AWT图形界面编程方法

JAVA AWT图形界面编程方法
i p G m o a a a . v .wt o
摘 要 :本 文 总 结 了 i a A r图形 界 面 编 程 的思 路 方 法 和 经 验 a 厂 v
i o l aa .v n . mp G a .wte e t v o
p b i ca s L g n e t n s F a e i p e e t u l ls o i x e d r m m lm n s c
/组件 的添 加 /
t i.d ( b me 。 hsa d 1 Na ) a t i.d ( t me 。 hsa d t Na ) x t i.d ( b s 。 hsa d 1 P w) a t i.d ( t s 。 hs a dt P w) x
L b la N me n w a e(用 户 名 ” a e lb a = e L b l “ ) 。
L b la = e L b l 登陆信 息 ” a e l n w a e( b ” ) 。 L b la N me n w a e(用 户名 “ a e l a = e Lb l b “ ) 。 L b la P w= e L b l 密码 “ a e l s n w a e( b ” ) 。 B t n bn = e B t n“ ut t0K n w ut (确定 “ o o ) 。
等。 以上 功 能均 可 以再构 造 函数里 完成 。如 :
/设 置布局 方式 /
t i. t a o t e Fo a o t ) hss L y u ( w l e n wL y uO。
t i.d ( t OK 。 hsa d b n ) t i .d ( t Re o 。 hsa db n d ) t i.d ( b 。 hsa d 1 ) a

JAVA实验报告总结计划——简单绘图程序

JAVA实验报告总结计划——简单绘图程序

实验三绘制图形一、实验目的学会JButton 的使用,能进行JButton 的基本操作,能使用JButton 结构一个图形界面框架经过实验熟习swing图形用户界面程序设计熟习java 中的事件办理模型,每个事件动作代表的意义进一步提升编程能力,学会独立思虑,学会上网查找资料决问题。

二、实验内容设计一个程序,该程序能够绘制基本的图形(包含圆形、矩形、直线等);要求有一个简单易操作的用户界面(包含菜单、按钮等组件)。

编写的程序要求能够实现保留和读取的功能。

三、实验代码import ;import ;import ;importimportimportimport winpaint.WinToolBar;import winpaint.windowsPaint;public class Main{/**@paramargs*/public static void main(String[]args){TODOAuto-generatedmethodstubJPanelpain tWin=newwindowsPaint("绘图");paintWin.setBounds(0,30,1000, 1000);paintWin.s etLayout(null);paintWin.s etVisible(tru);eJToolBarto ol=newWinToolBar((windowsPai nt)paintWin);tool.setBounds(0,0 ,1000,30);tool.setVi sible(true);JFramefram e=newJFram e();frame.setL ayout(null);frame.setV isible(true);frame.setBounds(0,0,1000,1000); frame.add(tool);frame.add(paintWin);}}importbase.GrapicsElem;importbase.Rect;publicclasstestfractor{/**@paramargs@throwsClassNotFoundException*/publicstaticvoidmain(String[]args)throwsClassNotFoundException{ TODOAuto-generatedmethodstubGrapicsElemGe=newRect();Class<?>demo1=null;Class<?>demo2=null;Class<?>demo3=null;try{// 一般尽量采纳这类形式demo1=Class.forName("base.Rect");Class<?>con= demo1.getSuperclass();demo2=Class.forName("base.GrapicsElem");Class<?>suns[]= demo2.getInterfaces();for(inti=0;i<suns.length;i++){}//GrapicsElemgg=(GrapicsElem)con[0].newInstance();con[0]);con[1]);con[2]);}catch(Exceptione){e.printStackTrace();}demo2=newRect().getClass();demo3=Rect.class;}}package base;importimportimportpublic abstract class GrapicsElem{Point start ;Point end;private Color color ;public ColorgetColor(){return color ;}p ubli c th is void setColor(Colorcolor){ .color =color;}publ ic th isvoid setStart(Pointstart){ .start =start;}publ ic th isvoid setEnd(Pointend){ .end=end;} publi c publ ic publ ic publ ic abstractabstractabstractabstractvoidvoidvoidvoiddoMousePress(Pointp);doMouseDrag(Pointp);doMouseRelease(Pointp);draw(Graphicsg);}package base; importimportimportpublicclassLineArrayList<Point>extendstrackGrapicsElem{;public Line(){track =newArrayList<Point>();}@Overridepublic void draw(Graphicsg){for (int i=0;i< track .size()-1;i++){Pointcur= track .get(i);Pointnext= track .get(i+1);}//}private voidAddPoint(Pointp){track .add(p);}@Overridepublic voiddoMousePress(Pointp){ TODOAuto-generatedmethodstubAddPoint (p);}@Overridepublic voiddoMouseDrag(Pointp){ TODOAuto-generatedmethodstubAddPoint (p);}//@Overridepublic voiddoMouseRelease(Pointp){TODOAuto-generatedmethodstubAddPoint(p);}}package base;importimportpublic class Rect extends GrapicsElem{int x,y,width ,height ;@Overridepublic void draw(Graphicsg){TODOAuto-generatedmethodstubg.drawRect(getX(),getY(),getWidth(),getHeight()); }@Overridepublic void doMousePress(Pointp){super.setStart(p);super.setEnd(p);}@Overridepublic void doMouseDrag(Pointp){super.setEnd(p);}@Overridepublic void doMouseRelease(Pointp){super.setEnd(p);}p ublicintgetX(){returnMath.min(start.x,end.x);}p ublicintgetY(){returnMath.min(start.y,end.y);}p ublicint getWidth(){ returnMath.abs(start.x-end.x);}p ublicint getHeight(){ returnMath.abs(start.y-end.y);}}package base;importpublic class Circle extends Rect{@Overridepublic void draw(Graphicsg){TODOAuto-generatedmethodstubg.drawOval(getX(),getY(),getWidth(),getHeight()); }}packagewinpaint;importbase.Circle;importbase.GrapicsElem;importbase.Line;importbase.Rect;publicclasswindowsPaintextendsJPanelimplementsMouseListener,MouseMotionListener{Stringcommand=" 矩形";List<GrapicsElem>Lg=newArrayList();GrapicsElemcur;JLabellabel;publicwindowsPaint(Stringtitle){init();}privatevoidinit(){addMouseListener(this);addMouseMotionListener(this);}/**能够使用反射去掉判断语句、Class<?>g=Class.forName("base.Rect");g.newInstance();@return*/privateGrapicsElemnewInstance(){command= mand;if(command.equals(" 矩形")){returnnewRect();}elseif(command.equals(" 圆形")){returnnewCircle();}elseif(command.equals(" 线")){returnnewLine();}returnnull;}//@Overridepublicvoidpaint(Graphicsg){TODOAuto-generatedmethodstubsuper.paint(g);//Graphics2Dg2d=(Graphics2D)g;//g2d.setColor(cur.getColor());g2d.setStroke(newBasicStroke(10.0f));for(inti=0;i<Lg.size();i++){GrapicsElemge=Lg.get(i);ge.draw(g);}}@Overridepublicvoidrepaint(){//TODOAuto-generatedmethodstub//// // //// //// //// //// //////TODOAuto-generatedmethodstub//super.repaint();Threadthread=newThread(newRunnable(){ @Overridepublicvoidrun(){//TODOAuto-generatedmethodstubtry{//////// //// ////SaveToFile();}catch(IOExceptione){//TODOAuto-generatedcatchblock e.printStackTrace();////}////}////thread.start();//////////// //// //// //// //// //// ////ImageIconbg=newImageIcon("tmp.jpg");if(bg!=null){if(label!=null)this.remove(label);label=newJLabel(bg);label.setBounds(0,0,bg.getIconWidth(),bg.getIconHeight()); this.add(label);super.repaint();////}//////}privatevoidSaveToFile()throwsIOException{TODOAuto-generatedmethodstubBufferedImagebimg=newBufferedImage(this.getWidth(),this.getHeight(),BufferedImage.T YPE_3BYTE_BGR);Graphics2Dg2d=bimg.createGraphics();this.paint(g2d);ImageIO.write(bimg,"jpg",newFile("tmp.jpg"));}@OverridepublicvoidmousePressed(MouseEvente){Pointp=newPoint(e.getX(),e.getY());cur=newInstance();cur.doMousePress(p);Lg.add(cur);}@OverridepublicvoidmouseDragged(MouseEvente){Pointp=newPoint(e.getX(),e.getY());cur.doMouseDrag(p);repaint();}@OverridepublicvoidmouseReleased(MouseEvente){Pointp=newPoint(e.getX(),e.getY());cur.doMouseRelease(p);repaint();}@OverridepublicvoidmouseMoved(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseClicked(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseEntered(MouseEvente){//TODOAuto-generatedmethodstub}@OverridepublicvoidmouseExited(MouseEvente){//TODOAuto-generatedmethodstub}}packagewinpaint;publicclassWinToolBarextendsJToolBarimplementsActionListener{publicstaticStringCo mmand="JButtonbtn1,btn2,btn3;//windowsPaintwinp; publicWinToolBar(windows PaintwinP){btn1=newJButton("矩形"); btn2=newJButton("圆形"); btn3=newJButton(" 线"); this.add(btn1);this.add(btn2);this.add(btn3);矩形";btn1.addActionListener((ActionListener)this);btn2.addActionListener((ActionListener)this);btn3.addActionListener((ActionListener)this);=winP;JComboBoxcom=newJComboBox();com.addItem("红色");com.addItem(" 蓝色");com.addItem(" 黑色");com.addItemListener(newItemListener(){@OverridepublicvoiditemStateChanged(ItemEvente){//TODOAuto-generatedmethodstub}});this.add(com);}@OverridepublicvoidactionPerformed(ActionEvente){TODOAuto-generatedmethodstubJButtonbtn=(JButton)e.getSource();btn.setBackground(Color.green);Com mand=btn.getActionCommand();}}三、实验结果。

韩顺平 java 图形界面编程

韩顺平 java 图形界面编程

主讲 韩顺平
swing组件 ---面板组件
面板组件(JPanel)-怎么用? JPanel :面板组件,非顶层容器, 一个界面只可以有一个JFrame窗体组件,但可以有多个Jpanel 面板组件,而JPanel上也可使用FlowLayout,BorderLayout, GirdLayout等各种布局管理器,这样可以组合使用达到较为复杂的 布局效果。案例(Demo8_5.java) ,可以做图说明原理。
主讲 韩顺平
eclipse开发工具介绍

eclipse工具-使用
一个新的名词:ide (集成开发环境,比如 jcreator、vs2005这些个开发工具都是ide)
为了让大家迅速的上手eclipse开发工具,我们完成一个 小案例: 1. 建立一个java 工程 2. 创建一个java文件Test.java 该文件就输出跳出一个窗口: hello,顺平! 3. 编译Test.java文件,运行该文件

主讲 韩顺平
三大布局管理器 ---边界布局

边界布局BorderLayout –介绍
边界布局(BorderLayout)将容器简单的划分为东南 西北中5个区域,中间区域最大。 JFrame窗体,JDialog对话框组件默认布局方法
主讲 韩顺平
三大布局管理器 ---边界布局

边界布局BorderLayout –使用
eclipse的官网:

主讲 韩顺平
eclipse开发工具介绍

eclipse工具-安装 在使用eclipse开发java se项目前,我们应当安装以下软件: 1. jdk ;2. eclipse; 下载jdk6.0 的网址: 下载eclipse的地址如下: 我给大家演示一下下载/安装/汉化的过程

Java图形化界面编程介绍

Java图形化界面编程介绍

Java图形化界⾯编程介绍⽬录1.内容概述2.容器Container2.1Window2.2Panel2.3ScrollPane2.4Box3.布局管理器3.1FlowLayout3.2BorderLayout3.3GridLayout3.4Cardlayout4.AWT基本组件5.事件处理6.开发⼀个简单计算器1.内容概述 先谈谈个⼈对图形化界⾯编程的认识,图形化界⾯编程可以直接的看到每⼀步操作带来的效果,相对于传统编程盯着⿊框框学起来是⾮常⾮常有意思的。

 再谈谈最后的效果,界⾯是由窗⼝和组件构成的。

⽽组件在窗⼝内的排列并不是没有章法可⾔,依赖于布局管理器使组件以合适的位置以及合理的排布呈现。

排布于窗⼝内的组件⼜可以通过事件监听器与⽤户进⾏交互…2.容器Container 什么是容器?容器是特殊的组件。

容器是⽤来装东西的,不仅可以存放组件,也可以⽤来存放容器,⽽存放的容器⼜可以存放容器或组件。

听起来有点反复套娃,但学起来还是很容易的!2.1Window Window是可以独⽴存在的顶级窗⼝,其默认使⽤BorderLayout布局管理器。

 frame.setLocation(500,300)⽅法⽤来设置窗⼝的位置,通常计算机的远点坐标在左上⾓。

 frame.setSize(500,300)⽅法⽤来设置窗⼝的尺⼨。

 frame.setVisible(true)设置窗⼝是否可见。

运⾏效果(使⽤Frame来创建⼀个窗⼝): 注意此时的窗⼝不能通过单击右上⾓的’X’关闭窗⼝,只能⼿动结束程序,因为还没有加⼊事件监听机制。

代码:import java.awt.*;public class WindowDemo {public static void main(String[] args) {//创建⼀个窗⼝对象Frame frame = new Frame("测试Window窗⼝");//指定窗⼝的位置和⼤⼩frame.setLocation(500,300);frame.setSize(500,300);//设置窗⼝可见frame.setVisible(true);}}2.2Panel Panel是内嵌式容器,必须内嵌于其它容器中使⽤,不能独⽴存在。

java label用法

java label用法

java label用法Java Label是一种用户界面组件,用于在图形用户界面中显示文本或消息。

Java Label在Java Swing库中可用,它提供了一种简单的方法来创建具有文本标签的界面。

一、创建Java Label要使用Java Label,首先需要在Java程序中导入javax.swing 包。

然后,可以使用Label类的构造函数创建一个新的Label对象,并将其分配给一个变量。

例如,以下代码创建了一个名为myLabel的Label对象,并将其显示在屏幕上:```javaimport javax.swing.JLabel;import javax.swing.JFrame;import java.awt.BorderLayout;public class Main {public static void main(String[] args) {// 创建一个新的Frame对象JFrame frame = new JFrame();// 在Frame中添加一个Label组件JLabel myLabel = new JLabel("Hello, World!");frame.getContentPane().add(myLabel, BorderLayout.CENTER);// 设置Frame的大小和可见性frame.setSize(300, 200);frame.setVisible(true);}}```二、设置Label属性Java Label有很多属性可以设置,例如文本颜色、背景颜色、字体、大小等。

可以使用set方法来设置这些属性。

例如,以下代码将文本颜色设置为红色:```javamyLabel.setForeground(Color.RED);```三、使用Label布局管理器在Swing中,可以使用布局管理器来管理组件的位置和大小。

Java Label可以使用BorderLayout、FlowLayout、GridLayout等布局管理器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//注册事件
loginBtn.addActionListener(this);
registerBtn.addActionListener(this);
cancalBtn.addActionListener(this);
this.setBounds(600,300,300,300);
this.pack();
re.pack();
re.setVisible(true);
}
if(e.getSource()==cancalBtn)
System.exit(0);
}
public static void main(String args[]){
Login login=new Login();
}
}
JOptionPane.showMessageDialog(null, "密码不能为空,请重新输入密码", "密码空提示", JOptionPane.OK_OPTION);
passwordPwd.requestFocus();
return;
}
else{
try{
String sendStr=name+"+"+pwd;
Socket socket=new Socket("127.0.0.1",8888);
DataInputStream dis=new DataInputStream(socket.getInputStream());
DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
//定义组件
JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12;
JButton loginBtn,registerBtn,cancalBtn;
JLabel userLbl,passwordLbl,titleLbl;
centerPanel11=new JPanel();
centerPanel12=new JPanel();
//标题
titleLbl=new JLabel("欢迎进入考试系统");
titleLbl.setFont(new Font("隶书",Font.BOLD,24));
northPanel.add(titleLbl);
Toolkit tool = Toolkit.getDefaultToolkit();
Dimension ds = tool.getScreenSize();
int w = ds.width;
int h = ds.height;
re.setBounds((w-300)/2,(h-300)/2, 300, 300);
this.setResizable(false);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(tSource()==loginBtn){
name=userTxt.getText().trim();
String pwd=new String(passwordPwd.getPassword());
if (name.equals("")){
JOptionPane.showMessageDialog(null, "用户名不能为空,请重新输入用户名", "用户名空提示", JOptionPane.OK_OPTION);
userTxt.requestFocus();
return;
}
else if (pwd.equals("")){
this.add(northPanel,BorderLayout.NORTH);
//中间部分
centerPanel1.setLayout(new BorderLayout());
userLbl=new JLabel("用户名");
userTxt=new JTextField(12);
centerPanel11.add(userLbl);
package dsr;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import .Socket;
public class Login extends JFrame implements ActionListener{
centerPanel11.add(userTxt);
centerPanel1.add(centerPanel11,BorderLayout.NORTH);
passwordLbl=new JLabel("密码");
passwordPwd=new JPasswordField(12);
centerPanel12.add(passwordLbl);
registerBtn=new JButton("注册");
cancalBtn=new JButton("取消");
southPanel.add(loginBtn);
southPanel.add(registerBtn);
southPanel.add(cancalBtn);
this.add(southPanel,BorderLayout.SOUTH);
}
}catch(FileNotFoundException e1){
e1.getStackTrace();
}catch(IOException e2){
e2.getStackTrace();
}
}
}
if(e.getSource()==registerBtn){
JFrame re=new Register();
JTextField userTxt;
JPasswordField passwordPwd;
static String name;
public Login ()
{
super("用户登录");
northPanel=new JPanel();
southPanel=new JPanel();
centerPanel1=new JPanel();
dos.writeUTF(sendStr);
String recieveStr=dis.readUTF();
if (recieveStr.equals("ok")){
JOptionPane.showMessageDialog(null, "进入考试", "试卷", RMATION_MESSAGE);
centerPanel12.add(passwordPwd);
centerPanel1.add(centerPanel12,BorderLayout.CENTER);
this.add(centerPanel1,BorderLayout.CENTER);
//按钮部分
loginBtn=new JButton("登录");
相关文档
最新文档