1
Je suis en train d'assembler la mise en page de base pour un carnet de contacts, et je veux savoir comment je peux faire passer les 3 boutons de test d'un bord à l'autre comme le font les boutons fléchés.JButton Layout Version
private static class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("Code Placeholder");
}
}
public static void main(String[] args) {
//down button
ImageIcon downArrow = new ImageIcon("down.png");
JButton downButton = new JButton(downArrow);
ButtonHandler downListener = new ButtonHandler();
downButton.addActionListener(downListener);
//up button
ImageIcon upArrow = new ImageIcon("up.png");
JButton upButton = new JButton(upArrow);
ButtonHandler upListener = new ButtonHandler();
upButton.addActionListener(upListener);
//contacts
JButton test1Button = new JButton("Code Placeholder");
JButton test2Button = new JButton("Code Placeholder");
JButton test3Button = new JButton("Code Placeholder");
Box box = Box.createVerticalBox();
box.add(test1Button);
box.add(test2Button);
box.add(test3Button);
JPanel content = new JPanel();
content.setLayout(new BorderLayout());
content.add(box, BorderLayout.CENTER);
content.add(downButton, BorderLayout.SOUTH);
content.add(upButton, BorderLayout.NORTH);
JFrame window = new JFrame("Contacts");
window.setContentPane(content);
window.setSize(400, 600);
window.setLocation(100, 100);
window.setVisible(true);
}
Avez-vous pensé à utiliser un GridLayout (http://java.sun.com/docs/books/tutorial/uiswing/layout/grid.html)? – kloffy
Oui, j'ai essayé et quand je l'ai mis un AWTError lance, car je pense que Box par défaut à BoxLayout. setLayout (LayoutManager l) Lance une AWTError, car une boîte ne peut utiliser qu'un BoxLayout. De http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/Box.html –
Je pense que @kloffy suggère que vous convertissez la 'Box' en' JPanel' qui utilise un 'GridLayout' pour le gestionnaire de disposition. – Ash