「java鼠标画笔」Java画笔
今天给各位分享java鼠标画笔的知识,其中也会对Java画笔进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java画图板画笔粗细的问题,急~~~~~高手速来帮忙改改!
- 2、java图形界面 运行时如何在点击鼠标时 改变字体颜色或者大小
- 3、Java如何控制画笔速度
- 4、java 绘图板 如何实现画直线的功能
- 5、请java高手帮忙不程序,只要帮我在我的程序中加个改变画笔粗细和颜色的代码就行,情况紧急
java画图板画笔粗细的问题,急~~~~~高手速来帮忙改改!
你可以另外写一个方法,鼠标点击时触发那个方法,该方法首先获取鼠标点击的那个点,然后根据那个坐标在它的四周画图就可以了(可以以那个点为圆心画圆并填充,这样一条直线下去,就实现了加粗)。像获取点的坐标,画圆什么的方法,API里都有。
java图形界面 运行时如何在点击鼠标时 改变字体颜色或者大小
首先,必须有一个GUI的类,让它继承JPanel类(javax.swing.JPanel);
让这个类实现MouseListener接口(java.awt.event.MouseListener),并实现此接口的所有方法;
其中有一个mouseClicked(MouseEvent e)方法,就是当该JPanel被鼠标点击时所调用的方法;在此方法中写上修改画笔颜色、字体的代码;
最后,由于继承了JPanel类,故可以重写paint(Graphics g)方法,在此方法中加入一些绘制方法。
示例代码如下:
package com;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Client extends JPanel implements MouseListener {
private JFrame f;
private Color color;
private Font font;
//为了方便,可以增加一个状态变量
private int state=0;
public Client(){
f=new JFrame("Test");
//此句修改JPanel大小
setPreferredSize(new Dimension(400,300));
setBackground(Color.white);
f.add(this);
//此句让JFrame适应JPanel大小
f.pack();
f.setResizable(false);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//此句为JPanel对象设置了鼠标事件监听器(MouseListener)
addMouseListener(this);
color=Color.black;
font=new Font("Arial",Font.PLAIN,12);
f.setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
//这2行代码根据成员变量color与font设置了画笔的颜色与字体,可由外部方法更改
g.setColor(color);
g.setFont(font);
//以下为自定义的绘制操作
g.fillRect(50,50,60,45);
g.drawString("Hello this is the test text",50,120);
}
public static void main(String[] args){
Client c=new Client();
//此为循环重绘的代码
while(true){
try{
//每40毫秒(25分之1秒)重绘一次
Thread.sleep(40);
}catch(Exception e){
e.printStackTrace();
}
//调用重绘方法
c.repaint();
}
}
public void stateChanged(){
switch(state){
case 0://状态0
color=Color.black;
font=new Font("Arial",Font.PLAIN,12);
break;
case 1://状态1
color=Color.blue;
font=new Font("Century Gothic",Font.BOLD,12);
break;
default://此为无效状态
}
}
public void mouseClicked(MouseEvent e) {
//此方法在鼠标点击JPanel时自动调用
//此句规定了成员变量state的2种状态,即0,1
state=state=1?0:state+1;
//下面的方法修改了成员变量color和font,从而实现画笔颜色与字体的变更
stateChanged();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
效果:
如果想要让不同的部分绘制成不同的颜色或字体,可在成员变量中增加更多的类似于color与font的对象,仿照上述代码调用。
Java如何控制画笔速度
我也是这个问题,for循环结束之后一起出来,而不是一段一段的……
java 绘图板 如何实现画直线的功能
这个简单
可以调用方法drawline(int x1, int y1, int x2, int y2)
其中(x1, y1), (x2, y2)分别为直线起点和终点的坐标
特意给你写了个小例子,希望能帮到你
***************************************
import javax.swing.*;
import java.awt.*;
public class DrawLine extends JPanel {
public static void main(String[] args) {
JFrame frame = new JFrame("DrawLine");
frame.getContentPane().add(new DrawLine());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(50, 50, 200, 250);
}
}
****************************
将程序复制到记事本中并改名为DrawLine.java(注意大小写)
然后在命令行中用 CD+文件夹 使命令范围到DrawLine.java的文件夹中
然后执行命令javac DrawLine.java
再执行命令java DrawLine
你会看到结果
请java高手帮忙不程序,只要帮我在我的程序中加个改变画笔粗细和颜色的代码就行,情况紧急
public void paint(Graphics g) {
Stroke stroke=new BasicStroke(10.0f);//设置线宽为10.0
Graphics2D g2d = (Graphics2D) g;// 获取图形环境
g2d.setStroke(stroke);
g2d.draw(gp);// 绘制路径
}
改成这样的。快。好了,。
颜色的,你自己练练改。道理相同。
加入颜色的是这样的。
public void paint(Graphics g) {
Stroke stroke=new BasicStroke(10.0f);//设置线宽为3.0
Color c= new Color(100, 10, 10) ;//设置颜色R-G-B值 (褐色)
Graphics2D g2d = (Graphics2D) g;// 获取图形环境
g2d.setColor(c);
g2d.setStroke(stroke);
g2d.draw(gp);// 绘制路径
}
你就替换paint方法就可以了。别的不用改
关于java鼠标画笔和Java画笔的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。