各位大神,麻烦详细下一下代码的意思,initCom 里面的详细解释,不明白都有了一个mainpanel,为什么还要定义panel,谢谢
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import com.micron.autoreport.service.UserService;
public class UserAdminPanel extends JFrame {
private static final long serialVersionUID = 2350562135525932666L;
private JPanel mainPanel;
private UserService userSerivce = new UserService();
private AbstractButton okButton;
public UserAdminPanel() {
setTitle("Metrics Report");
initCom();
setLayout(new BorderLayout());
add(mainPanel, BorderLayout.CENTER);
setSize(800, 600);
setVisible(true);
}
private void initCom() {
mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
JLabel label = new JLabel("Metric Name:");
panel.add(label, BorderLayout.WEST);
final JTextField nameField = new JTextField(10);
panel.add(nameField, BorderLayout.CENTER);
mainPanel.add(panel, BorderLayout.NORTH);
// this.add(mainPanel); // add by myself
okButton = new JButton("Apply");
okButton.setLayout(new BorderLayout());
mainPanel.add(okButton, BorderLayout.WEST);
okButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
userSerivce.addUser(name);
};
});
}
public static void main(String[] args) {
UserAdminPanel panel = new UserAdminPanel();
}
}
------解决方案--------------------
mainPanel 是最大的那个panel,其他都是mainPanel里面的块
------解决方案--------------------
这个应该是为了让各个组件形成某种方式的排列