我是JAVA新手,向大家请教一个问题.

2025-04-03 19:30:59
推荐回答(3个)
回答1:

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);
}
}

有些不太对,是这个意思吗,给你改了下

回答2:

把"NORTH"改为
BorderLayout.NORTH

因为你用的是默认的BorderLayout布局管理器,所以如果你想指定位置,就要用BorderLayout的变量

回答3:

错在frame.add(panel1,"NORTH");
你不能把这个直接放在north,因为这不是BorderLayout!而且这是一个Panel,直接写frame.add(panel1);应该就好了