java centerpanel_Java Swing:从另一个类访问面板组件

在Java编程中,遇到一个问题:在`Main`类中创建了一个`CenterPanel`对象,并将其添加到界面,但无法直接从`Main`类访问`CenterPanel`内的按钮进行操作,如改变颜色或添加监听器。由于这些按钮属于不同的类,所以直接访问会遇到限制。要解决这个问题,可以考虑使用事件监听器或者设置公共方法来间接访问和修改组件属性。
摘要由CSDN通过智能技术生成

嗨我基本上有两节课,

一个主要的,一个只是为了分隔面板,只是为了代码可读性。

我有:

public class Main{

public static void main (String args[]) {

JFrame mainJFrame;

mainJFrame = new JFrame();

//some other code here

CenterPanel centerPanel = new CenterPanel();

centerPanel.renderPanel();

mainFrame.add(centerPanel.getGUI());

}

}

class CenterPanel{

JPanel center = new JPanel();

public void renderPanel(){

JButton enterButton = new JButton("enter");

JButton exitButton = new JButton("exit");

center.add(exitButton);

center.add(enterButton);

}

public JComponent getGUI(){

return center;

}

}

以上代码完美无缺。它呈现包含按钮的centerPanel进入和退出。我的问题是:

我仍然需要操纵main中的按钮,比如更改颜色,添加一些动作侦听器等。但是在主中无法再访问,因为从技术上讲,它们来自不同的类,因此在main中,centerPanel是另一个对象。

如何访问按钮并使用它(set,actionlisteners等)?即使他们来自另一个班级,我仍然希望在主要内部使用它?非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值