我正在使用GUI,因此我决定要构建没有布局的GUI。相反,我使用的是setBounds()函数。当我只放置一个按钮时,一切正常,但是当我放置另一个按钮时,他正在扩展并填充了孔屏幕。我仍然可以单击TextField,但看不到它(当我单击某个位置时它显示)。这是我的代码:
//Graphical part
private JFrame loginFrame;
private JTextField userField;
private JButton send;
private JButton reg;
private JTextField passField;
public void graphics() {
setRegister();
int sizeX=120,sizeY=20,bSizeX=80,bSizeY=sizeY;
int locationX=80,locationY=40;
loginFrame=new JFrame("Login");
loginFrame.setVisible(true);
loginFrame.setSize(300,200);
userField=new JTextField("");
passField=new JTextField("");
loginFrame.add(userField);
loginFrame.add(passField);
userField.setBounds(locationX, locationY, sizeX, sizeY);
passField.setBounds(locationX, locationY+10+sizeY, sizeX, sizeY);
send=new JButton("Send");
send.addActionListener(this);
loginFrame.add(send);
send.setBounds(locationX+40,10+2*(locationY+10), bSizeX, bSizeY);
reg=new JButton("Register");
reg.setBounds(0, 0, bSizeX, bSizeY);
loginFrame.add(reg);
//reg.addActionListener(this);
}
最佳答案
默认情况下,JFrames具有BorderLayout作为布局管理器,因此您的代码确实使用它。如果要在没有布局的情况下测试代码,则需要将其指定为null:
loginFrame.setLayout(null);