gpt4 book ai didi

java - 将 Jlabel 添加到扩展类的面板中

转载 作者:行者123 更新时间:2023-12-01 13:11:21 25 4
gpt4 key购买 nike

我有一个默认窗口及其构造函数,并且知道我希望所有窗口如何设置。然后我想用各自的界面自定义其余的窗口。

import javax.swing.*;
import java.awt.*;

public class Default_window extends JFrame {

protected BorderLayout layout = new BorderLayout();

public Default_window(){
setTitle("My Program");
setLayout(layout);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Dimension Window_size = new Dimension(500,500);

JPanel mypanel= new JPanel();

add(mypanel, BorderLayout.CENTER);

getContentPane();
setResizable(false);
setSize(Window_size);
setVisible(true);

}

}

这是我尝试创建的自定义屏幕:

import javax.swing.*;


public class Login_screen extends Default_window{
JLabel user_name = new JLabel("Username: ");

public Login_screen(){
// insert way to add Jlabels to the panel here.

}


}

但我不能只说 add(user_name)。它不知道该把它放在哪里。任何帮助将不胜感激。我是一名刚毕业的大学毕业生,我周围没有人对编程一无所知。 #forever_alone

最佳答案

Default_window正在扩展JFrame ,这是一个顶级容器。您必须将组件添加到 JPanel您将其命名为 mypanel .

尝试创建一个扩展 JPanel 的第三个类,例如Default_panel并在那里添加您的组件。让Login_screen延长Default_panel ,然后您就可以调用 add(...) .

继承与创建相当复杂的面板可能非常困难,特别是如果您想要很大的灵 active (将插件组件放置在默认组件之间的任何位置)。因此,我建议创建一些 GUI 构建器类,它负责收集所有组件约束,并且当每个组件都已“注册”时,它可以创建 JPanelLayoutManager你的选择。

如果你可以避免使用可插拔的 GUI,那就避免它。

关于java - 将 Jlabel 添加到扩展类的面板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22840602/

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