java - 在其他类中创建 JLabel 并实现到主类不出现
问题描述
我想让我的代码更清晰,并将标签从登录屏幕移动到其他类。当我在主类中实现 JLabel 时它工作正常,但是当将它移到外面时它不会出现。
public LoginPanel () {
frame = new JFrame ("Login"); // initial frame, add title
frame.setSize(500, 500); // frame size
frame.setLocation(300, 200); // set where program window should start
frame.setLayout(null); // set layout; you can use (new FlowLayout (FlowLayout.LEFT));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // closing the program by clicking X
/*
userLabel = new JLabel("enter user name label"); // create Label next to the user field
userLabel.setLocation(10, 10); // set location where label will start to appear
userLabel.setSize (userLabel.getPreferredSize()); //
frame.add(userLabel); // add userLabel to the frame
*/
CredentialsFields fields = new CredentialsFields();
frame.add(fields);
我想把 JLABEL 搬到哪里的新班级
public class CredentialsFields extends JComponent{
JLabel userLabel;
public CredentialsFields() {
super();
userLabel = new JLabel("enter user name label"); // create Label next to the user field
this.setSize (500,300);
this.setLocation(10, 10);
解决方案
尝试这个
public class CredentialsFields extends JPanel {
JLabel userLabel;
public CredentialsFields() {
super();
userLabel = new JLabel("enter user name label"); // create Label next to the user field
this.setSize (500,300);
this.setLocation(10, 10);
add(userLabel); // add the label to the current panel
}
- 对于复合组件,最好继承自
JPanel
- 您没有将标签添加到容器中
CredentialsFields
推荐阅读
- php - PHP电子表格 | 保存 XLSX 会取消隐藏每一行
- android - 如何在 Android 中使用 Paging 3 库显示空视图
- mysql - 将存储在 mysql LONGTEXT 字段上的 HTML 文本转换为可读值?
- angular - 多数组中的Angular ngFor
- javascript - Puppeteer - 以正确的格式从表中抓取数据
- python-3.x - 在 Databricks 笔记本中使用 Python 从列中获取最大值
- python - Picamera 无法使用 Raspberry Pi 进行人脸识别
- c++ - 从 cmd.exe (CreatProcess) 输出命令时,我得到“更多?” 为什么以及如何摆脱它?
- reactjs - 单选按钮未根据 React 中 Select 选项的更改正确更新
- python - FixedFormatter_shoul_only_be_used_together_with_FixedLocator:如何在 matplotlib 中处理这个警告?