JTextFields 没有出现,但它们仍然存在。 (第一个是“bugily”可见的)
Posted
技术标签:
【中文标题】JTextFields 没有出现,但它们仍然存在。 (第一个是“bugily”可见的)【英文标题】:JTextFields don't show up, but they're still there. (the first one is "bugily" visible) 【发布时间】:2015-01-04 10:14:20 【问题描述】:它在一小时前工作,但我一定对代码做了什么,我不知道是什么。我的JTextField
s 没有出现,但如果我将它们设置为可编辑,它们仍然存在。第一个JTextField
确实出现了,但看起来很奇怪。有什么想法有什么问题吗? (我称我的JTextField
s 为“Square”)。大小 = 10
package gui;
import javax.swing.*;
import engine.GameEngine;
import java.awt.*;
import java.util.*;
public class MineFieldGUI extends JFrame
private GameEngine engine;
Square[][] field;
int size = 10;
public MineFieldGUI(GameEngine minefield)
super("MineField");
this.engine = minefield;
this.size = minefield.getSize();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setSize(300, 350);
Locale.setDefault(new Locale("en"));
setLayout(new BorderLayout());
JMenuBar menubar = new JMenuBar();
setJMenuBar(menubar);
JMenu helpMenu = new JMenu("Help");
menubar.add(helpMenu);
helpMenu.add(new HelpMenu(this));
//***THE MINE-FIELD***
JPanel panel = new JPanel(new GridLayout(size,size));
field = new Square[size][size];
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
field[i][j] = new Square(i, j);
panel.add(field[i][j]);
add(panel, BorderLayout.CENTER);
setVisible(true);
public void setColor(int x, int y)
field[x][y].setBackground(Color.lightGray);
public void setText(int x, int y, String text)
field[x][y].setText(text);
public String getText(int x, int y)
return field[x][y].getText();
我的文本字段:
package gui;
import java.awt.Color;
import javax.swing.JTextField;
public class Square extends JTextField
int posX;
int posY;
public Square(int x, int y)
super("");
posX = x;
posY = y;
this.setEditable(false);
this.setBackground(Color.lightGray);
public int getX()
return posX;
public int getY()
return posY;
【问题讨论】:
【参考方案1】:删除布局管理器用来定位Square
组件的方法getX
和getY
。这将使布局管理器正确定位按钮。
【讨论】:
谢谢!那成功了!但为什么?这些方法是如何导致问题的? 你在覆盖这些方法 - 布局管理器然后使用它们来定位组件... 你确定?我只是自己添加的。不知道我覆盖了任何东西 是的,只需尝试添加@Override
注释。请参阅文档 here 和 here以上是关于JTextFields 没有出现,但它们仍然存在。 (第一个是“bugily”可见的)的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 出现 DROP USER;但用户仍然存在于 mysql.users 表中
JTextFields 在 JPanel 上的活动绘图之上,线程问题
没有告诉 Protobuf 网络序列化 System.Object 但仍然出现错误:没有为类型定义序列化程序:System.Object