控制台程序. 为了可以选择系统支持的字体,我们定义了一个FontDialog类: // Class to define a dialog to choose a font import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import static Constants.SketcherConstants.*; @SuppressWarnings("serial…
控制台程序. 最简单的对话框仅仅显示一些信息.为了说明这一点,可以为Sketcher添加Help菜单项和About菜单项,之后再显示About对话框来提供有关应用程序的信息. 要新建的对话框类从JDialog中派生以便创建About对话框,这个新类的名称是AboutDialog. 把AboutDialog类作为OK按钮的动作监听器,就可以使这个类变成自包含的.另外,因为所有操作都只在SketcherFrame类中进行,所以可以将之定义为SketcherFrame的嵌套类. import java…
控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusBar类.在理想情况下,应为一般目地的状态栏设计类,然后再针对Sketcher进行定制.但由于篇幅显示,这里采用简单方法说明如何设计专用语Sketcher的类. // Class defining a status bar import javax.swing.*; import java.awt.*…
窗口应用程序. 本例在上一版的基础上实现了高亮元素.移动元素.上下文菜单.旋转元素.设置自定义颜色. 1.自定义常量包: // Defines application wide constants package Constants; import java.awt.*; import javax.swing.*; import java.awt.image.BufferedImage; public class SketcherConstants { // Path for images pu…
控制台程序. 为了与Sketcher中的其他元素类型保持一致,需要为Elements菜单添加Text菜单项和工具栏按钮.还需要定义用来表示文本元素的类Element.Text. 1.修改SketcherFrame类添加文本定义菜单项和工具栏按钮: // Frame for the Sketcher application import javax.swing.*; import javax.swing.border.*; import java.awt.event.*; import java.…
 * 创建图形化界面  * 1.创建frame窗体  * 2.对窗体进行基本设置  *   比如大小.位置.布局  * 3.定义组件  * 4.将组件通过窗体的add方法添加到窗体  * 5.让窗体显示,通过setVisible(true) import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener;…
GUI(Graphical User Interface),图形用户接口 CLI(Command Line User Interface),命令行用户接口 1. 容器 Container GUI主要位于 java.awt 和 javax.swing 两个包及其子包中 Container 和 Component  是AWT中的两个核心类,Container是Component子类,Container子类对象可以“容纳”别的Component对象. Frame是Window的子类,由Frame或其子…