永发信息网

JAVA JPanel里怎么添加组件?

答案:7  悬赏:0  手机版
解决时间 2021-03-22 20:56
JAVA JPanel里怎么添加组件?
最佳答案
可以用add添加组件,然后调用JPanel的remove方法,来删除组件。
例如单击某一个组件就移除这个组件,并且添加另外的组件,下面是一个具体的例子:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class WinTest3
{
public static void main(String[] args)
{

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLayout(new FlowLayout());
JPanel panel = new JPanel();
JButton button = new JButton("change");
panel.add(button);
JTextField f = new JTextField(20);
ActionListener listener = new ChangeListener(button,panel,f);
button.addActionListener(listener);//注册监听器
frame.add(panel);
frame.setVisible(true);

}
}

class ChangeListener implements ActionListener
{
JButton button;
JPanel panel;
JTextField text;
public ChangeListener(JButton button, JPanel panel, JTextField text)
{
super();
this.button = button;
this.panel = panel;
this.text = text;
}

@Override
public void actionPerformed(ActionEvent e)
{
if("change".equals(e.getActionCommand()))
{
panel.remove(button);
panel.add(text);
panel.updateUI();
panel.repaint();
}
}

}
备注:需要特别注意的是移除和添加组件之后,记得重画组件。
全部回答
楼上说的对
p.add(b)应该放到方法或构造函数里面如
J_game { \\构造函数
p.add(b);
这样就没问题了!
楼主给分
如果用的是ECLIPSE用了附加组件儿的话,那直接拖揣就可以了啊
JPanel是中间容器,要先加载到窗体等容器后才可以向里面添加组件。必须把this.getxxx()此句代码添加放到实例JPanel的代码下一句,
示例代码:
JPanel p=new JPanel(new BoxLayout(getContentPane(),BoxLayout.Y_AXIS));
this.getContentPane.add(p,BorderLayout.CENETR);
import javax.swing.table.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
引用这几个包
在JPanel p=new JPanel(new BoxLayout(getContentPane(),BoxLayout.Y_AXIS)); 下面添一句:
this.getContentPane.add(p,BorderLayout.CENETR),而不应该把它写在p.add(b)下面,因为JPanel是中间容器,必须要先加到窗体等容器才可以向里面添加组件.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
没工作证明可以办信用卡分期买车吗
欠银行贷款65万没钱还会不会被通缉
STYLECOLORBEAUTY香港形色美妆造型连锁地址在
Most banks open until 4.30 during the week
切菜的刀板如何清洁消毒才卫生?
纳税申报需要什么材料,年终奖要交税吗?
单选题一般海藻细胞内,含K+浓度比海水高得多
清漆需要加固化剂不?
家美如画·家政我想知道这个在什么地方
支付宝里的花呗可以扫描支付么 可以用么 怎么
重力会有反作用力吗?如果有,是什么
飝龘 怎么读啊 是什么意思
西汉有多少年历史从汉高祖到儒子婴
中国历代朝衰落的原因,宋词为什么衰败
大学毕业没有技能怎么办
推荐资讯
在京东买了件衣服,是白色m码的但是我要买黑
天天炫斗为什么不出洛漓的个性时装
刘光霁医院这个地址在什么地方,我要处理点事
今天下午五点王俊凯要参加什么节目吗
左岸时光烘焙坊这个地址在什么地方,我要处理
23属什么的?
狰狞鬼魅是什么意思,怎么样能打印图片时把纸
庆祝八一建军节祝福语,船上的年三十祝福语
阅读下面的文字,完成(1)--(3)题。(25分
文言文《推敲》中表现了两人什么特点?
北京书画家高君简历
工业工程类包含哪些专业
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?