input type="button" onmouseover="this.className='left'" onmousedown="this.className='right'"/

創(chuàng)新互聯(lián)專(zhuān)注于青白江網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供青白江營(yíng)銷(xiāo)型網(wǎng)站建設(shè),青白江網(wǎng)站制作、青白江網(wǎng)頁(yè)設(shè)計(jì)、青白江網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造青白江網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供青白江網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
隨便再定義兩個(gè)class即可,一個(gè)class把圖片的位置設(shè)置在左邊,一個(gè)設(shè)置在右邊,位置結(jié)合position實(shí)現(xiàn)即可。
//畫(huà)布類(lèi)
import java.awt.Graphics;
import java.awt.Polygon;
import javax.swing.JPanel;
public class MyPanel extends JPanel{
public void drawRect(Graphics g, int x, int y, int width, int height){
g.drawRect(x, y, width, height);
}
public void drawOval(Graphics g, int x, int y, int width ,int height){
g.drawOval(x, y, width, height);
}
public void drawLine(Graphics g, int x1 ,int y1 ,int x2, int y2){
g.drawLine(x1, y1, x2, y2);
}
public void drawTriangle(Graphics g, int x, int y, int borderSize){
int[] xx = {borderSize,x,borderSize*2};
int[] yy = {y,borderSize*2,borderSize*2};
g.drawPolygon(new Polygon(xx,yy,3));
}
}
//主界面類(lèi)
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyPaint extends JFrame implements ActionListener{
private JPanel toolArea;
private MyPanel imageArea;
private JButton rect;
private JButton oval;
private JButton line;
private JButton triangle;
public MyPaint() {
rect = new JButton("矩形");
rect.addActionListener(this);
oval = new JButton("圓形");
oval.addActionListener(this);
line = new JButton("直線(xiàn)");
line.addActionListener(this);
triangle = new JButton("三角");
triangle.addActionListener(this);
toolArea = new JPanel(new GridLayout(4,1));
toolArea.add(rect,0);
toolArea.add(oval,1);
toolArea.add(line,2);
toolArea.add(triangle,3);
imageArea = new MyPanel();
this.add("West",toolArea);
this.add("Center",imageArea);
this.setVisible(true);
this.setBounds(112, 84, 800, 600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
Graphics g = imageArea.getGraphics();
if(e.getSource() == rect){
imageArea.drawRect(g, 10, 10, 500, 300);
}else if(e.getSource() == oval){
imageArea.drawOval(g, 50, 50, 100, 100);
}else if(e.getSource() == line){
imageArea.drawLine(g, 20, 20, 80, 80);
}else if(e.getSource() == triangle){
imageArea.drawTriangle(g, 0, 40, 100);
}
}
public static void main(String[] args) {
new MyPaint();
}
}
有點(diǎn)麻煩,沒(méi)寫(xiě)完,先給你開(kāi)個(gè)頭吧。你現(xiàn)在自己寫(xiě)寫(xiě),有什么不懂的知識(shí)點(diǎn)再問(wèn)我好啦。我吃早餐去了。
我只給你放了一個(gè)?panel?,你可以參考一下
要是不懂的話(huà),繼續(xù)留言
采用了你要求的?frame?但是,panel中沒(méi)有border屬性,采用了JPanel
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
public class PanelDraw extends Frame{
JPanel panel = new JPanel();
public PanelDraw() {
this.add(panel);
this.setSize(300, 200);
this.setVisible(true);
panel.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
panel.setBorder(BorderFactory.createLineBorder(Color.RED));
}
@Override
public void mouseExited(MouseEvent e) {
panel.setBorder(null);
}
});
}
public static void main(String[] args) {
new PanelDraw();
}
}
使用組件的paint函數(shù)用于繪圖, 使用MouseListener來(lái)響應(yīng)鼠標(biāo)的點(diǎn)擊
效果圖
代碼
import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.event.*;
import?javax.swing.*;
public?class?DemoWin?extends?JFrame?{
public?DemoWin()?{
MyPanel?mp?=?new?MyPanel();
mp.addMouseListener(mp);
add(mp);
//?窗口屬性設(shè)置
setTitle("Demo");//?標(biāo)題
setSize(300,?280);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//?窗口點(diǎn)擊關(guān)閉時(shí),退出程序
}
public?static?void?main(String[]?args)?{
DemoWin?win?=?new?DemoWin();?//?創(chuàng)建窗口
win.setVisible(true);//?顯示窗口
}
class?MyPanel?extends?JPanel?implements?MouseListener?{
int?times;//?記錄點(diǎn)擊的次數(shù)
int?x;//?記錄鼠標(biāo)X軸的位置
int?y;//?記錄鼠標(biāo)Y軸的位置
@Override
public?void?paint(Graphics?g)?{
super.paint(g);
if?(times?==?0)?{
g.setColor(Color.BLUE);//?顏色
g.fillOval(150,?150,?50,?50);//?150,150代表位置?50,50代表寬高
}?else?if?(times?==?1)?{
g.setColor(Color.RED);
g.fillRect(150,?150,?50,?50);
}?else?{
g.setColor(Color.RED);
g.fillRect(x,?y,?50,?50);
}
repaint();
}
public?void?mouseClicked(MouseEvent?e)?{
//?if?(e.getButton()==MouseEvent.BUTTON1)?{//單擊左鍵時(shí)有效..
//?times++;//?記錄點(diǎn)擊的次數(shù)
//?x?=?e.getX();
//?y?=?e.getY();
//?}
}
public?void?mousePressed(MouseEvent?e)?{//?鼠標(biāo)按下就有效
times++;//?記錄點(diǎn)擊的次數(shù)
x?=?e.getX();
y?=?e.getY();
}
public?void?mouseReleased(MouseEvent?e)?{//?鼠標(biāo)釋放
}
public?void?mouseEntered(MouseEvent?e)?{//?鼠標(biāo)移入
}
public?void?mouseExited(MouseEvent?e)?{//?鼠標(biāo)移出
}
}
}
樓主提問(wèn)的水平很高啊,題目的要求都沒(méi)有,如何回答。。。
相關(guān)類(lèi)都在
import java.awt.*;
import javax.swing.* ;
動(dòng)作事件相關(guān)類(lèi)在import java.awt.event.*;中,在代碼頭import就可以看了
給一個(gè)相關(guān)的代碼吧,包括所有的鼠標(biāo)事件。
下面代碼包括
按下,釋放,進(jìn)入?yún)^(qū)域,離開(kāi)區(qū)域,點(diǎn)擊 這5個(gè)事件
鼠標(biāo)的相關(guān)事件會(huì)在窗口上方的文本區(qū)顯示。。。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestMouseEvent extends JFrame implements MouseListener{
JPanel jp = new JPanel();
JTextField jtf = new JTextField();
public TestMouseEvent(){
setTitle("Mouse Event");
getContentPane().add(jtf,BorderLayout.NORTH);
getContentPane().add(jp,BorderLayout.CENTER);
jp.addMouseListener(this);
}
public static void main(String[] args){
TestMouseEvent frame = new TestMouseEvent();
frame.setSize(200,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mousePressed(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出按下";
jtf.setText(s);
}
public void mouseReleased(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出釋放";
jtf.setText(s);
}
public void mouseClicked(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出點(diǎn)擊";
jtf.setText(s);
}
public void mouseEntered(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出進(jìn)入";
jtf.setText(s);
}
public void mouseExited(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠標(biāo)在坐標(biāo)"+"("+x+","+y+")"+"出離開(kāi)";
jtf.setText(s);
}
}
名稱(chēng)欄目:java鼠標(biāo)特效的代碼,java改變鼠標(biāo)樣式
標(biāo)題網(wǎng)址:http://chinadenli.net/article6/dsgdeog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站制作、定制開(kāi)發(fā)、建站公司、微信公眾號(hào)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)