Please help with GUI problem, can't set size
As it is right now all the Textfields are gigantic and not a small rectangle as I want to...
This doesn't do what Iit's told:
JTextField consumer1 = new JTextField(2);
consumer1.setBounds(new Rectangle(0, 10, 10, 10));
Could someone please give me a hint?
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.util.Scanner;
import javax.swing.*;
import javax.swing.Timer;
import java.util.*;
import java.awt.event.*;
import javax.swing.border.*;
/**
* @author
*
*/
publicclass Guiextends JFrame//implements ActionListener
{
public Consumer c1;
public Consumer c2;
public Consumer c3;
public Producer p1;
public Producer p2;
public Producer p3;
public Buffer buffer;
private JButton startButton;
private JPanel buttonPanel, producerPanel, consumerPanel, bufferPanel,
consumerButtonpanel, producerButtonpanel, bufferButtonpanel;
private Container container;
private JLabel producerLabel =new JLabel("Producer is not producing.");
private JLabel consumerLabel =new JLabel("Consumer is not consuming.");
private JLabel bufferLabel =new JLabel("Buffer is not working.");
public Gui(Buffer buffer, Consumer c1, Consumer c2, Consumer c3, Producer p1, Producer p2, Producer p3)
{
this.buffer = buffer;
this.c1 = c1;
this.c2 = c2;
this.c3 = c3;
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
setLayout(new FlowLayout());
getContentPane().setBackground(Color.lightGray);
container = getContentPane();
container.setLayout(new GridLayout(1,3,1,2));
JTextField consumer1 =new JTextField(2);
consumer1.setBounds(new Rectangle(0, 10, 10, 10));
JTextField consumer2 =new JTextField(2);
consumer2.setBounds(new Rectangle(0, 10, 10, 10));
JTextField consumer3 =new JTextField(2);
consumer3.setBounds(new Rectangle(0, 10, 10, 10));
JTextField bufferTextfield =new JTextField(2);
JTextField producer1 =new JTextField(2);
JTextField producer2 =new JTextField(2);
JTextField producer3 =new JTextField(2);
JTextField getBufferTime =new JTextField(2);
JTextField getConsumerTime =new JTextField(2);
JTextField getProducerTime =new JTextField(2);
JButton consumeButton =new JButton("Set consume-time");
JButton produceButton =new JButton("Set produce-time");
JButton bufferButton =new JButton("Set buffer-time");
producerPanel=new JPanel(new GridLayout(3,0));
consumerPanel=new JPanel(new GridLayout(3,0));
bufferPanel=new JPanel(new GridLayout(2,0));
consumerButtonpanel =new JPanel(new GridLayout());
producerButtonpanel =new JPanel(new GridLayout());
bufferButtonpanel =new JPanel(new GridLayout());
producerPanel.setPreferredSize(new Dimension(300,700));
consumerPanel.setPreferredSize(new Dimension(300,700));
bufferPanel.setPreferredSize(new Dimension(300,700));
consumerButtonpanel.setPreferredSize(new Dimension(5,5));
producerButtonpanel.setPreferredSize(new Dimension(5,5));
bufferButtonpanel.setPreferredSize(new Dimension(5,5));
container.add(producerPanel,BorderLayout.WEST);
container.add(bufferPanel,BorderLayout.CENTER);
container.add(consumerPanel,BorderLayout.EAST);
consumerPanel.add(consumerButtonpanel);
producerPanel.add(producerButtonpanel);
bufferPanel.add(bufferButtonpanel);
consumerPanel.add(consumerLabel);
consumerPanel.add(consumer1);
consumerPanel.add(consumer2);
consumerPanel.add(consumer3);
consumerPanel.setBackground(Color.LIGHT_GRAY);
consumerPanel.add(consumeButton);
bufferPanel.add(bufferLabel);
bufferPanel.add(bufferTextfield);
bufferPanel.setBackground(Color.LIGHT_GRAY);
bufferPanel.add(bufferButton);
producerPanel.add(producerLabel);
producerPanel.add(producer1);
producerPanel.add(producer2);
producerPanel.add(producer3);
producerPanel.add(produceButton);
producerPanel.setBackground(Color.LIGHT_GRAY);
consumerButtonpanel.add(consumeButton);
consumerButtonpanel.add(getConsumerTime);
bufferButtonpanel.add(bufferButton);
bufferButtonpanel.add(getBufferTime);
producerButtonpanel.add(produceButton);
producerButtonpanel.add(getProducerTime);
pack();
//setResizable(false);
setVisible(true);
setSize(900, 500);
setLocation(100, 100);
setTitle("Producer-Consumer");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

