Member 13225387 Ответов: 1

Я создал три класса (один для main, frame, for panel) в java swing. После добавления компонентов они не видны в кадре. Почему?


//Main Class:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Order
{
	public static void main(String[] args)
	{
		OrderFrame frame = new OrderFrame();
	}
}

//Frame Class:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OrderFrame extends JFrame
{
	OrderFrame()
	{
		setTitle("Place Order");
		setLayout(null);
		setSize(500,500);
		this.add(new OrderPanel());
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

//Panel Class:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OrderPanel extends JPanel implements ActionListener
{	
	JLabel l1,l2;
	JButton b1;
	public OrderPanel()
	{
		l1 = new JLabel("Welcome to Online Food Delivery System");
		b1 = new JButton("Close Window");
		b1.addActionListener(this);
		add(l1);
		add(b1);
	}
	public void actionPerformed(ActionEvent e) 
	{
		System.exit(0);
	}
}


Что я уже пробовал:

Мне все еще нужно написать много кода, но я, если я запускаю основной класс(имя класса-порядок) Я должен получить графический интерфейс с меткой и кнопкой. Но я получаю пустой графический интерфейс. Я попытался написать this. add(b1) и this.add (l1), но без изменений. Что я упускаю?

1 Ответов

Рейтинг:
12

Maciej Los

Я бы посоветовал прочитать это: В Java jbutton с - javatpoint[^]

import java.awt.event.*;
import javax.swing.*;
public class ButtonExample {
public static void main(String[] args) {
    JFrame f=new JFrame("Button Example");
    final JTextField tf=new JTextField();
    tf.setBounds(50,50, 150,20);
    JButton b=new JButton("Click Here");
    b.setBounds(50,100,95,30);
    b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
            tf.setText("Welcome to Javatpoint.");
        }
    });
    f.add(b);f.add(tf);
    f.setSize(400,400);
    f.setLayout(null);
    f.setVisible(true);
}
}


Основываясь на приведенном выше коде, вы пропустили эту строку:
jcontrol.setBounds(50,50, 150,20);


Member 13225387

Если вы хотите сказать, что я добавляю последнее ключевое слово перед меткой и кнопкой и добавляю b1. setBounds(x, y, width, height) и l1. setBounds(x,y,width,height), я сделал это, но все равно ничего не получил в графическом интерфейсе