GUI отображается пустым. Нет ошибок при компиляции - PullRequest
2 голосов
/ 27 апреля 2020

Я попытался запустить свой код, и он прошел без каких-либо проблем, но GUI показывает пробел, когда я запускаю его. Это основной класс для моего проекта, у меня есть несколько других подклассов. Я просмотрел это несколько раз, чтобы выяснить, в чем дело, и я не могу этого понять. Я неправильно использовал setVisible? Класс проекта 3 должен генерировать GUI, который позволяет пользователю вводить желаемый тип фигуры, цвет фигуры и тип заливки фигуры.

public class Project3 extends JFrame{
/**
 * 
 */
private static final long serialVersionUID = 1L;
JLabel shapeType, fillType, color, Width, Height, xCoordinate, yCoordinate;
JTextField xCoor, yCoor, jWidth, jHeight;
JPanel left, right, down;
String shapetoDraw, shapeColor, filltype;
Rectangular rect;
Oval ov;
Drawing drawing= new Drawing();


Project3(){
    setTitle("Geometric Drawing");
    setLayout(null);
    setSize(600,500);
    left = new JPanel(new GridLayout(2,2,10,10));
    right = new JPanel(new GridLayout(0, 2));
    right.setBorder(BorderFactory.createTitledBorder("Shape Drawing"));
    down = new JPanel(new GridLayout(2,2,10,10));
    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent windowEvent){
        System.exit(0);
        }
        });

    shapeType = new JLabel("Shape Type");
    fillType = new JLabel("Fill Type");
    color = new JLabel("Color");
    Width = new JLabel("Width");
    Height = new JLabel("Height");
    xCoordinate = new JLabel("x coordinate");
    yCoordinate = new JLabel("y coordinate");
    xCoor = new JTextField(10);
    yCoor = new JTextField(10);
    jWidth = new JTextField(10);
    jHeight = new JTextField(10);
    left.add(shapeType);

    String[] shape = {"Rectangle","Oval"};
    JComboBox<String> shapeCombo = new JComboBox<String>(shape);


    left.add(color);
    String[] colors = {"Black", "Red", "Orange","Yellow","Green","Blue","Magenta"};
    JComboBox<String> colorCombo = new JComboBox<String>(colors);


    left.add(fillType);
    String[] fill = {"Hollow", "Solid"};
    JComboBox<String> filltypeCombo = new JComboBox<String>(fill);


    left.add(Width);
    left.add(jWidth);
    left.add(Height);
    left.add(jHeight);
    left.add(xCoordinate);
    left.add(xCoor);
    left.add(yCoordinate);
    left.add(yCoor);
    JButton drawButton = new JButton("Draw");

    drawButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        shapetoDraw=shapeCombo.getSelectedItem().toString();
        shapeColor=colorCombo.getSelectedItem().toString();
        filltype=filltypeCombo.getSelectedItem().toString();

        drawing.drawShape(shapetoDraw, shapeColor, filltype);
         }});
    down.add(drawButton);    
}

public static void main(String[] args) {
    Project3 mainFrame = new Project3();
    mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    mainFrame.setVisible(true);

}
public void paint(Graphics g) {
    super.paintComponents(g);
    //g.setFont(new Font("Times", Font.BOLD, 12));
    //g.drawString(Integer.toString(Shape.getNoOfShapes()),10, 30);
    //rect.draw(g);
    }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...