public void start_Gui() {
JFrame window = new JFrame("Client Program");
window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
window.setContentPane(panel);
panel.setLayout(new GridLayout(1,2));
JLabel leftside = new JLabel();
leftside.setLayout(new GridLayout(2, 1));
JTextArea rightside = new JTextArea();
rightside.setEditable(false); //add scroll pane.
rightside.setBorder(BorderFactory.createLineBorder(Color.BLACK));
rightside.setLayout(new FlowLayout());
JTextArea client_text_input = new JTextArea();
client_text_input.setBorder(BorderFactory.createLineBorder(Color.BLACK));
leftside.add(client_text_input);
JLabel buttons_layer = new JLabel();
JButton login = new JButton("Login");
JButton logout = new JButton("Logout");
buttons_layer.setBorder(BorderFactory.createLineBorder(Color.BLACK));
buttons_layer.setLayout(new GridLayout(2, 1));
buttons_layer.add(login);
buttons_layer.add(logout);
leftside.add(buttons_layer);
panel.add(leftside);
panel.add(rightside);
window.setSize(300, 400);
window.setResizable(false);
window.setVisible(true);
}
我正在研究一个简单的Java聊天客户端gui应用程序。 (服务器等,是由其他人完成的)。
这不是一个很大的项目,但是我唯一的问题是,无论如何尝试调整上述GUI上任何组件的大小,都将无法正常工作。
例如:
JTextArea client_text_input = new JTextArea();
client_text_input.setSize(100,200);
不行
谢谢您的帮助。
最佳答案
在Swing中,您有两个布局选项:手动完成所有操作或让LayoutManager
为您处理。
仅当您不使用setSize()
时,才可以调用LayoutManager
。由于您使用的是GridLayout
,因此您必须使用其他方式来指定所需的内容。
尝试调用 setPreferredSize()
和 setMinimumSize()
。