`

Java图形程序设(二):在面板中显示信息

阅读更多

      在Java中,框架被设计为放置组件的容器,所以并不直接将信息绘制在里面,而是把信息绘制在一个面板中,再将这个面板添加到框架中。

      JFrame中,有四层面板:根窗格、层级窗格、玻璃窗格和内容窗格。前三个用来组织菜单栏和内容窗格以及实现观感,内容窗格则用来放置组件。

Container contentPane = frame.getContentPane();
Component c = ...;
contentPane.add(c);

上面是JDK1.4以前的版本的写法,在JDK1.5中直接用:

frame.add(c);

面板JPanel也是一个容器,可以放置按钮、滑块等组件,它也可以直接绘图。

在面板上直接绘图的方法:(1)继承JPanel类;(2)覆盖paintComponent方法。

      paintComponent方法定义在JComponent类中,这个类是所有非窗口Swing组件的超类。该方法有一个Graphics类型的参数。Graphics对象保存着用于绘制图像和文本的设置。

     在Java中,所有的绘图都必须通过Graphics对象,其中包括绘制图案、图像和文本的方法。

      在应用程序需要重新绘图的时候,这个方法将被自动地调用,不需要自己调用。如果需要强制刷新屏幕,可调用repaint方法。

例子:

import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class NotHelloWorld {

	public static void main(String[] args){
		NotHelloWorldFrame frame = new NotHelloWorldFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}
/**
 * 这是一个包含显示信息面板的框架
 */
class NotHelloWorldFrame extends JFrame {
	private static final int DEFAULT_WIDTH = 500;
	private static final int DEFAULT_HEIGHT = 300;
	public NotHelloWorldFrame() {
		setTitle("NotHelloWorld");
		setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
		//给框架增添面板
		NotHelloWorldPanel panel = new NotHelloWorldPanel();
		add(panel);
		setVisible(true);
	}
}
/**
 * 这是一个显示文字信息的面板
 */
class NotHelloWorldPanel extends JPanel {
	private static final int MESSAGE_X = 75;
	private static final int MESSAGE_Y = 100;
	@Override
	protected void paintComponent(Graphics g) {
		// TODO Auto-generated method stub
		super.paintComponent(g);
		g.drawString("NOt Hello World", MESSAGE_X, MESSAGE_Y);
	}
	
}

 

注意在绘制自己的内容时,需在paintComponent方法中调用super.paintComponent(g);

分享到:
评论

相关推荐

    Java2图形设计卷II:SWING

    在Java世界中,SWING是构建图形用户界面的重要工具,它提供了大量的组件,如按钮、文本框、菜单、滚动面板等,这些组件使得开发者能够创建出复杂的窗口应用。SWING基于AWT(Abstract Window Toolkit)框架,但在许多...

    java图形用户界面

    Java图形用户界面(GUI,Graphical User Interface)是Java编程语言中用于创建互动式、可视化应用的核心组件。GUI允许用户通过鼠标和键盘等输入设备与程序进行交互,提供了丰富的控件和布局管理器来构建复杂的窗口...

    Java程序中图形界面案例的分析与研究.pdf

    在深入分析《Java程序中图形界面案例的分析与研究.pdf》文档内容的基础上,我们可以提取以下知识点: 1. Java语言的图形用户界面设计: Java是一种广泛使用的编程语言,其拥有强大的图形用户界面(Graphical User ...

    java实验报告之图形用户界面程序设计与 AWT/Swing组件

    在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...

    《Java2图形设计卷II:Swing》配套光盘源码

    《Java2图形设计卷II:Swing》是一本专注于Java GUI编程的专业书籍,其配套光盘源码提供了丰富的示例代码,帮助读者深入理解和实践Swing库在Java2平台中的应用。Swing是Java Standard Edition (Java SE) 中用于构建...

    Java 2图形设计 卷Ⅱ:SWING(下).rar

    在Java 2图形设计卷Ⅱ:SWING(下)中,我们可以深入探讨Swing组件、布局管理、事件处理以及Swing的高级特性。 1. **Swing组件**: - JFrame:这是Swing中的顶级容器,通常作为应用程序的主窗口。它包含了JFrame内的...

    java图形界面迷宫问题

    在Java图形界面迷宫问题中,使用了Swing库中的JPanel、JButton、JLabel等组件来实现图形界面。JPanel用于创建面板,JButton用于创建按钮,JLabel用于创建标签。 迷宫问题 迷宫问题是一种经典的算法问题,目的是...

    石油大学java在线考试题 图形用户界面程序

    一个图形用户界面程序,包含两个按钮,一个信息标签(label)和一个显示面板,两个按钮分别为“掷色子”和“移动”,在显示面板中显示一个小人(用小圆以及线绘制),随机设定小人的初始位置,当点击“掷色子”按钮...

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

    在 Java 中,图形用户界面是通过 AWT(Abstract Window Toolkit)和 Swing 两个组件来实现的。AWT 是 Java 的原始图形用户界面工具包,而 Swing 是基于 AWT 的轻量级组件,提供了更加灵活和强大的图形用户界面开发...

    java图形界面五子棋程序

    Java图形界面五子棋程序是一种基于Java编程语言开发的交互式游戏应用,它允许两位玩家在二维棋盘上进行对弈,目标是通过放置棋子,先形成任意方向上的五子连线来赢得比赛。这个程序通常会利用Java的Swing或JavaFX库...

    Java 2 图形设计卷Ⅱ:SWING

    6. **组件容器(Container)**:组件都包含在容器中,如 JFrame 和 JApplet,它们负责管理子组件的布局和显示。 7. **对话框(Dialogs)**:SWING提供了各种对话框,如JOptionPane,用于提示信息、确认操作或输入...

    Java+2图形设计卷ⅠAWT.chm Java_2_图形设计卷Ⅱ:SWING.chm

    Java图形设计是Java编程中的一个重要领域,主要涉及如何在Java应用程序中创建和管理用户界面。本主题涵盖了两个关键部分:AWT(Abstract Window Toolkit)和Swing,它们都是Java提供的用于构建GUI(图形用户界面)的...

    java 图形自动更新程序

    在这个特定的程序中,Swing被用来创建一个显示更新进度和状态的界面,使用户了解更新的状态,如“检查更新”、“下载中”和“安装完成”。 Socket编程在Java中用于网络通信,允许两个或多个应用程序通过网络交换...

    java_2_图形设计卷Ⅱ:swing.rar

    Java Swing是Java 2平台(J2SE)的一部分,它为开发人员提供...这个压缩包提供的资源对于那些想要深入理解并熟练掌握Swing的人来说是一份宝贵的资料,可以系统地学习Swing的各种特性和最佳实践,提升Java图形设计能力。

    java画图板程序代码

    (4)控件面板(JPanel):用于显示当前颜色、画笔大小、橡皮大小等信息。 2. Java 画图板程序的实现 Java 画图板程序的实现主要涉及到以下几个方面: (1)绘图工具的实现:使用 Java 的图形库(java.awt)和...

    java图形界面初学.pdf

    通过本资源,初学者能够更加清晰地理解Java图形界面的设计和实现过程,并在实践中遇到问题时,能够找到相应的解决方法。随着Java图形界面开发技能的提升,开发者将能够设计和实现更加复杂、功能丰富的应用程序。

Global site tag (gtag.js) - Google Analytics