`
- 浏览:
48881 次
- 性别:
- 来自:
济南
-
***********************在面板中显示信息************************
JFrame中有四层面板: 根面板、层级面板、玻璃面板和内容窗格,swing程序员对前三者不太关心,它们是用
来组织菜单栏和内容窗格以及实现观感的,swing程序员最关心内容窗格,在设计框架的时候,要使用下面代码
把所有组件放到内容窗格中:
Container contentPane = frame.getContentPane();
Componet c= ..;
contentPane.add(c);
在面板上绘图前提:
1.定义一个扩展于JPanel的类
2.在这个类中,覆盖paintComponent方法
eg:
class MyPanel extends JPanel{
public void paintComponent(Graphics g){
..//code for drawing will go here
}
}
只要窗口需要重绘,事件处理器就会通告组件,从而调用painComponent方法
如果需要强制重绘,就需调用repaint方法,而不是painComponent
显示文本是一种特殊的绘图,Graphics类有个drawString 方法,调用的格式为:
g.drawString(text,x,y)
eg:g.drawString(“not a hello world”,100,150);
为了确保超类完成自己那份工作,必须在绘制自己内容前调用super.paintComponent方法
import javax.swing.*;
import java.awt.*;
public class NotHelloWorld{
public static void main(String[] args){
NotHelloWorldFrame frame = new NotHelloWorldFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_CLOSE);
frame.setVisible(true);
}
}
class NotHelloWorldFrame extends JFrame{
public NotHelloWorldFrame(){
setTitle("nothelloworld");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
NotHelloWorlPanel panel = new NotHelloWorldPanel();
add(panel);
}
public static final int DEFALUT_WIDTH = 300;
public static final int DEFALUT_HEIGHT = 200;
}
class NotHelloWorldPanel extends JPane{
public void paintComponet(Grapics g);{
super.paintComponet(g);
g.drawString("not a hello world",MESSAGE_X,MESSAGE_Y);
}
public static final int MESSAGE_X = 75;
public static final int MESSAGE_Y = 100;
}
************************注释******************************
-------------javax.swing.JFrame
1.Container getContentPane()
返回该JFrame内容的窗格对象
2.void add(Component c)
将给定的组件添加到该框架的内容窗格中
--------------java.awt.component
1.repaint()
“尽可能快的”重绘组件
2.public void repaint(int x,int y,int width ,int height)
“尽可能快的”重绘组件的一部分
-------------javax.swing.JComponent
void paintComponent(Graphics g)
覆盖这个方法来描述应该如何绘制自己的组件[color=blue][/color]
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...
2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...
有了这两点,Java语言成为程序员首选的程序设计开发工具就在情理之中了。 拼图游戏是一种很流行的小游戏,记得在小时候去游戏厅玩的时候就有一台专门的拼图的机器。当时的拼图分好几层,看得人眼花缭乱。作为一个...
实例077 把异常与错误信息显示到窗体中 97 实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 ...
Tcl和与之关联的图形用户界面工具包(Tk)是由加州大学的John Ousterhout教授设计并编写的。尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。Tcl解释...
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。 例如开发一个系统最关键的部分不是系统的界面,也...