我做了一个简单的Java的Swing 界面,可是我在每一个JPanel 容器中添加上控件之后,控件的大小却是不能控制,请问有什么方法可以调整吗?
- Java code
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; public class ListCustomTypeFile extends JFrame { private JPanel contentPane = new JPanel(new GridLayout(3,1)); private JLabel URILabel = new JLabel(); private JButton chooserButton = new JButton("选择文件夹"); private JLabel messLabel = new JLabel("载入指定文件扩展名称"); private JTextField nameTextFile = new JTextField(); private JScrollPane scroolPane = new JScrollPane(); private JTable table =new JTable(); private DefaultTableModel tableModel = new DefaultTableModel(); public ListCustomTypeFile() { this.setTitle("显示指定类型的文件"); this.setVisible(true); this.setLocationRelativeTo(null); this.setSize(650, 550); this.setContentPane(contentPane); contentPane.setBorder(new EmptyBorder(5,5,5,5)); JPanel panel1 = new JPanel(new GridLayout(1,2)); panel1.add(chooserButton); panel1.add(URILabel); contentPane.add(panel1); JPanel panel2 = new JPanel(new GridLayout(1,2)); panel2.add(messLabel); panel2.add(nameTextFile); contentPane.add(panel2); JPanel panel3 = new JPanel(new BorderLayout()); panel2.add(scroolPane,BorderLayout.CENTER); scroolPane.setViewportView(table); } public static void main(String[] args) { // TODO Auto-generated method stub new ListCustomTypeFile(); }
------解决方案--------------------------------------------------------
你把控件加入某个容器的时候,此容器使用了默认的布局,也就是说,它会按照所加入控件的类型和数量自动设置控件大小。如果你需要自己控制控件大小,可对该容器调用设置布局函数:
xx.setLayout(null);//xx:容器
然后你就可以使用xx.setSize()来改变控件的大小了。
------解决方案--------------------------------------------------------
this.setResizable(false);
控制住窗口,不允许调整大小。呵呵~~~