2013-01-31 37 views
1

我知道這個問題之前曾被問過,但是沒有答案。Java在添加JTextfield後沒有渲染組件

在Java中,當我向框架添加組件時,添加JTextField後的所有元素在應用程序初始化時不會呈現。在刷新屏幕後渲染它們,例如最小化和最大化屏幕。在接下來只有文本字段被渲染。它看起來像一些Java渲染問題。

我的代碼如下:

private void initialize() { 
    frame = new JFrame(); 
    frame.setVisible(true); 
    frame.setBounds(100, 100, 569, 321); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().setLayout(null); 

    txtGenerationRate = new JTextField(); 
    txtGenerationRate.setBounds(322, 29, 86, 20); 
    frame.getContentPane().add(txtGenerationRate); 
    txtGenerationRate.setColumns(10); 

    lblAmountOfSolarPanelsText = new JLabel("Amount of solar panels:"); 
    lblAmountOfSolarPanelsText.setBounds(10, 57, 159, 14); 
    frame.getContentPane().add(lblAmountOfSolarPanelsText); 

    frame.setVisible(true); // added it for the second time, just to make sure 
} 

任何人的幫助,好嗎?

彼得

+0

我可以確認滯後。第一個渲染花了一段時間,或者不渲染子組件。你可以從http://stackoverflow.com/questions/6978017/first-call-to-jframe-constructor-takes-a-long-time-during-swing-application-star找到一些有用的信息。 –

回答

1

嘗試把這個在初始化方法的底部

frame.setVisible(true); 
frame.setBounds(100, 100, 569, 321); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
0

,你也可以嘗試frame.revalidate();frame.repaint();

0

這似乎爲我工作,我看到兩個標籤和文本字段當窗口第一次出現時。標籤文本不符合標籤,因此被截斷,但除了一切看起來如預期。試圖簡化代碼時,可能是從代碼中刪除了錯誤的片段?

enter image description here