import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("仙剑奇侠传");
JButton button1 = new JButton("状态");
JButton button2 = new JButton("物品");
JButton button3 = new JButton("仙术");
JButton button4 = new JButton("系统");
Container c = frame.getContentPane();
c.setLayout(new BorderLayout());
Panel panel1 = new Panel();
Panel panel2 = new Panel();
panel1.setLayout(new GridLayout(1, 4));
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
panel1.add(button4);
c.add(panel1, BorderLayout.NORTH);
c.add(panel2, BorderLayout.SOUTH);
frame.addWindowFocusListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
frame.setSize(500, 400);
frame.setVisible(true);
}
}
有些不太对,是这个意思吗,给你改了下
把"NORTH"改为
BorderLayout.NORTH
因为你用的是默认的BorderLayout布局管理器,所以如果你想指定位置,就要用BorderLayout的变量
错在frame.add(panel1,"NORTH");
你不能把这个直接放在north,因为这不是BorderLayout!而且这是一个Panel,直接写frame.add(panel1);应该就好了