真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java實(shí)現(xiàn)畫(huà)圖板上畫(huà)一條直線

目標(biāo):在畫(huà)圖板上畫(huà)一條直線,供大家參考,具體內(nèi)容如下

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到尼瑪網(wǎng)站設(shè)計(jì)與尼瑪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋尼瑪?shù)貐^(qū)。

一、首先需要建立一個(gè)界面

過(guò)程:1、創(chuàng)建界面對(duì)象(Java語(yǔ)言中已經(jīng)有,可直接創(chuàng)建對(duì)象來(lái)使用)。

2、對(duì)于一個(gè)界面,我們需要設(shè)置它的大小、居中、界面關(guān)閉、界面可見(jiàn)。

3、寫(xiě)主方法去實(shí)現(xiàn)界面。

(目前界面還未實(shí)現(xiàn)畫(huà)圖板的功能)

public class DrawUI {
  //顯示界面的方法
 public void show(){
    //創(chuàng)建界面對(duì)象
 JFrame jframe = new JFrame();
    //設(shè)置界面的尺寸、位置居中、關(guān)閉、標(biāo)題
 jframe.setSize(1000, 900);
 jframe.setLocationRelativeTo(null);
 jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 jframe.setTitle("畫(huà)圖板v2.0");
 
    //設(shè)置界面可見(jiàn)
    jframe.setVisible(true);
 }
 //主方法
 public static void main(String[] args){
 DrawUI UI = new DrawUI();
 UI.show();
 }
 
}

二、創(chuàng)建監(jiān)聽(tīng)器類(lèi)

1、重新創(chuàng)建一個(gè)監(jiān)聽(tīng)器(Listener)的類(lèi):要在界面上實(shí)現(xiàn)畫(huà)圖,我們需要給界面添加監(jiān)聽(tīng)器。====>實(shí)際上是讓鼠標(biāo)的一些指令能夠在界面上有反應(yīng)。換言之,監(jiān)聽(tīng)器是一個(gè)連接鼠標(biāo)與界面的橋梁。

2、監(jiān)聽(tīng)器類(lèi)(Listener)實(shí)現(xiàn)鼠標(biāo)監(jiān)聽(tīng)器(MouseListener)的接口.

3、加入鼠標(biāo)監(jiān)聽(tīng)器下的所有方法。

public class Listener implements MouseListener{
 
    //鼠標(biāo)點(diǎn)擊
 public void mouseClicked(MouseEvent e){}
 
   // 鼠標(biāo)按下
  public void mousePressed(MouseEvent e){}
 
   //鼠標(biāo)松開(kāi)
  public void mouseReleased(MouseEvent e){}
 
   // 進(jìn)入
  public void mouseEntered(MouseEvent e){}
 
   // 退出 
  public void mouseExited(MouseEvent e){}
 }

三、實(shí)現(xiàn)畫(huà)出直線

1、創(chuàng)建監(jiān)聽(tīng)器類(lèi)(Listener)后,我們需要在界面類(lèi)中添加監(jiān)聽(tīng)器  =====> 在界面上添加監(jiān)聽(tīng)器后,我們才能在界面上畫(huà)圖。(寫(xiě)在畫(huà)圖板“可見(jiàn)”之前 )。

在畫(huà)圖板中輸入一下代碼

//創(chuàng)建監(jiān)聽(tīng)器
 Listener draw = new Listener(); 
//添加監(jiān)聽(tīng)器
 jframe.addMouseListener(draw);

2、畫(huà)一條直線,我們需要用Graphics (畫(huà)布工具)用于畫(huà)圖。在此,畫(huà)圖板需要獲取Graphics 并且監(jiān)聽(tīng)器對(duì)象上設(shè)置該畫(huà)布。

(寫(xiě)在畫(huà)圖板“可見(jiàn)”之后)

//獲取Graphics
Graphics graph = jframe.getGraphics();
//給監(jiān)聽(tīng)器的畫(huà)布對(duì)象賦值
draw.setGraphics(graph);

然后轉(zhuǎn)到監(jiān)聽(tīng)器類(lèi)(Listener)中輸入代碼

3、開(kāi)始畫(huà)直線

<1> 首先,畫(huà)一條直線我們需要獲取直線兩端點(diǎn)的坐標(biāo)。所以定義x1,y1,x2,y2。

<2>畫(huà)布畫(huà)圖,需要定義Graphics

//記錄坐標(biāo)
int x1,y1,x2,y2;
 
//定義Graphics
Graphics graph2;

<3> 傳畫(huà)布(Graphics)值的方法 ====> 畫(huà)圖板上的畫(huà)布值等于監(jiān)聽(tīng)器上的畫(huà)布值

//傳畫(huà)布值的方法
public void setGraphics(Graphics graph3){
graph2 = graph3;

<4>鼠標(biāo)畫(huà)出直線

在鼠標(biāo)按下事件中輸入起點(diǎn)坐標(biāo)

 public void mousePressed(MouseEvent e){
  //獲取按下信息
  x1=e.getX();
  y1=e.getY();
  }

在鼠標(biāo)松開(kāi)事件中輸入終點(diǎn)坐標(biāo),并畫(huà)出直線

public void mouseReleased(MouseEvent e){
  //獲取松開(kāi)信息
  x2=e.getX();
  y2=e.getY();
  //畫(huà)線
  graph2.drawLine(x1,y1,x2,y2);
  }

四、完整過(guò)程:

界面

package Draw;
 
import java.awt.Graphics;
 
import javax.swing.JFrame;
 
public class DrawUI {
 public void show(){
 JFrame jframe = new JFrame();
 jframe.setSize(1000, 900);
 jframe.setLocationRelativeTo(null);
 jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 jframe.setTitle("畫(huà)圖板v2.0");
 
 //創(chuàng)建監(jiān)聽(tīng)器
 Listener draw = new Listener(); 
 //添加監(jiān)聽(tīng)器
 jframe.addMouseListener(draw);
 
 
 jframe.setVisible(true);
 //獲取Graphics
 Graphics graph = jframe.getGraphics();
 //給監(jiān)聽(tīng)器的畫(huà)布對(duì)象賦值
 draw.setGraphics(graph);
 }
 //主方法
 public static void main(String[] args){
 DrawUI UI = new DrawUI();
 UI.show();
 }
 
}

監(jiān)聽(tīng)器

package Draw;
 
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
 
public class Listener implements MouseListener{
 //記錄坐標(biāo)
 int x1,y1,x2,y2;
 
 //定義Graphics
 Graphics graph2;
 
 //傳畫(huà)布值的方法
 public void setGraphics(Graphics graph3){
 graph2 = graph3;
 
 
 }
 
  public void mouseClicked(MouseEvent e){}
 
  public void mousePressed(MouseEvent e){
  //獲取按下信息
  x1=e.getX();
  y1=e.getY();
  }
 
  public void mouseReleased(MouseEvent e){
  //獲取松開(kāi)信息
  x2=e.getX();
  y2=e.getY();
  //畫(huà)線
  graph2.drawLine(x1,y1,x2,y2);
  }
 
 
  public void mouseEntered(MouseEvent e){}
 
  public void mouseExited(MouseEvent e){}
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前名稱(chēng):java實(shí)現(xiàn)畫(huà)圖板上畫(huà)一條直線
文章源于:http://weahome.cn/article/gchsjd.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部