关于java中如何取得控件类型和名称的问题...

我写了一段java程序:buttonpanel.setLayout(newGridLayout(1,6));for(intx=0;x<6;x++){buttonpanel... 我写了一段java程序:
buttonpanel.setLayout(new GridLayout(1,6));
for(int x = 0;x<6;x++){
buttonpanel.add(new JButton(button[x]));}
这样建立了六个button,button[x]是一个存放button名称的数组
但是建立了这六个button后,我不会改它们的字体和颜色这些属性了,用button[x]当然是不行的了,设置容器的属性又被button组都给覆盖了
所以怎样都看不到button的效果
所以我想编写一个取得button类型或者名称的函数
请各位帮帮忙
展开
 我来答
qun454
推荐于2016-02-02 · 超过34用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:0
展开全部
使用JPanel.getComponents()方法,可以JPanel上的组件的数组,然后再对组件操作就可以了,运行如下程序会看到效果。
import java.awt.*;
import javax.swing.*;
public class GetComponentsTest extends JFrame {
private Container buttonpanel;
public GetComponentsTest() {
super("GetcomponetsTest");
String[] button = { "按钮A", "按钮B", "按钮C", "按钮D", "按钮E", "按钮F" };
buttonpanel = getContentPane();
buttonpanel.setLayout(new GridLayout(1, 6));
for (int x = 0; x < 6; x++) {
buttonpanel.add(new JButton(button[x]));
}
setSize(640, 60);
setVisible(true);
}
public static void main(String[] args) {
GetComponentsTest test = new GetComponentsTest();
Component[] com = test.getContentPane().getComponents();
for(int i=0;i<6;i++){
((JButton)com[i]).setFont(new Font("隶书",Font.ITALIC,20 ));
((JButton)com[i]).setForeground(Color.RED);
}
}
}
百度网友c1aadca65
2008-05-04 · 超过27用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:82.9万
展开全部
你把六个JButton的引用保留下来,而不要buttonpanel.add(new JButton(button[x]));

你事先new好6个JButton,引用放到数组或者任何集合里,之后拿到引用就可以改了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式