Я сделал свой собственный Компонент, назвал его 'hi' и поместил его в JPanel, а затем поместил этот JPanel в JFrame, но ничего не появляется. Я сделал рамку вокруг JPanel, чтобы увидеть, находится ли JPanel даже на JFrame и, конечно же, он есть, но мой Компонент (который, кстати, рисует дуги) не находится на JPanel.
JFrame frame = new JFrame();
JPanel panel = new JPanel();
final int FRAME_WIDTH = 400;
final int FRAME_HEIGHT = 400;
testComponent hi = new testComponent();
panel.add(hi);
frame.add(panel);
panel.setBorder(BorderFactory.createLineBorder(Color.red));
frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Это то, что у меня есть в основном, и это единственная вещь в моем тестовом классе. У testComponent () просто есть paintComponent (), который рисует.
и Компонент
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.draw(new Arc2D.Double(100,100,100,100,0,30,Arc2D.PIE));
g2.fill(new Arc2D.Double(100,100,100,100,30,330,Arc2D.PIE));
}
Хотелось бы отметить, что такие вещи, как JButton, JTextField и т. Д. Они работают в JPanel