当前位置: 首页 > 面试题库 >

Java Swing:访问另一个类的面板组件

谷梁镜
2023-03-14
问题内容

嗨,我基本上有两个类,一个主类和一个单独的面板,仅用于代码可读性。

我有 :

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。我的问题是:

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

如何访问和使用按钮(设置,动作监听器等)?即使他们来自另一个班级并且我仍然希望在主要课程中使用它?非常感谢!


问题答案:

使按钮成员 CenterPanel

class CenterPanel{
    JPanel center = new JPanel();

    JButton enterButton;
    JButton exitButton;

    public void renderPanel(){
        enterButton = new JButton("enter");
        exitButton = new JButton("exit");
        center.add(exitButton);
        center.add(enterButton);
    }

    public JButton getEnterButton()
    {
       return enterButton;
    }

    public JButton getExitButton()
    {
       return exitButton;
    }

    public JComponent getGUI(){
        return center;
    }
}


 类似资料:
  • 问题内容: 我是Java的新手,但是碰到了砖墙。我想从另一个类访问GUI组件(已在一个类中创建)。我正在从一个类创建一个新的GUI类,就像这样; 并且我可以访问该类中的组件,但是当我去另一个类时,我不能。我真的只需要访问即可更新其内容。有人可以向我指出正确的方向,任何帮助将不胜感激。 类: 问题答案: 首先要尊重封装规则。做你的领域。接下来,您需要输入需要访问的字段。 然后,您需要将GUI传递给访

  • 我是爪哇的新手,遇到了困难。我想从另一个类访问GUI组件(在一个类中创建)。我正在从一个类创建一个新的GUI类,就像这样; 我可以访问该类中的组件,但当我转到其他类时,我无法访问。我真的需要访问来更新它们的内容。有人能给我指一下正确的方向吗?非常感谢您的帮助。 类:

  • 我是一名Java程序员初学者。我试图在类交通中访问类车中的两个列表,这样我就可以执行while循环,循环直到主类中的列表为空 这就是我现在掌握的代码,我试着从普通车上扩展流量,但没有成功,我被卡住了。我该怎么解决这个问题?

  • 问题内容: 如何在用户类中打开数据库连接,我可以在其中进行数据库操作?以及为什么需要在DBConnection类中定义内置的已创建函数。 我创造了 db.php user.php result.php 在db.php中 在User.php中 在result.php $conn->real_escape_string(trim(strip_tags($_POST[‘username’]))); $e

  • 问题内容: 您好我是Java的初学者,这是我的问题:我有带有以下变量的第一堂课: 我也有这堂课: 我的问题是:我想将number1和number2变量存储到ArrayList中,然后从类test中访问此ArrayList。我怎样才能做到这一点? 问题答案: 和测试类: