gpt4 book ai didi

java - 以不同的方法设置对象

转载 作者:行者123 更新时间:2023-12-02 13:11:16 24 4
gpt4 key购买 nike

您好,我需要有关此代码的帮助。
我真的需要帮助...

    package Window;
import java.awt.Color;
import javax.swing.*;
public class Window
{
public static void build()
{
//Create Elements
JFrame frame = new JFrame();
JButton send = new JButton();
JTextArea dialog = new JTextArea();
JTextArea input = new JTextArea();
JScrollPane scroll=new JScrollPane(
dialog,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER
);
send.setLocation(505,520);
send.setSize(80,20);
send.setBackground(Color.green);
send.setText("Send");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(590, 600);
frame.setTitle("Bot");
frame.setLayout(null);
frame.setResizable(false);
frame.setBackground(Color.green);
dialog.setLocation(5, 5);
dialog.setSize(575,510);
input.setLocation(15, 520);
input.setSize(490,25);
frame.add(send);
frame.add(dialog);
frame.add(input);
frame.add(scroll);
}
void show()
{
frame.setVisible(true);
}
}

我希望能够通过单独的方法将框架设置为可见。
但找不到框架对象。

有什么办法可以解决这个问题吗?

最佳答案

您需要让 show() 方法知道要设置哪些内容可见。

现在,您仅为 build() 方法的范围定义 JFrame 变量(因此无法从其他方法直接访问它)。

如果这是您的 GUI 类,您可以将 JFrame 设为类变量。像这样:

public class Window {
JFrame frame = new JFrame();
.
.

或者您可以定义它并在 build() 方法中创建实际的 JFrame:

public class Window {
JFrame frame;

public static void build(){
frame = new JFrame();
.
.

现在您将能够在 show() 方法中访问 frame 变量。例如,如果您想在不同的类方法中访问它,您只需将 frame 对象作为参数传递即可。像这样: objectOfDifferentClass.myMethod(frame); 此类中的方法定义为 myMethod(JFrame frame){...}

You can read more about variable scopes here.

关于java - 以不同的方法设置对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43943705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com