初到华信

最近在华信上的几节课让我受益匪浅,斌哥指导我们学习了界面设计,事件机制。理论与实践结合的学习方式让我初步了解了Java基础与Java编码规范。通过与几位指导教师的交流沟通开阔了视野,看清了自己的位置,以及对自己就业的方向又多了一个可能的选择,尽管未来未必一定会从事Android与Java的开发,不过对学长们的就业经验来看这的确是一个很好的就业方向。

三节课的学习也让我独立的编写了200多行代码,实现了QQ,五子棋的简单界面和按钮,鼠标事件的初步设计。

//QQ代码:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class QQ2{


JTextField fieldName; 
JPasswordField fieldPwd;
JFrame loginFrame;
        JFrame mainFrame;

//显示登陆界面的方法
public void showLoginFrame(){


loginFrame = new JFrame();
loginFrame.setSize(300,200);
loginFrame.setTitle("QQ界面");
loginFrame.setDefaultCloseOperation(3);
loginFrame.setLocationRelativeTo(null);
FlowLayout layout = new FlowLayout(1,10,20);
loginFrame.setLayout(layout);


JLabel lableName = new JLabel("用户名");
JLabel lablePwd = new JLabel("密    码");
fieldName = new JTextField(18); 
fieldPwd = new JPasswordField(18);
JButton buttonRegiste = new JButton("注册");
JButton buttonLogin = new JButton("登陆");


loginFrame.add(lableName);
loginFrame.add(fieldName);
loginFrame.add(lablePwd);
loginFrame.add(fieldPwd);
loginFrame.add(buttonRegiste);
loginFrame.add(buttonLogin);

//创建动作监听器对象
ActionListener listener = new ActionListener(){
//监控按钮被点击的操作
public void actionPerformed(ActionEvent e){
//登陆业务处理
//1.获取用户输入的信息
String name = fieldName.getText();
String pwd = fieldPwd.getText();
//验证信息(判断)
if(name.equals(pwd)){
loginFrame.setVisible(false);
showMainFrame();
}else{
JOptionPane.showMessageDialog(null,"对不起,登陆失败!");
}
}
};
//对登陆按钮进行监听
buttonLogin.addActionListener(listener);


loginFrame.setVisible(true);
}




//显示主界面的方法
public void showMainFrame(){


mainFrame = new JFrame();
mainFrame.setSize(300,600);
mainFrame.setTitle("主界面");
mainFrame.setLocationRelativeTo(null);
FlowLayout layout = new FlowLayout(1,100,20);
mainFrame.setLayout(layout);


       for(int i=1;i<=10;i++){
final JButton buttonFriend = new JButton("好友"+i);
mainFrame.add(buttonFriend);
        //创建监听器对象
      ActionListener listener = new ActionListener(){


         public void actionPerformed(ActionEvent e){
          String friendName = buttonFriend.getText();
          showTalkFrame(friendName);
        
       }
          
    };
     //对好友按钮进行监听
     buttonFriend.addActionListener(listener);
  }
      mainFrame.setVisible(true);
}


//显示聊天主界面
public void showTalkFrame(String friend){


final JFrame talkFrame = new JFrame();
talkFrame.setSize(400,450);
talkFrame.setTitle("与"+friend+"正在聊天中...");
talkFrame.setLocationRelativeTo(null);


//创建线性布局对象及其布局
FlowLayout layout = new FlowLayout();
talkFrame.setLayout(layout);


//创建组件对象
final JTextArea textAreaShow = new JTextArea(10,30);
final JTextArea textAreaSent = new JTextArea(8,30);
JButton buttonSent = new JButton("发送");
JButton buttonExit = new JButton("关闭");


talkFrame.add(textAreaShow);
talkFrame.add(textAreaSent);
talkFrame.add(buttonExit);
talkFrame.add(buttonSent);


               //创建事件监听器
      
        ActionListener listener = new ActionListener(){
        
  public void actionPerformed(ActionEvent e){
    String flag = e.getActionCommand();
if(flag.equals("发送")){
  String text = textAreaSent.getText();
textAreaShow.append(text+"\n");
textAreaSent.setText("");


}
else if(flag.equals("关闭")){
    talkFrame.setVisible(false);
        }


     }           


};


buttonSent.addActionListener(listener);
buttonExit.addActionListener(listener);


talkFrame.setVisible(true);
}


//主方法
public static void main (String[] args){


QQ2 qq = new QQ2();
qq.showLoginFrame();

}


}


//五子棋代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FiveChess{


  Graphics g;

public void mainUI(){
     
JFrame chessFrame = new JFrame("五子棋");
chessFrame.setLayout(new FlowLayout());
chessFrame.setSize(530,470);
chessFrame.setLocationRelativeTo(null);
chessFrame.setDefaultCloseOperation(3);

//paint()画图
  JPanel qipanPanel = new JPanel(){


public void paint(Graphics g){


super.paint(g);

for(int i=0;i<10;i++){
g.drawLine(40,40*(i+1),400,40*(i+1));
}
for(int i=0;i<10;i++){
g.drawLine(40*(i+1),40,40*(i+1),400);
}
}


   };



    JPanel functionPanel = new JPanel(); 
     
qipanPanel.setPreferredSize(new Dimension(420,420));
qipanPanel.setBackground(Color.red);

        functionPanel.setPreferredSize(new Dimension(80,420));
functionPanel.setBackground(Color.blue);


        //将两个面板添加到窗体里面
chessFrame.add(qipanPanel);
chessFrame.add(functionPanel);


         JButton start = new JButton("开始");
         JButton renren = new JButton("人人");
         JButton renji = new JButton("人机");
         JButton guanyu = new JButton("关于");
         JButton Exit =new JButton("退出");
         
  functionPanel.setLayout(new FlowLayout(1,2,40));
        functionPanel.add(start);
functionPanel.add(renren);
functionPanel.add(renji);
functionPanel.add(guanyu);
functionPanel.add(Exit);

         //创建鼠标监听器对象
MouseListener listener = new MouseListener(){



//监控进入
public void mouseEntered(MouseEvent e){

}
//监控退出
public void mouseExited(MouseEvent e){

}
//监控单击
public void mouseClicked(MouseEvent e){
int x = e.getX();
int y = e.getY();
g.fillOval(x-10,y-10,20,20);

}
//监控按下
public void mousePressed(MouseEvent e){

}
//监控释放
public void mouseReleased(MouseEvent e){

}

};


        qipanPanel.addMouseListener(listener);


chessFrame.setVisible(true);


g = qipanPanel.getGraphics();
}


public static void main(String[] args){


FiveChess chess = new FiveChess();   


chess.mainUI();


}
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章