2017-08-26 111 views
1

我真的不明白爲什麼按鈕尺寸在JLabelbackgroundBoxLayoutamico.setPreferredSize(new Dimension(320, 240));不增加,是什麼問題?謝謝按鈕尺寸不變

代碼:

public class JavaApplication30 extends JFrame 
{ 
    private final JButton amico; 
    private final JButton bello; 
    private final JButton compagno; 

    public JavaApplication30(File imageFile) 
    { 
     JLabel background = new JLabel(new ImageIcon(imageFile.getAbsolutePath())); 
     add(background); 
     background.setLayout(new BoxLayout(background, BoxLayout.Y_AXIS)); 
     amico=new JButton("Amico"); 
     amico.setPreferredSize(new Dimension(320, 240)); 
     bello=new JButton("Bello"); 
     compagno=new JButton("Compagno"); 
     background.add(Box.createRigidArea(new Dimension(0,100))); 
     background.add(amico); 
     background.add(Box.createRigidArea(new Dimension(0,30))); 
     background.add(bello); 
     background.add(Box.createRigidArea(new Dimension(0,30))); 
     background.add(compagno); 

     setTitle("Prova"); 
     pack(); 
     setLocationRelativeTo(null); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 

    public static void main(String[] args) throws IOException 
    { 
     SwingUtilities.invokeLater(new Runnable() 
     { 
      @Override 
      public void run() 
      { 
       String filepath = "C:\\Users\\user\\Documents\\NetBeansProjects\\JavaApplication29\\src\\eila.jpg"; 
       File imageFile = new File(filepath); 
       JavaApplication30 frame = new JavaApplication30(imageFile); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 
+1

* amico.setPreferredSize(new Dimension(320,240));「不增加,問題是什麼*你得到了什麼錯誤? – nullpointer

+0

@nullpointer沒有錯誤,BUILD BUILDING SUCCESSFUL – carelli99

回答

0

你能儘量做到以下幾點:

amico = new JButton("Amico") { 
    { 
      setSize(new Dimension(320, 240)); 
      setMaximumSize(getSize()); 
    } 
}; 

它應該幫助。祝你好運。