以下代码片段允许我使用BorderLayout Manager在JPanel上放置JTextfield和2个JButton.
JPanel strPanel = new ButtonPanel();
strPanel.setLayout(new BorderLayout());
setBorder( new EmptyBorder( 3, 3, 3, 3 ) );
strfield = new JTextField("",70);
strPanel.add("West", strfield);
strPanel.add("Center", btnCopy);
strPanel.add("East", btnPaste);
add("North", strPanel);
Run Code Online (Sandbox Code Playgroud)
这是一个截图

然而,踢球者是当我调整JFrame的大小时,"复制"按钮被放大但我希望放大JTextField,而复制和粘贴按钮保持相同的大小.这是一个更新的截图:

为了尝试修复它,我下载了NetBeans等,并使用GUI设计器进行了游戏,但即使使用不同的布局管理器,我也无法解决它.
有人可以解释一下吗?谢谢
我使用.toString来返回对象的字符串表示,即
jcb.engineMove(move.toString());
Run Code Online (Sandbox Code Playgroud)
将产生e2e4.
我想要做的是将此对象(e2e4)的文本提取为字符串.在谷歌搜索后,我遇到了覆盖toString方法,所以我想出了这个:
@Override
public String toString() {
String s = "";
int newRank = getRank();
int newFile = getFile();
final Move move = new Move(rank, file, newRank, newFile);
s+="" + move;
return s;
}
Run Code Online (Sandbox Code Playgroud)
我的问题很基本: