I'm putting together the basic layout for a contacts book, and I want to know how I can make the 3 test buttons span from edge to edge just as the arrow buttons do.

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.ImageIcon;

public class Main {

//	private static class MainWindow extends JPanel {
//		public void paintComponent(Graphics g) {
//			super.paintComponent(g);
//			g.drawString("contacts 10 down", 20, 30);
//		}
//	}
	private static class ButtonHandler implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			System.out.println("Code Placeholder");

	public static void main(String[] args) {

//		MainWindow displayPanel = new MainWindow();
//		//top panel
//		JButton topButton = new JButton("Yay Button");
		//down button
		ImageIcon downArrow = new ImageIcon("down.png");
		JButton downButton = new JButton(downArrow);
		ButtonHandler downListener = new ButtonHandler();

		//up button
		ImageIcon upArrow = new ImageIcon("up.png");
		JButton upButton = new JButton(upArrow);
		ButtonHandler upListener = new ButtonHandler();

		JButton test1Button = new JButton("Code Placeholder");
		JButton test2Button = new JButton("Code Placeholder");
		JButton test3Button = new JButton("Code Placeholder");
		Box box = Box.createVerticalBox();
		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.setSize(400, 600);
		window.setLocation(100, 100);



I figured out a way with using another JPanel inside of a Box for the container of the contacts.

This article has been dead for over six months. Start a new discussion instead.