У меня возникли проблемы при попытке добавить JPanel, который я создал в подклассе, к JFrame, который я создал в своем классе драйверов. Я не уверен, почему, но на панели не отображается, как это должно быть, и единственный способ заставить его работать - это определить JFrame в подклассе и классе драйвера, но затем я получаю два разных JFrames, один с материалом, который мне нужен это и пустой. Любые идеи? я добавил код из обоих классов, а также изображения того, как он должен выглядеть и как он выглядит.
мой класс драйверов;
public class GUIDriver extends JFrame {
public static void main(String[] args) {
GUIDesign newOrder = new GUIDesign();
//frame
JFrame myframe = new JFrame("ROFA: Royal Furniture Ordering System");
myframe.setLayout(new BorderLayout());
myframe.setVisible(true);
myframe.setSize(900,600);
myframe.setResizable(false);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.add(newOrder);
}
и мой GUI класс;
public class GUIDesign extends JPanel implements ActionListener {
GUIDesign(){
JButton chair = new JButton("Add Chair");
JButton desk = new JButton("Add Desk");
JButton table = new JButton("Add Table");
JButton clear = new JButton("Clear All");
JButton save = new JButton("Save file");
JButton load = new JButton("Load file");
GridBagLayout layout = new GridBagLayout();
JPanel panelLeft = new JPanel(layout);
panelLeft.setLayout(layout);
panelLeft.setBorder(BorderFactory.createEtchedBorder(Color.lightGray, Color.black));
this.add(panelLeft, BorderLayout.WEST);
GridBagConstraints c = new GridBagConstraints(0, 0, 0, 1, 1.0, 1.0,
GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(
0,0,0,0), 0, 0);
c.fill = GridBagConstraints.BOTH;
panelLeft.add(save, c);
c.gridx = 0;
c.gridy = 1;
panelLeft.add(load, c);
c.gridx = 0;
c.gridy = 2;
panelLeft.add(chair, c);
c.gridx = 0;
c.gridy = 3;
panelLeft.add(table, c);
c.gridx = 0;
c.gridy = 4;
panelLeft.add(desk, c);
c.gridx = 0;
c.gridy = 5;
panelLeft.add(clear, c);
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated
methods, choose Tools | Templates.
}
Вот как это должно выглядеть:
и вот что я в итоге получаю:
спасибо.