Tôi đang tạo một JFrame
và tôi gọi phương thức setSize(500, 500)
. Bây giờ hành vi mong muốn là JFrame không nên được thay đổi kích cỡ bởi người dùng trong bất kỳ điều kiện nào. Hoặc bằng cách tối đa hóa hoặc bằng cách kéo các đường viền. Nó phải là 500x500. Tôi làm nó như thế nào? Tôi cũng đã đính kèm mã trong trường hợp bạn có thể hướng dẫn tôi tốt hơn.JFrame: Cách tắt kích thước cửa sổ?
package com.techpapa;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MainWindow extends JFrame{
private JTextField
write;
private JRadioButton
rb1,
rb2,
rb3;
private ButtonGroup
bg;
private ActionListener al = new ActionListener(){
public void actionPerformed(ActionEvent e){
write.setText("JRadioButton : " + ((JRadioButton)e.getSource()).getText());
}
};
public MainWindow(){
//Frame Initialization
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
setTitle(".:JRadioButton:.");
setVisible(true);
//Components Initialization
write = new JTextField(20);
write.setEditable(false);
rb1 = new JRadioButton("Male", false);
rb1.addActionListener(al);
rb2 = new JRadioButton("Female", false);
rb2.addActionListener(al);
rb3 = new JRadioButton("I don't want to specify", true);
rb3.addActionListener(al);
bg = new ButtonGroup();
//Add radio buttons to buttongroup
bg.add(rb1); bg.add(rb2); bg.add(rb3);
//Add to window
add(write);
write.setBounds(140, 100, 150, 20);
write.setDragEnabled(true);
add(rb1);
rb1.setBounds(180, 200, 100, 30);
add(rb2);
rb2.setBounds(180, 225, 100, 30);
add(rb3);
rb3.setBounds(180, 250, 130, 30);
}
public static void main(String[] args) {
new MainWindow();
}
}
xin vui lòng tại sao 1. setBound(), 2. non_resizeable 3. setVisible (true) ; phải là dòng mã cuối cùng trong contructor – mKorbel
Bạn đã nghĩ đến việc sử dụng [** LayoutManager **] (http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)? Bởi vì nó rất cần thiết với Swing, nó cũng không phải là khó để tìm hiểu, có thể mất thời gian đó khi bạn tự thiết lập vị trí của mỗi thành phần. – Azad