java绘制基本图形出现的问题

publicclassCookiePanelextendsJPanel{publicvoidpaint(Graphicsg){Colorc=newColor(178,34... public class CookiePanel extends JPanel {
public void paint(Graphics g)
{
Color c=new Color(178,34,34);
Graphics2D g_2D=(Graphics2D)g;
g_2D.setColor(c);
g_2D.setStroke(new BasicStroke(5));
RoundRectangle2D arc=new RoundRectangle2D.Double(3, 2, 775, 485, 10,10);
g_2D.draw(arc);

}
public CookiePanel()
{
JButton test=new JButton("111");
test.setBounds(0, 0, 200, 200);

}

}
这段代码我想要让paint()先画出一个圆角矩形框,然后在矩形框里添加按钮,但是实现的结果却是鼠标移到按钮设置的位置,按钮才会显现出来,希望可以使按钮一直存在
展开
 我来答
匿名用户
2014-12-23
展开全部
已修改,复制粘贴即可

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ToolBarDemo2
{
static class CookiePanel extends JPanel
{
private static final long serialVersionUID = 1L;

public CookiePanel ()
{
JButton test = new JButton ("111");
test.setBounds (0, 0, 200, 200);
add (test);
}

public void paint ( Graphics g )
{
super.paint (g);
Color c = new Color (178, 34, 34);
Graphics2D g_2D = (Graphics2D) g;
g_2D.setColor (c);
g_2D.setStroke (new BasicStroke (5));
RoundRectangle2D arc = new RoundRectangle2D.Double (3, 2, 775, 485, 10, 10);
g_2D.draw (arc);
g_2D.dispose ();
}
}

public static void main ( String[] args )
{
JFrame frame = new JFrame ();
frame.add (new CookiePanel ());
frame.setSize (400, 300);
frame.setLocationRelativeTo (null);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setVisible (true);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式