Hello Lovely People,
Please have a look at my GUI first, before reading the rest (I've attached a picture, see at the end of my post).
I'm having two problem with this GUI.
1) I don't want my Start button to be as long as it is. I want it to be about the half of if its current size and at the centre (as it is). how do I fix this?
2)As you can see, my text fields are quiet big as well. I would like to shorter both, in height and length (it should have enough room for 4 digits).
Here's My Code, Hope someone can help.
Thanks In Advance:)
package prjectilegui;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
class ControlPanel extends JPanel
{
//Fields
private JLabel initialHeight, initialVelocity, initialAngle,empty1,empty2,empty3,empty4;
public JRadioButton position, velocity, acceleration, energy;
private ButtonGroup bg;
public JTextField heightTextField, velocityTextField, angleTextField;
private JButton start;
private JPanel higherPanel, centerPanel, lowerPanel;
//Default Constructor
public ControlPanel()
{
setLayout(new GridLayout(3,1));
// initializing Start Button
start = new JButton("Start");
start.addActionListener(new startButtonListener());
// creating empty space to correctly place the start button
empty3 = new JLabel("");
empty4 = new JLabel("");
// creating higher panel
higherPanel = new JPanel(new GridLayout(3,1));
higherPanel.add(empty3);
higherPanel.add(start);
higherPanel.add(empty4);
// creating center and lower panels
createCenterPanel();
createLowerPanel();
// adding panels to ControlPanel
add(higherPanel);
add(centerPanel);
add(lowerPanel);
}
private void createCenterPanel()
{
// center panel
centerPanel = new JPanel(new GridLayout(3,2));
// initializing labels
initialHeight = new JLabel("Initial Height ");
initialVelocity = new JLabel("Initial Velocity ");
initialAngle = new JLabel("Initial Angle ");
// initializing textfields
heightTextField = new JTextField(2);
velocityTextField = new JTextField(2);
angleTextField = new JTextField(2);
// adding elements to centerPanel
centerPanel.add(initialHeight);
centerPanel.add(heightTextField);
centerPanel.add(initialVelocity);
centerPanel.add(velocityTextField);
centerPanel.add(initialAngle);
centerPanel.add(angleTextField);
}
private void createLowerPanel()
{
lowerPanel = new JPanel(new GridLayout(6,1));
// initializing radiobuttons
position = new JRadioButton("Position");
velocity = new JRadioButton("Velocity");
acceleration = new JRadioButton("Acceleration");
energy = new JRadioButton("Energy");
// creating empty space
empty1 = new JLabel("");
empty2 = new JLabel("");
// initializing buttongroup and add radiobutton to it
bg = new ButtonGroup();
bg.add(position);
bg.add(velocity);
bg.add(acceleration);
bg.add(energy);
// add radioButtons and empty space to lowerPanel
lowerPanel.add(empty1);
lowerPanel.add(position);
lowerPanel.add(velocity);
lowerPanel.add(acceleration);
lowerPanel.add(energy);
}
//Start button listener
private class startButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
}