Я хотел бы поместить оба компонента рисования (треугольник) с другими компонентами в центр BorderLayout.Center кадра. Я сделал такой код, но я мог видеть только другие компоненты, и я не видел компонент рисования (треугольник). Не могли бы вы мне помочь?
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class OrderMachine extends JFrame {
private MyPanel panel = new MyPanel();
private JPanel input = new JPanel();
public OrderMachine(){
setTitle("Practice");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new BorderLayout());
JButton btn1 = new JButton("order");
btn1.setBackground(Color.RED);
c.add(btn1,BorderLayout.NORTH);
JButton btn2 = new JButton("complete");
btn2.setBackground(Color.GREEN);
c.add(btn2,BorderLayout.WEST);
JButton btn3 = new JButton("calculate");
btn3.setBackground(Color.ORANGE);
c.add(btn3,BorderLayout.EAST);
JButton btn4 = new JButton("ready");
btn4.setBackground(Color.YELLOW);
c.add(btn4,BorderLayout.SOUTH);
c.add(panel, BorderLayout.CENTER);
setSize(400,300);
setVisible(true);
}
Я помещаю другие компоненты и компонент paint в тот же класс. Причина выхода из строя?
class MyPanel extends JPanel{
private JTextField tf = new JTextField(7);
private JTextArea ta = new JTextArea(5,8);
private JLabel jl = new JLabel("menu: ");
MyPanel(){
setLayout(new FlowLayout());
ta.setBackground(Color.YELLOW);
JButton rot = new JButton("Rotate Button");
rot.setBackground(Color.CYAN);
add(ta);
add(jl);
add(tf);
add(rot);
}
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
g.setColor(Color.BLUE);
int[] x = {100,120,140};
int[] y = {50,20,50};
g.fillPolygon(x, y, 3);
}
}
public static void main(String[] args) {
new OrderMachine();
}
}