JFrame画图基础和事件监听
消息框
JOptionPane. showMessageDialog ( mine. this , "删除不成功!" ) ;
画图
class MyJPanel extends JPanel
{ public void paint ( Graphics g) { g. drawOval ( 30 , 30 , 80 , 80 ) ; g. drawLine ( 100 , 100 , 200 , 200 ) ; g. setColor ( Color. RED) ; g. drawRect ( 50 , 50 , 50 , 50 ) ; g. draw3DRect ( 100 , 100 , 100 , 100 , true ) ; g. setColor ( Color. BLUE) ; g. fillRect ( 100 , 100 , 100 , 100 ) ; g. fill3DRect ( 50 , 50 , 50 , 50 , false ) ; }
}
导入图片
Image tp= Toolkit. getDefaultToolkit ( ) . getImage ( Panel. class . getResource ( "/龙猫2.jpg" ) ) ; g. drawImage ( tp, 30 , 30 , 100 , 100 , this ) ;
绘文字
g. setColor ( Color. BLUE) ; g. setFont ( new Font ( "华文彩云" , Font. BOLD, 50 ) ) ; g. drawString ( "很强" , 100 , 100 ) ;
监听事件
JButton bt= new JButton ( "运行" ) ; bt. addActionListener ( this ) ; MyListener jt= new MyListener ( ) ; bt. addActionListener ( jt) ; bt. setActionCommand ( "yunxing" ) ; public void actionPerformed ( ActionEvent e) { if ( e. getActionCommand ( ) == "yunxing" ) { System. out. println ( "运行成功" ) ; } } } class MyListener implements ActionListener
{ public void actionPerformed ( ActionEvent e) { if ( e. getActionCommand ( ) == "yunxing" ) System. out. println ( "很强" ) ; }
}
键盘事件
this . add ( mjp) ;
this . addKeyListener ( mjp) ; class MyJPanel extends JPanel implements KeyListener
{ int x= 50 , y= 50 ; public void paint ( Graphics g) { super. paint ( g) ; g. fillRect ( x, y, 50 , 50 ) ; } public void keyPressed ( KeyEvent e) { if ( e. getKeyCode ( ) == KeyEvent. VK_UP) { y- = 5 ; } else if ( e. getKeyCode ( ) == KeyEvent. VK_DOWN) { y+ = 5 ; } else if ( e. getKeyCode ( ) == KeyEvent. VK_LEFT) { x- = 5 ; } else if ( e. getKeyCode ( ) == KeyEvent. VK_RIGHT) { x+ = 5 ; } this . repaint ( ) ; } public void keyReleased ( KeyEvent e) { } public void keyTyped ( KeyEvent e) { }
}
鼠标事件
this . add ( mjp) ;
this . addMouseListener ( mjp) ; class MyJPanel extends JPanel implements MouseListener
{ int x= 50 , y= 50 ; public void paint ( Graphics g) { super. paint ( g) ; g. drawOval ( x, y, 50 , 50 ) ; } public void mouseClicked ( MouseEvent e) { System. out. println ( e. getX ( ) + "," + e. getY ( ) ) ; x= e. getX ( ) ; y= e. getY ( ) ; this . repaint ( ) ; } public void mouseReleased ( MouseEvent e) { } public void mouseExited ( MouseEvent e) { } public void mousePressed ( MouseEvent e) { } public void mouseEntered ( MouseEvent e) { }
}
增加新的对话窗口
public void actionPerformed ( ActionEvent e) { if ( e. getActionCommand ( ) == "tianjia" ) { Add add= new Add ( this , "ok" , true ) ; } }
class Add extends JDialog implements ActionListener
{ public Add ( Frame fck, String ckm, boolean msck) { super ( fck, ckm, msck) ; this . setSize ( 500 , 500 ) ; this . setLocation ( 100 , 100 ) ; JButton jb= new JButton ( "取消" ) ; jb. addActionListener ( this ) ; jb. setActionCommand ( "quxiao" ) ; this . add ( jb) ; this . setDefaultCloseOperation ( JDialog. DISPOSE_ON_CLOSE) ; this . setVisible ( true ) ; } public void actionPerformed ( ActionEvent e) { if ( e. getActionCommand ( ) == "quxiao" ) { this . dispose ( ) ; } }
}