为什么我的BorderLayout无法使用我的JPanel



当我放入JPanel以使用BorderLayout时,它会告诉我:constructer JPanel in class JPanel cannot be applied to given types; required: no arguments; found: BorderLayout; reason: actual and formal argument lists differ in length;

这是我的代码:

public class MTGSAMPServerReference extends JFrame implements ActionListener {
    public static Toolkit tk = Toolkit.getDefaultToolkit(); 
    static int ScrnWidth = ((int) tk.getScreenSize().getWidth());
    static int ScrnHeight = ((int) tk.getScreenSize().getHeight());
    private static final long serialVersionUID = 1L;
    private static JList list1;
    private static JButton next;
    public MTGSAMPServerReference() {
        // set flow layout for the frame
        this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEADING));
        Object[] data1 = { "Value 1", "Value 2", "Value 3", "Value 4", "Value 5" };
        JPanel controls = new JPanel( new BorderLayout(5,5) ); // The line getting the main error.
        list1 = new JList<Object>(data1);
        list1.setVisibleRowCount(5);
        next = new JButton("Next");
        next.addActionListener(this);
        controls.add(new JScrollPane(list1)); // A result error of the JPanel error ^
        controls.add(next, BorderLayout.PAGE_END); // A result error of the JPanel error ^
        // adjust numbers as needed.
        controls.setBorder(new EmptyBorder(25,25,0,0));
        add(controls); // A result error of the JPanel error ^
        // add list to frame
        add(list1);
        add(next);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("Next")) {
            int index = list1.getSelectedIndex();
            System.out.println("Index Selected: " + index);
            String s = (String) list1.getSelectedValue();
            System.out.println("Value Selected: " + s);
        }
    }
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame f = new MTGSAMPServerReference();
        //Display the window.
        f.pack();
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(1200, 800);
        f.setLocationRelativeTo(null);
        list1.setSize(250, 250);
        list1.setLocation(0, 0);
        next.setSize(75, 25);
        next.setLocation(251, 276);
    }
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
        createAndShowGUI();
        }
        });
    }
}

我的代码中缺少什么?我有我所有的进口商品,我确信这只是一个小错误,也许是打字错误。

感谢您的帮助!

提前感谢!

编辑:这是我的进口商品:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

请确保您没有创建任何带有保留字或类名的文件。

相关内容

  • 没有找到相关文章

最新更新