我真的不明白为什么JLabel
background
BoxLayout
和amico.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);
}
});
}
}
最佳答案
您可以尝试执行以下操作:
amico = new JButton("Amico") {
{
setSize(new Dimension(320, 240));
setMaximumSize(getSize());
}
};
应该会有所帮助。祝好运。