当前位置:文档之家› java界面完整教程

java界面完整教程

java界面完整教程
java界面完整教程

UI组件简介

在开始学习Swing 之前,必须回答针对真正初学者的一个问题:什么是UI?初学者的答案是“用户界面”。但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。

所以,我再次提出这个问题:什么是UI?您可能把它定义成您按下的按钮、打字的地址栏、打开和关闭的窗口,等等,这些都是UI 的元素,但是除了在屏幕上看到的这些之外,还有更多都是UI 元素。比如鼠标、键盘、音量、屏幕颜色、使用的字体,以及一个对象相对于另一个对象的位置,这些都包含在UI 之中。实际上,在计算机和用户的交互之中扮演角色的任何对象都是UI 的组成部分。这看起来足够简单,但是您应当惊讶的是,有许多人和大型公司已经为它努力了很多年。实际上,现在有的大学专业的惟一课程就是研究这种交互。Swing的角色

Swing 是Java 平台的UI ——它充当处理用户和计算机之间全部交互的软件。它实际上充当用户和计算机内部之间的中间人。Swing 到底是如何做这项工作的呢?它提供了处理前面一节中描述的UI 各方面内容的机制:

?键盘:Swing 提供了捕捉用户输入的方法。

?颜色:Swing 提供改变在屏幕上看到的颜色的方法。

?打字的地址栏:Swing 提供了文本组件,处理所有普通任务。

?音量:Swing 不太擅长。

无论如何,Swing 为您提供了创建自己的UI 所需要的所有工具

MVC

Swing 甚至走得更远一步,在基本的UI 原则之上又放上了一个公共的设计模式。这个设计模式叫做模型-视图-控制器(Model-View-Controller,MVC),它试图“把角色分开”。MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。

有点迷惑?如果我为这个设计模式提供一个现实世界的非技术性示例,它就比较容易了。请想像一次时装秀。把秀场当成UI,假设服装就是数据,是展示给用户的计算机信息。现在,假设这次时装秀中只有一个人。这个人设计服装、修改服装、同时还在T 台上展示这些服装。这看起来可不是一个构造良好的或有效率的设计。

现在,假设同样的时装秀采用MVC 设计模式。这次不是一个人做每件事,而是将角色分开。时装模特(不要与MVC 缩写中的模型混淆)展示服装。他们扮演的角色是视图。他们知道展示服装(数据的)适当方法,但是根本不知道如何创建或设计服装。另一方面,时装设计师充当控制器。时装设计师对于如何在T 台上走秀没有概念,但他能创建和操纵服装。时装模特和设计师都能独立地处理服装,但都有自己的专业领域。

这就是MVC 设计模式背后的概念:让UI 的每个方面处理它擅长的工作。如果您仍然不明白,那么教程后面的示例有望消除您的迷惑——但是在您继续进行的时候,请记住基本的原则:用可视组件显示数据,同时让其他类操纵数据。

JComponent

Swing 的整个可视组件库的基础构造块是JComponent。它是所有组件的父类。它是一个抽象类,所以不能创建JComponent,但是作为类层次结构的结果,从字面意义来说它包含了数百个函数,Swing 中的每个组件都可以使用这些函数。显然,有些概念要比其他概念重要,所以对于本教程,需要学习的重要的东西是:

?JComponent 不仅是Swing 组件的基类,还是定制组件的基类(有关的更多信息在“中级Swing”教程中)。

?它为所有组件提供了绘制的基础架构——一些方便进行组件定制的东西(同样,在“中级Swing”中,有关于这个主题的更多信息)。

?它知道如何处理所有的键盘按键。所以类只需要侦听特定的键。

?它包含add() 方法,可以添加其他JComponent。换种方式来看,可以把任意Swing 组件添加到其他任何Swing 组件,从而构造嵌套组件(例如,JPanel 包含JButton,甚至包含一些古怪的组合,例如JMenu 包含JButton)。

简单的swing小部件

JLabel

Swing 库中最基础的组件是JLabel。它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。下图显示了的JLabel 实际应用:

不太吸引人,但是仍然有用。实际上,在整个应用程序中,不仅把JLabel 用作文本描述,还将它用作图片描述。每当在Swing 应用程序中看到图片的时候,它就有可能是JLabel。JLabel 对于Swing 初学者来说没有许多意料之外的方法。基本的方法包括设置文本、图片、对齐以及标签描述的其他组件:

?get/setText():获取/设置标签的文本。

?get/seticon():获取/设置标签的图片。

?get/setHorizontalAlignment():获取/设置文本的水平位置。

?get/setVerticalAlignment():获取/设置文本的垂直位置。

?get/setDisplayedMnemonic():获取/设置标签的访问键(下划线文字)。

?get/setLableFor():获取/设置这个标签附着的组件,所以当用户按下Alt+访问键时,焦点转移到指定的组件。

JButton

Swing 中的基本动作组件JButton,是与每个窗口中都能看到的OK 和Cancel 一样的按钮;这些按钮所做的正是您希望它们做的工作——在单击它们之后,将发生一些事情。到底会发生什么呢?您必须定义发生的内容(请参阅事件,以获得更多信息)。一个JButton 实例看起来如下所示:

用来改变JButton 属性的方法与JLabel 的方法类似(您可能发现,在大多数Swing 组件中,这些属性都类似)。它们控制文本、图片和方向:

?get/setText():获取/设置标签的文本。

?get/seticon():获取/设置标签的图片。

?get/setHorizontalAlignment():获取/设置文本的水平位置。

?get/setVerticalAlignment():获取/设置文本的垂直位置。

?get/setDisplayedMnemonic():获取/设置访问键(下划线字符),与Alt 按钮组合时,造成按钮单击。

除了这些方法,我还要介绍JButton 包含的另外一组方法。这些方法利用了按钮的所有不同状态。状态是对组件进行描述的一个属性,通常采用真/假设置。在JButton 中,可以包含以下可能状态:活动/不活动、选中/没选中、鼠标经过/鼠标离开、按下/没按下,等等。另外,可以组合这些状态,例如按钮可以在鼠标经过的同时被选中。现在您可能会问自己用这些状态到底要做什么。作为示例,请看看您的浏览器上的后退按钮。请注意在鼠标经过它的时候,图片是如何变化的,在按下该按钮时,图片又是如何变化的。这个按钮利用了不同的状态。每个状态采用不同的图片,这是提示用户交互正在进行的一种普遍并且有效的方式。JButton 上的状态方法是:

?get/setDisabledIcon()

?get/setDisableSelectedIcon()

?get/setIcon()

?get/setPressedIcon()

?get/setRolloverIcon()

?get/setRolloverSelectedIcon()

?get/setSelectedIcon()

JTextField

Swing 中的基本文本组件是JTextField,它允许用户在UI 中输入文本。我肯定您熟悉文本字段:要掌握本教程,则必须使用一个文本字段输入用户名和口令。您输入文本、删除文本、选中文本、把文字四处移动—— Swing 替您负责所有这些工作。作为UI 开发人员,利用JJTextField 时,实际上并不需要做什么。

在任何情况下,这是JTextField 实际使用时看起来的样子:

JTextField

在处理JTextField 时,只需要关注一个方法——这应当是很明显的,这个方法就是设置文本的方法:get/setText(),用于获取/设置JTextField 中的文本。

JFrame

迄今为止,我介绍了Swing 的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方放它们,希望用户知道如何处理它们。JFrame 类就是做这个的——它是一个容器,允许您把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。它有许多其他好处,但是我认为先看看它的图片最简单:

JFrame

JFrame 实际上不仅仅让您把组件放入其中并呈现给用户。比起它表面上的简单性,它实际上是Swing 包中最复杂的组件。为了最大程度地简化组件,在独立于操作系统的Swing 组件与实际运行这些组件的操作系统之间,JFrame 起着桥梁的作用。JFrame 在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。但是对于本教程的目标来说,把JFrame 当作放置组件的调色板就足够了。可以在JFrame 上调用的一些修改属性的方法是:

?get/setTitle():获取/设置帧的标题。

?get/setState():获取/设置帧的最小化、最大化等状态。

?is/setVisible():获取/设置帧的可视状态,换句话说,是否在屏幕上显示。

?get/setLocation():获取/设置帧在屏幕上应当出现的位置。

?get/setsize():获取/设置帧的大小。

?add():将组件添加到帧中。

简单应用程序

就像所有的“x 入门”教程一样,本教程也包含必不可少的HelloWorld 演示。但这个示例不仅对观察Swing 应用程序如何工作有用,还对确保设置正确很有用。一旦使这个简单的应用程序能够成功运行,那么之后的每个示例也将能够运行。下图显示了完成后的示例:HelloWorld示例

第一步是创建类。将组件放在JFrame 上的Swing 应用程序需要继承JFrame 类,如下所示:

public class HelloWorld extends JFrame

这样做之后,就得到上面描述的所有JFrame 属性,最重要的是操作系统对窗口的本机支持。下一步是把组件放在屏幕上。在这个示例中,使用了一个null 布局。在教程的后面部分,您将学到更多关于布局和布局管理器的内容。但对于这个示例,可以用数字表示JFrame 上的像素位置:

public HelloWorld()

{

super();

this.setSize(300, 200);

this.getContentPane().setLayout(null);

this.add(getJLabel(), null);

this.add(getJTextField(), null);

this.add(getJButton(), null);

this.setTitle("HelloWorld");

}

private javax.swing.JLabel getJLabel() {

if(jLabel == null) {

jLabel = new javax.swing.JLabel();

jLabel.setBounds(34, 49, 53, 18);

jLabel.setText("Name:");

}

return jLabel;

}

private javax.swing.JTextField getJTextField() { if(jTextField == null) {

jTextField = new javax.swing.JTextField(); jTextField.setBounds(96, 49, 160, 20);

}

return jTextField;

}

private javax.swing.JButton getJButton() {

if(jButton == null) {

jButton = new javax.swing.JButton();

jButton.setBounds(103, 110, 71, 27);

jButton.setText("OK");

}

return jButton;

}

现在组件都放在了JFrame 上,并且需要在屏幕上显示JFrame,并让应用程序可以运行。就像在所有的Java 应用程序中一样,必须添加一个main 方法,才能让Swing 应用程序运行。在这个main 方法中,只需要创建HelloWorld 应用程序对象,然后调用其setVisible()即可:

public static void main(String[] args)

{

HelloWorld w = new HelloWorld();

w.setVisible(true);

}

完成了!这就是创建应用程序的所有过程。

完整代码如下:

package https://www.doczj.com/doc/9a1559932.html,.jnu.www;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

public class HelloWorld extends JFrame{ private JLabel jLabel;

private JTextField jTextField;

private JButton jButton;

public HelloWorld()

{

super();

this.setSize(300, 200);

this.getContentPane().setLayout(null); this.add(getJLabel(), null);

this.add(getJTextField(), null);

this.add(getJButton(), null);

this.setTitle("HelloWorld");

}

private javax.swing.JLabel getJLabel() { if(jLabel == null) {

jLabel = new javax.swing.JLabel(); jLabel.setBounds(34, 49, 53, 18); jLabel.setText("Name:");

}

return jLabel;

}

private javax.swing.JTextField getJTextField() { if(jTextField == null) {

jTextField = new javax.swing.JTextField(); jTextField.setBounds(96, 49, 160, 20);

}

return jTextField;

}

private javax.swing.JButton getJButton() {

if(jButton == null) {

jButton = new javax.swing.JButton();

jButton.setBounds(103, 110, 71, 27);

jButton.setText("OK");

}

return jButton;

}

public static void main(String[] args)

{

HelloWorld w = new HelloWorld();

w.setVisible(true);

}

}

附加的swing小部件(上)

JComboBox

在这一节中,我将介绍Swing 库中的其他全部组件、如何使用它们、它们看起来是什么样的,等等,这部分内容应当让您更好地了解Swing 为UI 开发人员提供了什么。

我们从JComboBox 开始介绍。组合框与下拉选择相似,区别在于使用组合框时用户可以不从列表中选择项目,还可以选择一个(而且只有一个)项目。在某些版本的组合框中,还可以输入自己的选择。浏览器的地址栏就是一个示例:它是一个允许输入自己选项的组合框。以下是JComboBox 在Swing 中看起来的样子:

JComboBox

JComboBox 的重要函数包括JComboBox 包含的数据。需要有一种方法来设置JComboBox 中的数据、修改数据、在用户选择时得到用户的选择。可以使用以下JComboBox 方法:

?addItem():添加一个项目到JComboBox.

?get/setSelectedIndex():获取/设置JComboBox 中选中项目的索引。

?get/setSelectedItem():获取/设置选中的对象。

?removeAllItems():从JComboBox 删除所有对象。

?remoteItem():从JComboBox 删除特定对象。

JTextField

JTextField 的一个细微变化是JPasswordField,它允许您隐藏在文本字段区域中显示的字符。毕竟,在您输入口令的时候,如果每个人都能看到,那可没什么好处?可能根本就不好,而且在私人数据如此脆弱的今天,您需要所有能够得到的帮助。以下是JPasswordField 在Swing 中看起来的样子:

JPasswordField

JPasswordField 上额外的“安全性”方法对JTextField 的行为做了轻微改变,所以不能阅读文本:

?get/setEchoChar():获取/设置每次字符输入时在JPasswordField 中显示的字符。在获取口令时,不会返回“回声”,而是返回实际的字符。

?getText():不应当使用这个函数,因为它会带来可能的安全问题(String 会保存在内存中,可能的堆栈转储会暴露口令)。

?getPassword():这是从JPasswordField 中获得口令的恰当方法,因为它返回一个包含口令的char[]。为了保证恰当的安全性,数组应当被清为0,以确保它不会保留在内存中。

JCheckBox/JRadioButton

JCheckBox 和JRadioButton 组件向用户呈现选项,通常采用多选的格式。区别是什么?从实践的角度来说,它们没有那么不同。它们的行为方式相同。但是,在一般的UI 实践中,它们有细微差异:JRadioButton 通常组合在一起,向用户呈现带有必选答案的问题,而且这些答案具有强制性(这意味着问题只能有一个答案)。JRadioButton 的行为保证了这个用法。一旦选择了JRadioButton,就不能取消对它的选择,除非选择了在同一组中的另外一个单选钮。从效果上看,这就保证了选项的惟一和必选。JCheckBox 的不同在于,允许随机地选择/取消除选择,并允许为问题选择多个答案。

这里是个示例。问题“您是男孩还是女孩!”有两个惟一答案选项“男孩”或“女孩”。用户必须选择一个,不能同时选中。另一方面,问题“您的习惯是什么?”的答案有“跑步”、“睡觉”或“阅读”,不应当只允许为此问题选择一个答案,因为人们可能有不止一个习惯。

把这些JCheckBoxe 或JRadioButton 捆绑成一组的类是ButtonGroup类。它允许把选项组织在一起(例如“男孩”和“女孩”),这样,其中一个被选择时,另外一个就自动取消选择。以下是JCheckBox 和JRadioButton 在Swing 中看起来的样子:

JCheckBox 和JRadioButton

需要记住的重要的ButtonGroup 方法是:

?add():添加JCheckBox 或JRadioButton 到ButtonGroup。

?getElements():获得ButtonGroup 中的全部组件,允许对它们进行迭代,找到其中选中的那个。

JMenu/JMenuItem/JMenuBar

JMenu、JMenuItem 和JMenuBar 组件是在JFrame 中开发菜单系统的主要构造块。任何菜单系统的基础都是JMenuBar。它平淡而乏味,但却是必需的,因为每个JMenu 和JMenuItem 都要用它构建。要用setJMenuBar()方法把JMenuBar 附着到JFrame。一旦将它附加到JFrame 中,就可以添加所有想要的菜单、子菜单和菜单项。

JMenu/JMenuItem 的区别看起来可能很明显,但实际上,在幕后看起来并不像表面那样。看看类的类层次结构,就知道JMenu是JMenuItem的子类。但是,在表面上,它们是有区别的:用JMenu 包含其他JMenuItem 和JMenu;JMenuItem 在选中时触发操作。JMenuItem 也支持快捷键的概念。与您用过的大多数应用程序一样,Swing 应用程序允许您按下Ctrl+(某个键)来触发一个操作,就像选中菜单键本身一样。想想用来剪切和粘贴的快捷键Ctrl+X 和Ctrl+V。

除此之外,JMenu 和JMenuItem 都支持访问键。用Alt 键与某个字母关联,模拟菜单本身的选择(例如,在Windows 中按下Alt+F,然后按下Alt+x 就可以关闭应用程序)。以下是包含JMenu 和JMenuItem 的JMenuBar 在Swing 中的样子:

JMenuBar、JMenu 和JMenuItem

这些类需要的重要方法是:

JMenuItem and JMenu:

o get/setAccelerator():获取/设置用作快捷键的Ctrl+键。

o get/setText():获取/设置菜单的文本。

o get/setIcon():获取/设置菜单使用的图片。

?JMenu 专用:

o add():添加另外一个JMenu 或JMenuItem 到JMenu(创建嵌套菜单)。JSlider

在应用程序中JSlider 支持数值变化。它是一种迅速而简单的方式,不仅能让用户以可视形式获得他们当前选择的反馈,还能得到可以接受的值的范围。想像一下这种情况:可以提供一个文本字段,允许用户输入值,但是这样做就带来了额外的麻烦,要确保输入的值是数字,还要确保数字符合要求的数值范围。例如,如果有一个金融Web 站点,它向您提问要在股票上投资的百分比,那么您不得不检查在文本字段中输入的值,以确保它们是数字,而且在0 到100 之间。如果换用JSlider,那么就可以确保选择的是指定范围内的数字。在Swing 中,JSlider 看起来如下所示:

JSlider

JSlider 中的重要方法是:

?get/setMinimum():获取/设置可以选择的最小值。

?get/setMaximum():获取/设置可以选择的最大值。

?get/setOrientation():获取/设置JSlider 是上/下还是左/右滚动条。

?get/setValue():获取/设置JSlider 的初始值。

JSlider

与JSlider 非常像,可以用JSpinner 允许用户选择一个整数值。JSlider 的一个主要优势就是比JSlider 的空间紧凑。但是,它的不足就是无法方便地设置其边界。

但是,两个组件之间的比较仅此而已。JSpinner 更加灵活,可以用来在任意组的值之间进行选择。除了在数字间选择,它还可以用来在日期、名称、颜色和任何事之间进行选择。这使JSpinner 极为强大,允许您提供其中只包含预定义的选择的组件。使用这种方式,它与JComboBox 类似,但是它们的应用不能互换。只应把JSpinner 用在逻辑上连续的选择——数字和日期是最合逻辑的选择。而另一方面,在呈现看起来随机的选择并且选择之间没有连接的时候,JComboBox 是更好的选择。

JSpinner 看起来如下所示:

JSpinner

重要方法是:

?get/setValue():获取/设置JSpinner 的初始值,在基本实例中,需要是整数。

?getNextValue():获取按下上箭头按钮之后应当选中的下一个值。

?getPreviousValue():获取按下下箭头按钮之后应当选中的前一个值。

JToolBar

JToolBar 充当其他组件(JButton、JComboBoxe 等)的调色板,共同构成您在大多数应用程序中熟悉的工具栏。工具栏允许程序把常用的命令放在可以迅速发现的位置,并把它们以常用命令组的形式组合在一起。一般(但不总是这样)情况下,工具栏按钮在菜单栏中会有对应的命令。虽然这不是必需的,但已经变成了一种公共实践,您也应当试着这么做。

JToolBar 也提供了您在其他工具栏中看到过的其他功能:“浮动”的能力(也就是成为主帧顶部独立的帧)。

下图显示了一个非浮动JToolBar:

非浮动JToolBar

对于JToolBar,要记住的重要方法是:is/setFloatable(),它获取/设置JToolBar 是否可以浮动。

JToolTip

您可能到处都看到过JToolTip,但是从来不知道它们叫什么。它们就像您鞋带上的塑料部件——到处都有,但是您就是不知道它们正确的名字(如果您想知道,那么可以叫它们金属箍)。JToolTip 就是您将鼠标停留在某个东西上面的时候弹出来的小“泡泡”。它们在应用程序中可能非常有用,可以为难用的项目提供帮助、扩展信息,甚至在拥挤的UI 中显示某个项目的完整文本。在Swing 中,可以通过把鼠标放在某个组件上的特定时间来触发它们;它们通常在鼠标处于不活动状态大约1 秒钟之后显示。只要鼠标还停留在那个组件上,它们就保持可见。

JToolTip 的重要部分是它的易用性。setToolTip()方法是JComponent类中的一个方法,这意味着每个Swing 组件都能有一个与之关联的工具提示。虽然JToolTip本身也是一个Swing 类,但目前,对于您的需要,它确实没有提供更多功能,而且本身也不该被创建。可以通过调用JComponent 的setToolTip()函数访问和使用它。

以下是JToolTip 看起来的样子:

A JToolTip

附加的swing小部件(下)

JOptionPane

JOptionPane是在Swing 中类似“快捷方式”的东西。通常,作为UI 开发人员,您需要向用户呈现快速信息,让用户了解错误和信息。甚至可能想得到一些快速数据,例如名称或数字。在Swing 中,JOptionPane类为这些东西提供了快捷方式,但这并不是它必须完成的任务。不需要让每个开发人员重头开始重复相同的工作,Swing 已经提供了这个基本的但很有用的类,为UI 开发人员提供了获取和接收简单消息的简易方法。

以下是一个JOptionPane:

JOptionPane

使用JOptionPane 时有点麻烦的是可以使用的全部选项。虽然简单,但是它仍然提供了大量选项,这些选项有可能造成混淆。学习JOptionPane 的最好方法就是使用它;编写代码,观察弹出的是什么。这个组件几乎可以让您修改它的每一方面:帧标题、消息本身、显示的图标、按钮选项,以及是否需要文本响应。因为有太多的可能性,无法在本教程中一一列举它们,所以您最好是访问JOptionPane 的API 页面,查看它的众多可能性。JTextArea

JTextArea 比JTextField 更进了一步。JTextField 被局限在一行文本中,而JTextArea 扩展了这个能力,支持多行文本。可以把它想像成一个空白页,您可以在其中的任意地方进行输入。正如您可能猜到的,JTextArea 包含许多与JTextField 相同的功能,毕竟,它们实

java图形界面之电子算盘

Java图形用户界面 院系: 计算机系姓名:后人好乘凉 一实验目的 ●使学生综合运用图形用户界面设计的概念; ●使学生熟悉使用中间面板,组成层次复杂的GUI界面; ●使学生掌握使用事件驱动编程; 二实验环境及实验准备 ●所需硬件环境为微机; ●所需软件环境为JDK、Eclipse; ●掌握Java下界面容器与基本组件的基本知识与应用; ●掌握Java下事件处理模型; ●掌握Java下图形绘制的方法; 三实验内容 (一)、设计实现电子算盘,并完成测试; [题目描述及要求] 给小朋友设计一个电子算盘。要求绘制电子算盘界面,设计并实现打珠算过程(界面参考如下图示)。 电子算盘参考界面示意 程序源代码: package calculator;

import java、awt、Color; //导入 import java、awt、GridLayout; import java、awt、Container; import javax、swing、JLabel; import javax、swing、JButton; import javax、swing、ImageIcon; import javax、swing、JPanel; import javax、swing、JFrame; import javax、swing、JTextField; import java、awt、event、*; public class Calculator extends JFrame{ public int totalNumber; public int t = 0; public boolean[] isAddFive = new boolean[5]; public int number[] = new int[5]; public ImageIcon picture = new ImageIcon(System、getProperty("user、 dir") + "/算珠、jpg" ); //添加图片 public ImageIcon picture1= new ImageIcon(System、getProperty("user、 dir") + "/算珠1、jpg" ); Container con = getContentPane(); JPanel j1 = new JPanel(); JPanel j2 = new JPanel(); JPanel j3 = new JPanel(); JPanel time=new JPanel(); JLabel q = new JLabel(); JLabel nA = new JLabel(); JLabel Time=new JLabel(new ImageIcon("、/时钟、jpg")); //添加时钟标签的图片 JTextField a = new JTextField(); JButton Buttons_1[][] = new JButton[2][5]; JButton Buttons_2[][] = new JButton[5][5]; GridLayout gl_1 = new GridLayout(2,5); GridLayout gl_2 = new GridLayout(5,5); GridLayout gl_3 =new GridLayout(); public Calculator() { super("电子算盘"); setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE); setBounds(100,100,600,400); setVisible(true); setLayout(null); AbacusPanel(); } public void AbacusPanel() // 算盘面板

java图形界面以及链接数据库

import java、awt、*; import java、awt、event、*; import javax、swing、*; import java、sql、*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,ScrollPaneConstants、VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants、HORIZONTAL_SCROLLBAR_NEVER); private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { jp、setLayout(null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("您"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) { jb[i]、setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { jp、add(jb[i]); } j1、setBounds(280,10,50,30); j2、setBounds(20,375,30,50); box、setBounds(55,385,80,30); j3、setBounds(160,375,40,50); text、setBounds(210,385,300,30); jb[3]、setBounds(520,365,75,50); js、setBounds(10,50,600,300); jp、add(j1); jp、add(j2);

java图形化界面练习及答案

作业标题:第四次练习题(总分:得分:分)一、单选题(共有题目15题,共计分) 1. 下列属于容器的组件有 A. JButton B. JPane C. Canvas D. JTextArea 学生的答案: B 标准答案: B 该题分数: 学生得分: 分 2. 下列方法中,不属于WindowListener接口的是A. windowOpened() B.

windowClosed() C. windowActivated() D. windowAdapter 学生的答案: D 标准答案: D 该题分数: 学生得分: 分 3. 下列不属于Swing中组件的是( )。 A. JPanel B. JTable C. Menu D. JFrame 学生的答案: C 标准答案: C 该题分数:

学生得分: 分 4. 以下Swing组件中哪一个不是顶层容器组件( )。 A. 框架 B. 对话框 C. 面板 D. 小程序 学生的答案: C 标准答案: A 该题分数: 学生得分: 0分 5. 对于Swing基本控件单选框,若要使两个单选框对象之间具有相互排斥的关系,需要( )。 A. 创建两个单选框对象时定义相同的对象名 B. 将两个单选框对象放在同一个面板上

定义一个ButtonGroup对象group,将两个单选框对象加到group中D. 让两个单选框排成一行或一列 学生的答案: C 标准答案: C 该题分数: 学生得分: 分 6. 容器被重新设置大小后,( )布局管理器的容器中的组件大小不随容器大小的变化而改变。 A. CardLayout B. FlowLayout C. BorderLayout D. GridLayout 学生的答案: B 标准答案: B 该题分数: 学生得分: 分

java实验报告实验六Java图形用户界面

信息工程学院 Java程序设计实习报告 JAVA图形用户界面 实验六Java图形用户界面 1.实验目的 (1)掌握图形用户界面基本组件。 (2)了解如何使用布局管理器对组件进行管理。 (3)掌握Java事件处理机制。 2.实验内容 实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。 运行结果: 实验报告的内容与格式按任课教师的要求书写。

加法: 主要代码: private void initComponents() { jButton1 = new javax、swing、JButton(); jButton2 = new javax、swing、JButton(); jButton3 = new javax、swing、JButton(); jButton4 = new javax、swing、JButton(); jButton5 = new javax、swing、JButton(); jButton6 = new javax、swing、JButton(); jButton7 = new javax、swing、JButton(); jButton8 = new javax、swing、JButton(); jButton9 = new javax、swing、JButton(); jButton10 = new javax、swing、JButton(); jButton11 = new javax、swing、JButton(); jButton12 = new javax、swing、JButton(); jButton13 = new javax、swing、JButton(); jButton14 = new javax、swing、JButton(); jButton15 = new javax、swing、JButton(); jTextField1 = new javax、swing、JTextField(); setStub(null); jButton1、setText("3"); jButton1、addActionListener(new java、awt、event、

java web 工作原理总结

总结 第一章java web 工作原理 1.1、web应用程序有web服务器,web客服端浏览器,HTTP协议以及静态HTML文件。 Web服务器的作用是接受客服端请求,然后向客服端返回些结果;浏览器的作用是允许用户请求服务器上的某个资源,并且向用户显示请求的结果; HTML是用于告诉浏览器怎么样向用户显示内容; HTTP是web上客服端和服务器之间通信所用的协议。 1.1.2 HTTP协议将来自于客服端的请求信息封装成HTTP请求; 封装的信息当中包括请求行、请求头、消息体、分隔请求头、消息体的一个空行。 请求行是一个ASCII文本行,由三个标记组成:请求的HTTP方法、请求的URL、HTTP版本;中间用空格分开例如: GET /lovobook/index.html HTTP/1.0 在HTTP1.1版本中请求方法有八种分别是下面: GET:用于向服务器检索资源在HTTP请求头 POST:用于向服务器发送资源,并要求指定的URI处理在消息体HEAD:于GET方法相同,服务器只返回状态行和头标,并不返回请求文档。 PUT:请求服务器保持请求数据作为指定的URI新内容;

DELETE:请求服务器删除URI中命名的资源; OPTIONS:请求关于服务器支持的请求方法信息; TRACE:请求web服务器反馈HTTP请求和其头标;CONNECT:已文档化但当前未实现的一个方法,预留做隧道处理;请求头: HTTP协议使用HTTP头来传递请求的元信息。HTTP头是一个用冒号分隔的名称/值对,冒号前面是HTTP头的名称,后面是HTTP头的值。 1.1.3 HTTP响应包括:状态行、响应头、消息体、分割消息头、响应头。状态行里面出现: 1XX:表示信息,请求收到,继续处理。 2XX:表示成功 3XX:表示重定向 4XX:表示客服端错误 5XX:表示服务器错误 1.2 Web服务器的缺陷是只能向用户提供静态网页内容。 1.3 服务器端网页编程就是web服务器创建动态服务器端内容的过程。 1.3.1 服务器端网页编程出现得最早的技术就是CGI,它的缺点就是每次请求一个CGI资源,将在服务器上创建一个新的进程,并且通过标准输

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

JavaWeb程序设计教程课后练习答案

第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众

多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

2020年Java自学路线图--Javaweb学习

2020年Java自学路线图--Javaweb学习Javaweb的学习时是Java学习路线图的第三个阶段,在Java学习路线图前两个阶段学习后开始学习Javaweb。具备基本的JavaWeb开发能力,熟悉Linux服 务器及相关软件的使用,可完成中小型企业级项目的开发需求。这个阶段学完后就可以考虑工作了,是不是很快? 这个阶段需要你掌握JavaWeb开发基础知识,熟悉Java基本开发环境、熟悉项目管理工具使用及Linux服务器使用,达到了这些才能满足Java软件开发行业的基本开发需求。

1.数据库的概念 2.常见的数据库软件 3.MySQL数据库的安装卸载 4.MySQL数据库的登录退出 5.MySQL的目录结构 6.SQL语句的分类 7.数据库和数据表的操作 8.数据的添加(insert) 9.数据的删除(delete) 10.数据的修改(update) 11.数据的查询(select) 12.数据的复杂查询 13.约束的使用 14.多表关系(一对一、一对多、多对多) 15.三大范式详解 16.数据库的还原和备份 17.多表查询操作 18.事务介绍 19.事务的隔离 20.数据库的用户管理和权限管理 21.黑马程序员视频库网址:https://www.doczj.com/doc/9a1559932.html,(海量热门编程视频、资料免费学习) 22.学习路线图、学习大纲、各阶段知识点、资料网盘免费领取+QQ 1679806262

1.JDBC入门 2.DriverManager类详解 3.Connection类详解 4.Statement类详解 5.JDBC完成增删改查操作 6.ResultSet类详解 7.JDBC工具类的编写 8.PreparedStatement类详解 9.使用JDBC完成事务管理 10.连接池的介绍 11.c3p0连接池的使用 12.druid连接池的使用 13.创建druid连接池工具类 14.JDBCTemplate的使用HTML5&CSS3 1.B/S架构 2.HTML基本使用 3.HTML常用标签 4.CSS选择器 5.常用样式

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

JavaWeb

二、填空题 1.在编写Servlet时,需要继承HttpServlet类,在Servlet中声明doGet()和doPost()需要HttpServletRequest 和HttpServletResponse类型的两个参数。 2.jsp主要内置对象有:response、exception、pageContext、 request、session、application 、out、config、page。 3.使用useBean动作标记的时候scope属性有4种选项,作用范围由小到大是page、_requset_、_session ,application__,其中session _是指当关闭浏览器的时候这个javabean失效,_application_ 是指当关闭服务器的时候这个javabean失效。 1、控制一个Servlet的生命周期的方法有init( ), service( )和_ destroy( )。其中init()_在Servlet加载时调用,_destroy()__在撤消应用或关闭web container时调用,客户端的每次请求此Servlet时都会调用service()方法。Servlet通常只有一个实例,被所有的访问者共享,因此要注意资源的同步。 2. 在Servlet中要输出内容,使用HttpServletResponse的方法_setContentType 方法设置文档内容类型,对于文本类型调用方法_getWriter获得一个PrintWrite的输出流,对于二进制类型调用_getOutputStream获得ServeltOutputStream的输出流。调用HttpServletRequest的方法_getParameter获取有名参数,调用getInputStream获得一个ServletInputStream 的输入流。在Servlet中也可以调用ServletContext 和HttpServletRequest 的方法_ getRequestDispatche_获得RequestDispatcher, 将请求的处理权交给一个新的资源。 3.在Java Web开发中,跟踪客户状态的手段可通过_session_和_cookie_; 增加一个新的cookie, 调用HttpServletResponse的_addCookie _方法;要在服务器端查询cookie, 调用HttpServletRequest的getCookies方法。Session的类型是HttpSession, 获得session的途径是调用HttpServletRequest的方法是_ getSession_。 三.笔试题 18简述servlet进行中文处理的方法。 19请写出获取初始化参数的方法。 20简述使用Cookie进行会话跟踪过程。(写出主要步骤)

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.doczj.com/doc/9a1559932.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

实验五 Java图形界面及多线程

实验五图形界面及多线程 【实验目的】 一、掌握Jpanel的使用方法; 二、掌握JAVA简单图形界面的设计; 三、掌握JAVA多线程控制。 【实验内容】 一、在一个Jpanel中显示一个小球,当点击鼠标时,开始移动小球;当小球撞到Jpanel的边框时,小球将反弹回去继续移动。小球用一个线程来控制其移动; 二、每点击一次鼠标,增加一个移动的小球,最多产生20个小球,随机选择小球的颜色; 三、增加功能,当两个小球相撞时,它们将各自反弹。 【实验结果】 //小球类 import java.awt.Color; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.util.Random; public class Ball { private double x; private double y; private double xR=30; private double yR=30; private double xMove; private double yMove; private Color color; private Ellipse2D shape; private static Random random=new Random(); public Ball(){ color=new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)); xMove=Math.cos(random.nextDouble()*6.24)*10;

java图形界面GUI基础入门

Compnent package https://www.doczj.com/doc/9a1559932.html,pnent; import javax.swing.ButtonGroup; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import cn.itcast.util.FrameUtil; /* 非容器组件: */ public class Demo1 { public static void main(String[] args) { JFrame frame= new JFrame("注册"); //创建一个面板 JPanel panel = new JPanel(); frame.add(panel); //用户名

JLabel nameLabel = new JLabel("用户名"); //用户名的输入框 JTextField nameField = new JTextField(12); //把用户名的组件添加到面板上 panel.add(nameLabel); panel.add(nameField); //密码 JLabel passLabel= new JLabel("密码"); //密码框 JPasswordField passField = new JPasswordField(12); //把密码的组件添加到面板 panel.add(passLabel); panel.add(passField); //性别--单选框 JLabel sexLabel = new JLabel("性别"); JRadioButton man = new JRadioButton("男",true); JRadioButton woman = new JRadioButton("女"); //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个 ButtonGroup group = new ButtonGroup(); group.add(woman); group.add(man); //把性别组件添加到面板上 panel.add(sexLabel); panel.add(man);

JavaWeb入门(容易)

《(容易)》试卷 得分 一、单选题(每题2分,共计30分) 1.在设计基于多层体系结构的大型应用时,充当界面且系统要不断进行升级,下面选项中最适合的开发模式是() A、 B、 C、 D、 2.接口中用于获取请求客户端的地址的方法是() A、() B、() C、() D、() 3.下列关于请求消息的请求行的写法中,正确的是() A、1.1 B、 1.1 C、 1.1 D、 4.下面选项中,可以实现浏览器重定向的状态码是() A、100 B、200 C、304 D、303 5.通过配置来解决请求参数的乱码问题,可以在文件中的节点下添加的属性是() A、”” B、”” C、”” D、”” 6.下列选项中,关于保存数据的位置,说法正确的是() A、数据保存在客户端 B、数据保存在服务器端 C、数据保存在客户端与服务器端各一份 D、以上说法都不对 7.下面选项中,用于强制使对象无效的方法是() A、. (); B、. (); C、. (); D、. (); 总分题号一二三四五题分 得分

8.下列是指令中的一些属性,其中,用于指定线程是否安全的属性是() A、 B、 C、 D、 9.在接口中,()方法的返回值类型是() A、 B、 C、 D、 10.在接口中,()方法获取请求客户端的完整主机,当无法解析出客户机的完整主机名时,将返回的是()A、 B、“” C、客户端的地址 11.下面选项中,在配置文件中定义,包括的名称和的实现类的结点是() A、; B、; C、; D、; 12.面哪项用于唯一标识放在上的每个资源() A、B、 C、 D、 13.下面选项中,哪个头字段用于指定文档最后的更改时间()A、 B、 C、 D、 14.下面选项中,用于判断当前对象是否是新创建的方法是() A、. (); B、. () C、. (); D、. (); 15.一个可以被映射成虚拟路径的个数是() A、1 B、2 C、0 D、多 得分 二、多选题(每题3分,共计30分)

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1) 一实验目的 (1)掌握Frame与面板的使用 (2)布局管理器的使用 (3)布局管理器的使用 (4)边界风格的使用 (5)掌握简单Java事件的处理 二实验内容 1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。采用FlowLayout布局管理器。 程序: import java.awt.*; import javax.swing.*; public class Con1{ private JFrame f; private JButton b1,b2,b3,b4,b5,b6,b7,b8; public static void main(String args[]){ Con1 c=new Con1(); c.go(); } public void go(){

f=new JFrame("My Frame"); Container con=f.getContentPane(); con.setLayout(new FlowLayout()); con.setBackground(Color.white); con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50)); b1=new JButton("按键1"); b2=new JButton("按键2"); b3=new JButton("按键3"); b4=new JButton("按键4"); b5=new JButton("按键5"); b6=new JButton("按键6"); b7=new JButton("按键7"); b8=new JButton("按键8"); con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4); con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8); f.setSize(1000,1000); f.setVisible(true); } } 结果:

Java Web快速入门教程

本文由godwjh贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 WEB工程快速入门 (JAVA WEB快速入门) 内容结构 1. 2. 3. 4. 5. 6. 7. 8. 9. WEB原理 HTML知识 搭建服务器、 servlet 处理表单 JSP 保持会话 JAVAbeans 连接数据库 1 WEB 原理 输入网址 B/S结构 HTTP://WWW.SOHU.COM 请求 浏览器 响应 静态网页 Browser SERVER WEB 原理 输入网址 B/S结构 HTTP://WWW.SOHU.COM 请求 浏览器 响应 动态网页 静态内容 Browser SERVER 2 HTML 知识->文档结构 主要内容放在这里 头 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">  2 HTML->常用标签 文本标签 创建最大的标题  创建最小的标题  创建黑体字 创建斜体字 创建打字机风格的字体 设置字体大小,从1到7 设置字体的颜色,使用名字或十六进制值  链接 创建一个超链接 创建一个自动发送电子邮件的链接 ……  格式排版 创建一个新的段落  将段落按左、中、右对齐  插入一个回车换行符  从两边缩进文本  创建一个定义列表  放在每个定义术语词之前  放在每个定义之前  创建一个标有数字的列表  放在每个数字列表项之前,并加上一个数字  创建一个标有圆点的列表  放在每个圆点列表项之前,并加上一个圆点  一个用来排版大块HTML段落的标签,也用于格式化表  图形元素 添加一个图像 加入一条水平线  表格 创建一个表格  开始表格中的每一行  开始一行中的每一个格子 设置表格头:一个通常使用黑体居中 文字的格子

Java图形界面知识讲解

Frame 1.按钮: Frame f =new Frame(“hello”); f.setSize(200,200); f.setVisible(true);//让其显示 Panel p=new Panel(); f.add(p); Button b= new Button(“确定”); p.add(b); Button对象构造器的参数是按钮上显示的内容 2.复选框 Checkbox c1=new Checkbox(“汉堡”,true); Checkbox c2= new Checkbox(“薯条”,true); p.add(c1); p.add(c2); 注:构造器中第一个参数代表复选框显示的内容,第二个参数true代表该项默认选中 3.单选项 先创建一个CheckboxGroup对象: CheckboxGroup g=new CheckboxGroup(); 将g作为参数传递到各个单选按钮,在这一组单选按钮中,用户只能选一个: Checkbox ch1=new Checkbox(“人民币”,g,true); Checkbox ch2=new Checkbox(“美金”,g,false); p.add(ch1); p.add(ch2); 4.下拉列表框 先创建Choice对象: Choice c=new Choice(); 利用addItem()方法添加各种选项 c.addItem(“男”); c.addItem(“女”); p.add(c); 5.列表框 先创建List对象,第一个参数指定显示几行,第二个参数为true则支持多选,false则一次只能选中一个: List t=new List(4,true); 利用add方法添加各种文本选项: t.add(“今天”); t.add(“昨天”); p.add(t); 6.在窗口显示对话框 Frame f=new Frame(“hello”); 对话框与某个Frame对象关联,但不是放在Frame中。第二个参数为对话框标题栏的内容。第三个参数为true代表用户处理玩对话框后才可以和Frame进行交互,flase则代表用户可以同时和Frame交互:

相关主题
文本预览
相关文档 最新文档