2017-07-27 78 views
0

我有問題在Jframe中顯示兩個面板。請幫我解決下面的代碼JFrame:無法在jframe中顯示兩個面板

public class quotingtable extends javax.swing.JFrame { 
    DefaultTableModel model; 
    JTable table; 
    JButton SetButton = new JButton("Set Symbol"); 
    JButton VNStock = new JButton("VNStockChart"); 
    JButton Global = new JButton("GlobalChart"); 
    JPanel quotingpanel = new JPanel(new BorderLayout()); 
    JPanel functionpanel = new JPanel(new BorderLayout()); 

public void run(){ 
    model = new DefaultTableModel(col,row); 
    quotingpanel.add(table); 
    functionpanel.add(BorderLayout.CENTER,SetButton); 
    functionpanel.add(BorderLayout.WEST,VNStock); 
    functionpanel.add(BorderLayout.EAST,Global); 
    table = new JTable(model); 

    JScrollPane pane = new JScrollPane(table); 
    quotingpanel.add(pane); 
    getContentPane().add(BorderLayout.CENTER,functionpanel); 
    getContentPane().add(BorderLayout.SOUTH,quotingpanel); 
    setSize(800,800); 
    setLayout(new FlowLayout()); 
    setLayout (new BorderLayout()); 
    setVisible(true); 
    setDefaultCloseOperation(EXIT_ON_CLOSE); 

任何幫助表示讚賞。

+1

刪除'的setLayout(新的FlowLayout());'和'setLayout的(新的BorderLayout());'其中出現在的端部代碼 – MadProgrammer

回答

2

刪除:

setLayout(new FlowLayout()); 
setLayout (new BorderLayout()); 

使用BorderLayout這樣就不會拿起預先存在的成分,所以會忽略它們並不會佈置它們

並考慮pack();

更換 setSize(800,800);

您可能還想更換

getContentPane().add(BorderLayout.CENTER,functionpanel); 
getContentPane().add(BorderLayout.SOUTH,quotingpanel); 

getContentPane().add(functionpanel, BorderLayout.CENTER); 
getContentPane().add(quotingpanel, BorderLayout.SOUTH); 

它只是一個更一致和更優選的機制

+0

謝謝你的幫助 –