Click here to Skip to main content
15,880,469 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I would like to add some space between the JTextField and the JButtons, i am using a flow layout, and help would be appreciated

I am making a calculator

CODE

Java
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;



public class Ken {
	
	static JTextField text = new JTextField("0",9);
	
	
	
	public static void frame(){
		JFrame frame = new JFrame("MyCalc");
		frame.setSize(480, 600);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		frame.setResizable(false);
		FlowLayout fl = new FlowLayout(0, 30, 20);
		setLayout(fl);
		
		frame.getContentPane().setLayout(fl);
		Container con = frame.getContentPane();
		con.setBackground(Color.LIGHT_GRAY);
		Font f = new Font("MS UI Gothic", Font.BOLD, 40);
		Font f2 = new Font("Engravers MT", Font.PLAIN, 40);
		int bHeight = 80;
		int bWidth = 70;
		text.setBackground(Color.GREEN);
		text.setFont(f2);
		text.setPreferredSize(new Dimension(bHeight, bWidth));
		
		
		
		
		frame.add(text, BorderLayout.NORTH);
		
		JButton oneButton = new JButton("1");
		oneButton.setPreferredSize(new Dimension(bHeight, bWidth));
		oneButton.setBackground(Color.DARK_GRAY);
		oneButton.setForeground(Color.GREEN);
		oneButton.setFont(f);
		frame.add(oneButton);
        
		JButton twoButton = new JButton("2");
        twoButton.setPreferredSize(new Dimension(bHeight, bWidth));
        twoButton.setBackground(Color.DARK_GRAY);
        twoButton.setForeground(Color.GREEN);
        twoButton.setFont(f);
        frame.add(twoButton);
        
        JButton threeButton = new JButton("3");
        threeButton.setPreferredSize(new Dimension(bHeight, bWidth));
        threeButton.setBackground(Color.DARK_GRAY);
        threeButton.setForeground(Color.GREEN);
        threeButton.setFont(f);
        frame.add(threeButton);
        
        JButton plusButton = new JButton("+");
        plusButton.setPreferredSize(new Dimension(bHeight, bWidth));
        plusButton.setBackground(Color.DARK_GRAY);
        plusButton.setForeground(Color.GREEN);
        plusButton.setFont(f);
        frame.add(plusButton);
        
        JButton fourButton = new JButton("4");
        fourButton.setPreferredSize(new Dimension(bHeight, bWidth));
        fourButton.setBackground(Color.DARK_GRAY);
        fourButton.setForeground(Color.GREEN);
        fourButton.setFont(f);
        frame.add(fourButton);
        
        JButton fiveButton = new JButton("5");
        fiveButton.setPreferredSize(new Dimension(bHeight, bWidth));
        fiveButton.setBackground(Color.DARK_GRAY);
        fiveButton.setForeground(Color.GREEN);
        fiveButton.setFont(f);
        frame.add(fiveButton);
        
        JButton sixButton = new JButton("6");
        sixButton.setPreferredSize(new Dimension(bHeight, bWidth));
        sixButton.setBackground(Color.DARK_GRAY);
        sixButton.setForeground(Color.GREEN);
        sixButton.setFont(f);
        frame.add(sixButton);
        
        JButton minusButton = new JButton("-");
        minusButton.setPreferredSize(new Dimension(bHeight, bWidth));
        minusButton.setBackground(Color.DARK_GRAY);
        minusButton.setForeground(Color.GREEN);
        minusButton.setFont(f);
        frame.add(minusButton);
        
        JButton sevenButton = new JButton("7");
        sevenButton.setPreferredSize(new Dimension(bHeight, bWidth));
        sevenButton.setBackground(Color.DARK_GRAY);
        sevenButton.setForeground(Color.GREEN);
        sevenButton.setFont(f);
        frame.add(sevenButton);
        
        JButton eightButton = new JButton("8");
        eightButton.setPreferredSize(new Dimension(bHeight, bWidth));
        eightButton.setBackground(Color.DARK_GRAY);
        eightButton.setForeground(Color.GREEN);
        eightButton.setFont(f);
        frame.add(eightButton);
        
        JButton nineButton = new JButton("9");
        nineButton.setPreferredSize(new Dimension(bHeight,bWidth));
        nineButton.setBackground(Color.DARK_GRAY);
        nineButton.setForeground(Color.GREEN);
        nineButton.setFont(f);
        frame.add(nineButton);
        
        JButton timesButton = new JButton("*");
        timesButton.setPreferredSize(new Dimension(bHeight, bWidth));
        timesButton.setBackground(Color.DARK_GRAY);
        timesButton.setForeground(Color.GREEN);
        timesButton.setFont(f);
        frame.add(timesButton);
        
        JButton zeroButton = new JButton("0");
        zeroButton.setPreferredSize(new Dimension(bHeight, bWidth));
        zeroButton.setBackground(Color.DARK_GRAY);
        zeroButton.setForeground(Color.GREEN);
        zeroButton.setFont(f);
        frame.add(zeroButton);
        
        JButton enterButton = new JButton("=");
        enterButton.setPreferredSize(new Dimension(190, bWidth));
        enterButton.setBackground(Color.DARK_GRAY);
        enterButton.setForeground(Color.GREEN);
        enterButton.setFont(f);
        frame.add(enterButton);
       
        JButton dividButton = new JButton("/");
        dividButton.setPreferredSize(new Dimension(bHeight, bWidth));
        dividButton.setBackground(Color.DARK_GRAY);
        dividButton.setForeground(Color.GREEN);
        dividButton.setFont(f);
        frame.add(dividButton);
        
        frame.setComponentOrientation(
                ComponentOrientation.LEFT_TO_RIGHT);
	}

	
	
	private static Dimension Dimension(int bHeight, int bWidth) {
		// TODO Auto-generated method stub
		return null;
	}



	private static void setLayout(FlowLayout fl) {
		// TODO Auto-generated method stub
		
	}



	public static void main(String[] args){
		frame();
	}
}
Posted

1 solution

Is that a calculator?

Please use Gridlayout for that - the Flowlayout will change when you resize the Window.

A Visual Guide to Layout Managers[^] @ oracle.com

I'd also recommend to OOP the returning code for the buttons - make a function that you pass the label text as an argument. Much better, much shorter.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900