java按钮动作

编一个程序实现点击按钮“a",面板上显示aaaaaaa,点击b,面板上显示bbbbbbb,下面是我编的代码,但是点击按钮后什么都显示不出来,请各位看一看,指点一下,并说明... 编一个程序实现点击按钮“a",面板上显示aaaaaaa,点击b,面板上显示bbbbbbb,下面是我编的代码,但是点击按钮后什么都显示不出来,请各位看一看,指点一下,并说明为什么我编的程序错在哪里?

package testbutton;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import javax.swing.*;
public class button {
public static void main(String[] args)
{
bframe frame=new bframe();
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class bframe extends JFrame
{
public bframe()
{
setTitle("buttontest");
setSize(300,200);
bpanel=new JPanel();
Action a=new word("a","aaaaaaa");
Action b=new word("b","bbbbbbb");
bpanel.add(new JButton(a));
bpanel.add(new JButton(b));
add(bpanel);
ActionMap amap=bpanel.getActionMap();
amap.put("panel.a", a);
amap.put("panel.b", b);
}
public void addc(String n)
{
pr p=new pr(n);
add(p);
}
public class word extends AbstractAction
{
public word(String s,String n)
{
putValue(Action.NAME,s);
putValue("string",n);
}
public void actionPerformed(ActionEvent event)
{
String n=(String) getValue("string");
addc(n);

}
}
private JPanel bpanel;
}
class pr extends JComponent
{
public pr(String s)
{
string=s;

}
public void paintComponent(Graphics g)
{
g.drawString(string, 100, 100);
}
private String string;
}
展开
 我来答
百度网友4aff6a3
2012-07-22 · TA获得超过580个赞
知道答主
回答量:207
采纳率:0%
帮助的人:64.3万
展开全部
public void addc(String n)
{
pr p=new pr(n);
add(p);
}

这一步add进 加了个自定义的Jcompont 但没有setvisible啊 即使是setvisivle了 但是你没有定义你的compont的样子,比如大小,颜色等 所以也看不见

Frame有个append 方法 直接把string打印 出来 具体百度和看api
423669923
2012-07-22
知道答主
回答量:14
采纳率:0%
帮助的人:7.1万
展开全部
class pr extends JComponent
{
public pr(String s)
{
string=s;

}
这就是你的JComponent,运行后单击按钮没有显示,你不觉得这个类太简单了吗!
追问
这个类是
class pr extends JComponent
{
public pr(String s)
{
string=s;

}
public void paintComponent(Graphics g)
{
g.drawString(string, 100, 100);
}
private String string;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
forever_cy_07
2012-07-22 · 超过35用户采纳过TA的回答
知道答主
回答量:290
采纳率:0%
帮助的人:115万
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式