java图形中如何无面板直接显示JComponent图形

问题描述

java图形中如何无面板直接显示JComponent图形

如题,自己编写一个继承自JComponent的类并重写了paint()方法,但是直接初始化这个类无法显示图形,只有初始化一个面板(JFrame,Frame)再在面板上add这个组件才能显示
但JFrame,Frame自己就是继承自组件类(Component,JComponent),为何面板一经初始化就能显示,而我写的包括一些
基础库里继承自JComponent的类,如JButton,JPanel啊,都没办法直接初始化显示呢。
代码如下:

class JFrameDemo extends JFrame()
{

public static void main(String[] args)
{
JFrameDemo a=new JFrameDemo()
a.setVisible(true);
a.setSize(300,300);
}

}

//可以显示一个300,300的面板。

class JComponentDemo extends JComponent
{
public void paint(Graphics g)
{
g.setColor(Color.RED);
g.fillRect(0, 0, 300, 300);
}
public static void main(String[] args)
{
JComponentDemo b=new JComponentDemo()
b.setSize(300,300);
b,setVisible(true);
}

}
//什么都没有,甚至连个java进程都没有启动,JFrame也是继承自JComponent,它怎么启动paint的进程的呢。

解决方案

以前看过一些,不过忘记了。不过JFrame是继承自Window的。

解决方案二:

matlab直接保存图形而不显示图形

时间: 2024-08-03 12:28:18

java图形中如何无面板直接显示JComponent图形的相关文章

java swing中怎么让面板的背景图片缩放

问题描述 java swing中怎么让面板的背景图片缩放 public void paintComponent(Graphics g){ Graphics2D g2 = (Graphics2D) g; super.paintComponent(g2); //背景图片 int x=0,y=0; java.net.URL imgURL=getClass().getResource("t0156b516cea6edd501.jpg"); ImageIcon icon=new ImageIco

java swing中如何将自己画出的图形进行旋转操作

问题描述 java swing中如何将自己画出的图形进行旋转操作 就是我自己用java swing画了一个坦克,但是不知道如何在方向键按下去以后能将它进行旋转换方向,跪求各位大神指教,,谢谢啦 解决方案 我当时做的是按下方向键时调整炮筒的位置就行了,,我是用一个矩形加一条直线做的坦克 解决方案二: java 图形旋转操作

jsp中调用Java文件中的方法,status显示200通了,但是一直打不出日志,也查不出数据,求帮助

问题描述 下面是Java文件:packagecom.xsm.home.screen.onlinepay;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;i

Word2007怎样在自选图形中添加文字

使用Word2007文档提供的自选图形不仅可以绘制各种图形,还可以向自选图形中添加文字,从而将自选图形作为特殊的文本框使用.并不是所有的自选图形都可以添加文字,只有在除了"线条"以外的"基本形状"."箭头总汇"."流程图"."标注"."星与旗帜"等自选图形类型中才可以添加文字.在Word2007自选图形中添加文字的步骤如下所述: 步骤/方法 第1步,打开Word2007文档窗口, 右键单

窗口-新手求助:C#中 如何将form1中picture box1的图片放大 透明 无边框的显示到form2中...

问题描述 新手求助:C#中 如何将form1中picture box1的图片放大 透明 无边框的显示到form2中... 如题,,新手,还请尽可能详细点,,用C#处理图形 和多窗口 还是第一次..

java编程中我想用显示密码把密码显示出来了然而登录却有错 求解 急用 (我想了一天实在没法了)

问题描述 java编程中我想用显示密码把密码显示出来了然而登录却有错 求解 急用 (我想了一天实在没法了) import javax.swing.*; import java.awt.*; import java.awt.event.*; public class weixin extends JFrame implements ActionListener { JPanel panmain; //面板 JLabel lblname,lblpassword,lblphoto; //标签 JLab

java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示

问题描述 java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示 java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示 解决方案 你把jar拷过来放在lib下,再add build path 解决方案二: 你是不是设置过滤器了,jar包都不显示啊 解决方案三: java project的jar包并非在lib中,而是在这个jre system library里面,引用外部包的话是右键点击他.....................(具体步骤省略,,) 解决

操作-【急】问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴

问题描述 [急]问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴 我是计科专业在做毕业设计没接触过java,做一个在线答疑系统,在csdn上下了一个jsp+struts2+spring的感觉比较全的系统,下载地址为http://download.csdn.net/detail/hmshust/6950301,该文是0积分的,下载的如图![图片说明](http://img.ask.csdn.net/upload/201505/07/1431008698_8

java 中何使面板中的背景图片随面面变大变而改变

问题描述 请问各位java高手java中何使面板中的背景图片随面面变大变而改变???在此我表示感谢! 解决方案 解决方案二:一般的解决方法是在背景图片的属性里找到Anchor的属性,将里面的四个都选上就可以了.解决方案三:大哥,能不能给我讲具体点呀?我是新手,有些东西不那么明白!