黑马程序员 《JAVA程序设计》
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class /*MainFrame*/dengru extends JFrame implements ActionListener{
private Container cont;
private JPanel panelMenu;
private JPanel panelToolBar;
private JPanel panelCompent;
private JButton btnLeft;
private JButton btnCenter;
private JButton btnRight;
private JButton btnBorder;
private JButton btnGrid;
private JLabel labHit;
private JMenuBar menuBar;
private JMenu menuOperation;
private JMenu menuHelp;
private JMenuItem mItemFlowLeft;
private JMenuItem mItemFlowCenter;
private JMenuItem mItemFlowRight;
private JMenuItem mItemBorder;
private JMenuItem mItemGrid;
private JToolBar toolBar;
private JButton tBtnLeft;
private JButton tBtnCenter;
private JButton tBtnRight;
private JButton tBtnBorder;
private JButton tBtnGrid;
public MainFrame(){
this.setTitle("第一个界面");
this.setBounds(300, 300, 600, 450);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
cont = this.getContentPane();
// cont.setLayout(new GridLayout(3, 9));
cont.setLayout(null);
initPanel();
initMenu();
initToolBar();
initCompent();
addMenu();
addCompent();
// addBorderCompent();
this.setVisible(true);
}
public void initPanel(){
panelMenu = new JPanel();
panelMenu.setLayout(new FlowLayout(FlowLayout.LEFT));
panelMenu.setBounds(0, 0, 600, 30);
panelToolBar = new JPanel();
panelToolBar.setLayout(new FlowLayout(FlowLayout.LEFT));
panelToolBar.setBounds(0, 30, 600, 50);
panelCompent = new JPanel();
panelCompent.setLayout(new GridLayout(3, 2));
panelCompent.setBounds(0, 80, 600, 350);
cont.add(panelMenu);
cont.add(panelToolBar);
cont.add(panelCompent);
}
public void initMenu(){
menuBar = new JMenuBar();
menuOperation = new JMenu("布局操作");
menuHelp = new JMenu("帮助");
mItemFlowLeft = new JMenuItem("流式左布局");
mItemFlowLeft.addActionListener(this);
mItemFlowCenter = new JMenuItem("流式居中");
mItemFlowCenter.addActionListener(this);
mItemFlowRight = new JMenuItem("流式右布局");
mItemFlowRight.addActionListener(this);
mItemBorder = new JMenuItem("边界布局");
mItemBorder.addActionListener(this);
mItemGrid = new JMenuItem("网格布局");
mItemGrid.addActionListener(this);
}
public void initToolBar(){
toolBar = new JToolBar();
tBtnLeft = new JButton(new ImageIcon("COPY.jpg"));
tBtnLeft.addActionListener(this);
tBtnLeft.setToolTipText("流式左布局");
tBtnCenter = new JButton(new ImageIcon("HELP.jpg"));
tBtnCenter.addActionListener(this);
tBtnCenter.setToolTipText("流式居中");
tBtnRight = new JButton(new ImageIcon("find.jpg"));
tBtnRight.addActionListener(this);
tBtnRight.setToolTipText("流式右布局");
tBtnBorder = new JButton(new ImageIcon("CUT.jpg"));
tBtnBorder.addActionListener(this);
tBtnBorder.setToolTipText("边界布局");
tBtnGrid = new JButton(new ImageIcon("OPEN.jpg"));
tBtnGrid.addActionListener(this);
tBtnGrid.setToolTipText("网格布局");
toolBar.add(tBtnLeft);
toolBar.add(tBtnCenter);
toolBar.add(tBtnRight);
toolBar.add(tBtnBorder);
toolBar.add(tBtnGrid);
panelToolBar.add(toolBar);
}
public void initCompent(){
btnLeft = new JButton("LEFT");
btnLeft.addActionListener(this);
btnRight = new JButton("RIGHT");
btnRight.addActionListener(this);
btnCenter = new JButton("CENTER");
btnCenter.addActionListener(this);
btnBorder = new JButton("BORDER");
btnBorder.addActionListener(this);
btnGrid = new JButton("GRID");
btnGrid.addActionListener(this);
labHit = new JLabel("提示");
}
public void addMenu(){
menuOperation.add(mItemFlowLeft);
menuOperation.add(mItemFlowCenter);
menuOperation.add(mItemFlowRight);
menuOperation.add(mItemBorder);
menuOperation.add(mItemGrid);
menuBar.add(menuOperation);
menuBar.add(menuHelp);
panelMenu.add(menuBar);
}
public void addCompent(){
panelCompent.add(btnLeft);
panelCompent.add(btnCenter);
panelCompent.add(btnRight);
panelCompent.add(btnBorder);
panelCompent.add(btnGrid);
panelCompent.add(labHit);
}
public void addBorderCompent(){
panelCompent.add(btnLeft, "West");
panelCompent.add(btnCenter, "Center");
panelCompent.add(btnRight, "East");
panelCompent.add(btnBorder, "North");
panelCompent.add(btnGrid, "South");
}
public void actionPerformed(ActionEvent aEvt){
if((btnLeft == aEvt.getSource())
||(mItemFlowLeft == aEvt.getSource())
||(tBtnLeft == aEvt.getSource())){
panelCompent.setLayout(new FlowLayout(FlowLayout.LEFT));
labHit.setText("流式布局管理器左靠齐");
}
else {
if((btnRight == aEvt.getSource())
||(mItemFlowRight == aEvt.getSource())
||(tBtnRight == aEvt.getSource())){
panelCompent.setLayout(new FlowLayout(FlowLayout.RIGHT));
labHit.setText("流式布局管理器右靠齐");
}
else {
if((btnCenter == aEvt.getSource())
||(mItemFlowCenter == aEvt.getSource())
||(tBtnCenter == aEvt.getSource())){
panelCompent.setLayout(new FlowLayout(FlowLayout.CENTER));
labHit.setText("流式布局管理器中靠齐");
}
else {
if((btnBorder == aEvt.getSource())
||(mItemBorder == aEvt.getSource())
||(tBtnBorder == aEvt.getSource())){
panelCompent.setLayout(new BorderLayout());
addBorderCompent();
labHit.setText("边界布局管理器");
}
else{
if((btnGrid == aEvt.getSource())
||(mItemGrid == aEvt.getSource())
||(tBtnGrid == aEvt.getSource())
){
panelCompent.setLayout(new GridLayout(3, 2));
// addBorderCompent();
labHit.setText("网格布局管理器");
}
}
}
}
}
}
}
//LoginFrame.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class LoginFrame extends JFrame implements ActionListener{
private Container cont;
private JLabel labUserName;
private JLabel labPassword;
private JTextField txtUserName;
private JTextField txtPassword;
private JButton btnOK;
private JButton btnCancel;
public LoginFrame(){
this.setTitle("登录界面");
this.setSize(300, 250);
this.setLocation(300, 300);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
initCont();
initCompent();
addCompent();
this.setVisible(true);
}
public void initCont(){
cont = this.getContentPane();
cont.setLayout(null);
}
public void initCompent(){
labUserName = new JLabel("用户名:");
labPassword = new JLabel("密 码:");
txtUserName = new JTextField();
txtPassword = new JPasswordField();
btnOK = new JButton("登录");
btnCancel = new JButton("重置");
}
public void addCompent(){
cont.add(labUserName);
labUserName.setBounds(40,40,80,30);
cont.add(labPassword);
labPassword.setBounds(40,90,80,30);
cont.add(txtUserName);
txtUserName.setBounds(120,40,120,30);
cont.add(txtPassword);
txtPassword.setBounds(120,90,120,30);
cont.add(btnOK);
btnOK.addActionListener(this);
btnOK.setBounds(60,170,80,30);
cont.add(btnCancel);
btnCancel.addActionListener(this);
btnCancel.setBounds(160,170,80,30);
}
public void actionPerformed(ActionEvent aEvt){
if(aEvt.getSource() == btnOK){
if((txtUserName.getText().equals("denghong"))
&&(txtPassword.getText().equals("123"))){
new MainFrame();
this.dispose();
}
}
else{
if(aEvt.getSource() == btnCancel){
labUserName.setText("");
labPassword.setText("");
}
}
}
}
//Test.java
public class Test{
public static void main(String[] args){
new LoginFrame();
}
}