用NetBeans编写界面画图程序的问题,望指教

问题描述

我想用NetBeans编写界面画图程序,用户可在文本框中输入参数,点画图按钮后,程序会根据参数在面板上绘制矩形。绘图一般是在自定义的JPanel的派生类中重载paintComponent(Graphicscomp)函数,可按钮和文本框在框架上而不在这个面板上,想请教高手:1怎样将用户输入的参数传给这个函数?2怎样把这个面板的类型改为我定义的派生类名,而不是从组件面板中拖动过来后默认的JPanel类

解决方案

解决方案二:
如果你要自定义JPanel的派生类中重载paintComponent(Graphicscomp)函数,就不可以直接定义paintComponent(Graphicscomp,intx,inty)之类的函数;因为这样就不可以重载了;所以这里我是在JPanel的派生类MyPanel中定义属性intx;inty;intwidth;inthieght;利用属性的get和set的方法来实现参数的传递;具体程序:MyPanel类:importjava.awt.*;importjavax.swing.*;publicclassMyPanelextendsJPanel{privateintx;privateinty;privateintheight;privateintwidth;publicMyPanel(intx,inty,intwidth,intheight){this.x=x;this.y=y;this.width=width;this.height=height;}publicvoidsetheigth(intheigth){this.height=heigth;}publicvoidsetwidth(intwidth){this.width=width;}publicvoidsetx(intx){this.x=x;}publicvoidsety(inty){this.y=y;}publicintgetx(){returnthis.x;}publicintgety(){returnthis.y;}publicintgetheight(){returnheight;}publicintgetwidth(){returnwidth;}@OverrideprotectedvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawRect(x,y,width,height);//g.drawr}}
解决方案三:
实现窗体:importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassRectJFrameextendsjavax.swing.JFrame{publicRectJFrame(){initComponents();jp=newMyPanel(0,0,0,0);jPanel1.add(jp);}@SuppressWarnings("unchecked")//<editor-folddefaultstate="collapsed"desc="GeneratedCode">//////////////////因为字数太多啦唯有把设计窗体的函数删了privatevoidinitComponents(){}privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){//TODOaddyourhandlingcodehere://repaint();Graphicsg=jPanel1.getGraphics();jp.setx(Integer.parseInt(jTextField1.getText()));jp.sety(Integer.parseInt(jTextField2.getText()));jp.setwidth(Integer.parseInt(jTextField3.getText()));jp.setheigth(Integer.parseInt(jTextField4.getText()));System.out.println(jp.getx()+""+jp.gety()+""+jp.getwidth()+""+jp.getheight());jp.paintComponent(g);}privatevoidjTextField1ActionPerformed(java.awt.event.ActionEventevt){//TODOaddyourhandlingcodehere:}/***@paramargsthecommandlinearguments*/publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newRectJFrame().setVisible(true);}});}//Variablesdeclaration-donotmodifyprivatejavax.swing.JButtonjButton1;privatejavax.swing.JLabeljLabel1;privatejavax.swing.JLabeljLabel2;privatejavax.swing.JLabeljLabel3;privatejavax.swing.JLabeljLabel4;privatejavax.swing.JPaneljPanel1;privatejavax.swing.JTextFieldjTextField1;privatejavax.swing.JTextFieldjTextField2;privatejavax.swing.JTextFieldjTextField3;privatejavax.swing.JTextFieldjTextField4;//EndofvariablesdeclarationprivateMyPaneljp;}

时间: 2024-12-02 14:44:47

用NetBeans编写界面画图程序的问题,望指教的相关文章

c#-用C#编写网络画图程序 程序代码也可以 谢谢!

问题描述 用C#编写网络画图程序 程序代码也可以 谢谢! 设计要求:(1)采用C/S模式,每个用户拥有一个帐号和密码,成功登录后在客户端上实现画图,画图文件由用户选择保存在服务器或者客户端.(2)用户可以查看服务器及客户端上文件夹里的画图文件.(3)服务器可以同时服务多个画图用户.(4)画图程序具备以下功能:①绘制直线.椭圆.圆弧.矩形.多边形及草稿线.②设置绘制图形的颜色及线条粗细.③能够对封闭图形进行填充.④读入及保存绘制图形. 解决方案 http://www.cnblogs.com/stg

在VC6中编写可在XP中显示XP风格界面的程序

在VC6中编写可在XP中显示XP风格界面的程序方法一: 1.插入自定义资源(Custom),将资源类型(Resource Type)设为"24". 2.将资源ID"IDR_DEFAULT1" 改为"1". 3.将下列文本复制到该资源的十六进制编辑器中. <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <as

qtcreator-使用VS下空项目编写的socket程序能否与使用Qt编写的界面直接连接到一起?

问题描述 使用VS下空项目编写的socket程序能否与使用Qt编写的界面直接连接到一起? 使用VS下空项目编写的socket程序能否与使用Qt编写的界面直接连接到一起?

使用JAVA编写一个聊天程序,要求有图形界面,还有就是要显示联系人,后天就要交作业了,求大神!

问题描述 JAVA编写,聊天程序,有图形界面,还有界面显示联系人,类似于QQ的,但是极简的就行,求大神帮助啊,我后天就要交了,谢谢大神!!!!! 解决方案 解决方案二:网上有源代码--解决方案三:哪里有,我怎么没有找到,帮忙找一下!解决方案四:引用1楼u013335717的回复: 网上有源代码-- 哪里有,我怎么没有找到,帮忙找一下!解决方案五:上大学的时候写过好像还在U盘里趴着呢

关于使用vs2015编写mfc应用程序的问题

问题描述 关于使用vs2015编写mfc应用程序的问题 解决方案 最简单的,并且不需要考虑图像格式的办法,打开画图,打开图片,然后全选复制,在你的这个界面上粘贴,就搞定了. 解决方案二: 添加资源,右击,导入图片. 解决方案三: 如何添加现有的图片? 解决方案四: 添加资源,然后资源中选择你对应的图片,程序中就可以使用对应的资源ID来调用

Windows画图程序假死的原因

尽管当前能后期编辑图片的软件很多,但笔者粘贴屏幕抓图.将BMP文件另存为JPG格式时,还是喜欢 使用Windows自带的画图程序.不过,在使用画图程序却遇到了奇怪的问题:当想保存图片时,只要指定 保存位置和文件名后点击"保存"按钮就会出现画图程序无响应,只能强制结束进程,因此造 成画图程序无法正常工作! 这是怎么回事呢?笔者还真头一次遇到,于是"搜畅刮肚"的来寻找画图程序"假死 "的真正原因-- 尝试一:莫非"画布"太大? 具

win7系统画图程序背景怎么设为透明

win7系统画图程序背景怎么设为透明 1.打开图画软件,进入工作界面; 2.选好红色,再按住shift键,画一个标准的圆形; 3.用选择工具将它选中后,在编辑菜单按复制(或者按ctrl+C); 4.再在编辑菜单按粘贴或按ctrl+v粘贴一个圆形; 5.将复制的圆形用移动工具,移到下面和第一个圆相交; 6.发现第二个圆将第一个圆遮住了一部分,很不美观; 7.我们只要选择下面第二个透明模式,就可以解决这个问题.

Win7画图程序巧应用 浏览图片多用途

浏览图片,我们可能更多的使用Windows默认的浏览方式,或者是第三方的比如Google Picasa,或者美图看看等这样的软件实现图片的浏览播放.但除了这些,是否有朋友会记得Win7画图程序呢?她不仅仅是一个只能画图的工具,当然也可以浏览图片,甚至也能实现一些意想不到的效果,所以接下来我们就来看看Win7的画图程序在图片浏览方面还能怎么做? 很多人甚至已经遗忘了Win7画图程序在哪里,不妨再多啰嗦几句.相比于XP等老系统,Win7的画图工具还是改进了不少,比如类菜单似于Office 的Ribb

Win8打开系统自带画图程序的操作办法

  1.Metro 界面按键盘的"F3"热键,并键入"画图"回车搜索,然后点击选择"画图".如下图所示: 2.使用组合热键"Win+R"调出运行窗口,输入"mspaint",确定后打开"画图"程序. 3.在 Metro 界面,然后单击鼠标右键,点击屏幕下方出现的"所有程序",在"所有程序"界面,找到 Windows 附件里的"画图&quo