2016-02-19 57 views
0

我想重塑手機鍵盤,但是我不能看到結果沒有調整結果窗口,我不想要的結果。java代碼不顯示結果沒有調整框架

這裏是我的代碼: 在輸入顯示區域的代碼之前,代碼將運行得很好。但在此之後,我必須不斷調整它(我不想要),試圖調整顯示區域本身的大小。

import java.awt.*; 
import javax.swing.*; 
import javax.swing.border.Border; 

public class mobilePhone{ 

    private JFrame keypadFrame; 
    private JPanel panels1; 
    private JTextArea displayArea; 

    private JButton b1; 
    private JButton b2; 
    private JButton b3; 
    private JButton b4; 
    private JButton b5; 
    private JButton b6; 
    private JButton b7; 
    private JButton b8; 
    private JButton b9; 
    private JButton b10; 
    private JButton b11; 
    private JButton b12; 
    private JButton b13; 
    private JButton b14; 
    private JButton b15; 

    public mobilePhone(){ 
     Interface(); 
    } 
    public void Interface(){ 

     keypadFrame = new JFrame("Mobile Calculator"); 
     keypadFrame.setVisible(true); 
     keypadFrame.setSize(270, 300); 
     keypadFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     keypadFrame.setResizable(false); 

     displayArea = new JTextArea(2,5); 
     displayArea.setBackground(Color.WHITE); 
     Border DABorder = BorderFactory.createLineBorder(Color.RED,4); 
     displayArea.setBorder(DABorder); 
     Font DAFont = new Font("ariel",Font.BOLD,30); 
     displayArea.setFont(DAFont); 
     displayArea.setLineWrap(true); 

     panels1 = new JPanel(new GridLayout(5,1)); 
     panels1.setBackground(Color.DARK_GRAY); 
     Border panelBorder = BorderFactory.createLineBorder(Color.BLUE,5); 
     panels1.setBorder(panelBorder); 

     b1 = new JButton("7"); 
     b2 = new JButton("8"); 
     b3 = new JButton("9"); 
     b4 = new JButton("4"); 
     b5 = new JButton("5"); 
     b6 = new JButton("6"); 
     b7 = new JButton("1"); 
     b8 = new JButton("2"); 
     b9 = new JButton("3"); 
     b10 = new JButton("*"); 
     b11 = new JButton("0"); 
     b12 = new JButton("#"); 
     b13 = new JButton("CLEAR"); 

     panels1.add(b1); 
     panels1.add(b2); 
     panels1.add(b3); 
     panels1.add(b4); 
     panels1.add(b5); 
     panels1.add(b6); 
     panels1.add(b7); 
     panels1.add(b8); 
     panels1.add(b9); 
     panels1.add(b10); 
     panels1.add(b11); 
     panels1.add(b12); 

     keypadFrame.add(panels1,BorderLayout.CENTER); 
     keypadFrame.add(displayArea, BorderLayout.NORTH); 
     keypadFrame.add(b13, BorderLayout.EAST); 
    } 

    public static void main(String[] args){ 

     new mobilePhone(); 

    } 
} 
+0

'字體DAFont =新字體(「沙龍」,Font.BOLD,30)revalidaterepaint;'「沙龍」是美人魚&「Arial字體」僅在某些機器上安裝。最好使用'Font.SANS_SERIF' .. –

回答

1

採取keypadFrame.setVisible(true);並將其放置在你的Interface方法結束(再看看Code Conventions for the Java TM Programming Language,它將使人們更容易閱讀您的代碼,供您閱讀其他人)

可替換地,呼叫在框架的contentPane

+1

*「把'keypadFrame.setVisible(true);'放在你的'Interface'方法的末尾* *把'keypadFrame.pack();'放在那個調用之前以確保GUI的尺寸合適。然後刪除'keypadFrame.setSize(270,300);'中固有的猜測。 –