2013-04-04 65 views
1

這可能看起來像一個愚蠢的問題,但我想改變我的jFrame中'框'的大小。我將包括代碼和圖片。設置框的大小

這裏是JTableResultSet類:

import java.sql.*; 
import java.util.*; 
import javax.swing.*; 
import javax.swing.table.TableColumn; 

public class JTableResultSet { 
    public static void main(String[] args) { 
     Vector columnNames = new Vector(); 
     Vector data = new Vector(); 
     JPanel panel = new JPanel(); // 
     try { 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost/exper482_social", "admin", "testing"); 
      String sql = "Select username, forename, lastname, password from social_users"; 
      Statement statement = con.createStatement(); 
      ResultSet resultSet = statement.executeQuery(sql); 
      ResultSetMetaData metaData = resultSet.getMetaData(); 
      int columns = metaData.getColumnCount(); 
      for (int i = 1; i <= columns; i++) { 
       columnNames.addElement(metaData.getColumnName(i)); 
      } 
      while (resultSet.next()) { 
       Vector row = new Vector(columns); 
       for (int i = 1; i <= columns; i++) { 
        row.addElement(resultSet.getObject(i)); 
       } 
       data.addElement(row); 
      } 
      resultSet.close(); 
      statement.close(); 
     } catch (Exception e) { 
      System.out.println(e); 
     } 
     JTable table = new JTable(data, columnNames); 
     TableColumn column; 
     for (int i = 0; i < table.getColumnCount(); i++) { 
      column = table.getColumnModel().getColumn(i); 
      column.setMaxWidth(250);//250 
     } 
     JScrollPane scrollPane = new JScrollPane(table);   
     panel.add(scrollPane);  
     JFrame frame = new JFrame(); 
     frame.add(panel);//adding panel to the frame 
     frame.setSize(600, 400); //setting frame size 600 400 
     frame.setVisible(true); //setting visibility true 
    } 
} 

這裏是照片:

http://i.stack.imgur.com/Wblfx.png

有人可以告訴我,我可以做,使框變大?謝謝。

回答

1

您可以使用BorderLayout這將使JScrollPane佔據的JPanel

JPanel panel = new JPanel(new BorderLayout()); 

默認JPanel的佈局,FlowLayout,採用了組件的,不會擴展到填滿窗口首選大小整個區域。

閱讀Guide to Layout Managers

+0

謝謝Reimeus,我試試這個。 – 2013-04-04 14:40:10

+0

謝謝,它像一個魅力:) – 2013-04-04 14:42:56