日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA JFrame画图基础和事件监听

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA JFrame画图基础和事件监听 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JFrame畫圖基礎和事件監聽

消息框
JOptionPane.showMessageDialog(mine.this, "刪除不成功!");
畫圖
class MyJPanel extends JPanel //繼承面板類 {public void paint(Graphics g) //覆蓋父類的方法,paint相當于畫圖{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); //填充3d效果的矩形} }
導入圖片
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 //給面板實現鍵盤監聽接口,以下3個函數必須實現 {int x=50,y=50;public void paint(Graphics g){super.paint(g); //調用父類g.fillRect(x, y, 50, 50); //畫矩形}public void keyPressed(KeyEvent e) { //按鍵事件// TODO Auto-generated method stub//System.out.println("鍵盤被按下");//System.out.println((char)e.getKeyCode());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) { //松開事件// TODO Auto-generated method stub}public void keyTyped(KeyEvent e) { //打字事件// TODO Auto-generated method stub} }
鼠標事件
this.add(mjp); this.addMouseListener(mjp);class MyJPanel extends JPanel implements MouseListener //以下5個函數要寫 {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.setTitle("學生信息");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(); //關閉窗口}} }

總結

以上是生活随笔為你收集整理的JAVA JFrame画图基础和事件监听的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。