发布网友 发布时间:2024-10-24 02:42
共3个回答
热心网友 时间:2024-10-24 09:31
你没搞清楚 awt/swing的绘图机制,在你的事件监听方法里面:
Graphics g = null;
g.clearRect(50,50,30,30); //肯定会出现空指针异常(g还是空的)
g.drawOval(30,50,30,30);
然后你的Frame对象里面又有一个Frame,还有一大堆乱七八糟的Panel,用来做什么
先把你最主要的东西实现了:两个按钮,一个面板,按钮一按下-面板画出一个圆,按钮二--矩形
我说一下思路吧:
首先建议你用swing吧,没有必要用awt了,于是Frame应该为JFrame:
新建一个类继承于JPanel,覆盖里面的
paintComponent方法,这个方法是Swing的绘制管理器自动调用的(绘制管理器你不必理会),总之面板的画图都在这里面操作了,通过paintComponent(Graphics g)中的g进行操作,另外需要在g里面进行判断当前的状态,如果状态表示要画圆那么就画圆,否则就画矩形。
在按钮的监听函数里面实现:
修改面板的状态变量,根据按钮的不同赋予不同的状态(是要画圆还是要画矩形)
调用面板的repaint()方法(通知重绘管理器对面板进行重新绘制)
大约就如此了,你先把思路整理清楚了再写吧
热心网友 时间:2024-10-24 09:31
看不懂,不过你为什么建立那么多面板,JFram默认的布局就是边框布局,我感觉不用那么麻烦,再建立一个面板,然后规定他是边框布局,其他的我也不会了,呵呵……
热心网友 时间:2024-10-24 09:32
在运行里输入:
%SystemRoot%\system32\mspaint.exe
打开图画
在运行里输入:
%SystemRoot%\system32\calc.exe
打开计算器
或者新建一快捷方式,在路径里输入以上路径,以后就很方便打开了.