当前位置: 代码迷 >> Java相关 >> 关于Java界面开发。解决办法
  详细解决方案

关于Java界面开发。解决办法

热度:5219   发布时间:2013-02-25 21:45:21.0
关于Java界面开发。
我做了一个简单的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);

控制住窗口,不允许调整大小。呵呵~~~
  相关解决方案