当前位置: 技术问答>java相关
请java图形设计的高手帮助!!(参与即送分)
来源: 互联网 发布时间:2015-02-16
本文导语: //一个继承类 public class MapContainer extends JLayeredPane{ public MapContainer(){ super(); } public void paint(Graphics g){ g.drawLine(start.x, start.y, end.x, end.y);//举例画条线 super.paint(g); } } //另一应用类 public class Link{ ...
//一个继承类
public class MapContainer extends JLayeredPane{
public MapContainer(){
super();
}
public void paint(Graphics g){
g.drawLine(start.x, start.y, end.x, end.y);//举例画条线
super.paint(g);
}
}
//另一应用类
public class Link{
public MapContainer container = null;
public LinkExample(){
container = new MapContainer();
container.add(一些组件);
}
}
//在实际应用中
info.add(new LinkExample().container);
可在每次实际调用时,在info都可以看到以往在画过的线(即在过载paint方法时,手动加入的部分),而对于super.paint(g)中执行的画面部分(象一些组件)却可以更新。
因为每次new LinkExample(),new MapContainer()都是新的实例,我实在不明白?!!
public class MapContainer extends JLayeredPane{
public MapContainer(){
super();
}
public void paint(Graphics g){
g.drawLine(start.x, start.y, end.x, end.y);//举例画条线
super.paint(g);
}
}
//另一应用类
public class Link{
public MapContainer container = null;
public LinkExample(){
container = new MapContainer();
container.add(一些组件);
}
}
//在实际应用中
info.add(new LinkExample().container);
可在每次实际调用时,在info都可以看到以往在画过的线(即在过载paint方法时,手动加入的部分),而对于super.paint(g)中执行的画面部分(象一些组件)却可以更新。
因为每次new LinkExample(),new MapContainer()都是新的实例,我实在不明白?!!
|
这是我找到的一个例子,不知道是否对你有用?
/*
* Copyright 29 Jun 2001 :), Inc. All Rights Reserved
* $Id: LinkExample.java,v 1.5 2001/06/29 09:19:27 root Exp $
* $Author hujian Beijing . China $
* $Contact : cutestfox@263.net $
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
public class LinkExample
{
public static void main(String argv[])
{
JFrame f = new JFrame("LinkExaple");
JLayeredPane container = new MapContainer();
f.getContentPane().add(container);
container.setLayout(null);
IconNode node[] = new IconNode[4];
for(int i = 0; i h ) y = h-getHeight();
if( x
/*
* Copyright 29 Jun 2001 :), Inc. All Rights Reserved
* $Id: LinkExample.java,v 1.5 2001/06/29 09:19:27 root Exp $
* $Author hujian Beijing . China $
* $Contact : cutestfox@263.net $
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
public class LinkExample
{
public static void main(String argv[])
{
JFrame f = new JFrame("LinkExaple");
JLayeredPane container = new MapContainer();
f.getContentPane().add(container);
container.setLayout(null);
IconNode node[] = new IconNode[4];
for(int i = 0; i h ) y = h-getHeight();
if( x