JAVA JPanel里怎么添加组件?

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:19:17
如题。
我的程序里有
JButton b=new JButton("ok");
JPanel p=new JPanel(new BoxLayout(getContentPane(),BoxLayout.Y_AXIS));
p.add(b);
结果编译说 ^ ^
需要标识符

怎么回事?谢谢啦!
我试过了,但还是不可以。

郁闷ing...
全部程序如下:

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class J_game extends JApplet implements ActionListener
{ JLabel mz_Label=new JLabel(null,null,JLabel.LEFT);
JButton b=new JButton("ok");
JPanel p=new JPanel(new BoxLayout(getContentPane(),BoxLayout.Y_AXIS));
p.add(b);
......
getContentPane().add(m_Label,BorderLayout.CENTER);

可以用add添加组件,然后调用JPanel的remove方法,来删除组件。
例如单击某一个组件就移除这个组件,并且添加另外的组件,下面是一个具体的例子:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class WinTest3
{
public static void main(String[] args)
{

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setLayout(new FlowLayout());
JPanel panel = new JPanel();
JButton button = new JButton("change");
panel.add(button);
JTextField f = new JTextField(20);
ActionListener listener = new ChangeListener(button,panel,f);
button.addActionListener(listener);//注册监听器
frame.add(panel);
frame.setVisible(true);

}
}
/*监听器,当单击按钮时,移除button按钮,加入text文本框*/
clas