我使用下面的代码为JPanel设置自定义光标,但是当我运行代码时,它会放大我为光标设置的图像.有没有办法设置用户定义的游标大小?
Toolkit toolkit = Toolkit.getDefaultToolkit();
BufferedImage erasor=new BufferedImage(10,10, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d=(Graphics2D) erasor.createGraphics();
g2d.setPaint(Color.red);
g2d.drawRect(e.getX(),e.getY() ,10, 10);
toolkit.getBestCursorSize(10, 10);
Cursor mcursor=toolkit.createCustomCursor(erasor, new Point(10,10), "Eraser");
setCursor(mcursor);
Run Code Online (Sandbox Code Playgroud) 我有一个使用UDP连接的应用程序,现在当我尝试不止一次运行应用程序时,它给我一个例外
java.net.BindException: Address already in use: Cannot bind
Run Code Online (Sandbox Code Playgroud)
但在我的另一个使用tcp连接的应用程序中,我可以打开同一个应用程序的两个实例,并且其工作正常.为什么这个错误只与UDP连接?
编辑:
TCP socket:
Socket clientSocket= new Socket(ipAddress, 8000);
Socket clientSocket1= new Socket(ipAddress, 8000);
Run Code Online (Sandbox Code Playgroud)
如果我像上面一样创建TCP套接字,使用相同的端口,它不会抛出任何错误.但是,如果我用UDP Socket做到这一点,它会给我一个例外,为什么?
说,我有3个面板添加到一个框架和第一个面板我想设置金属外观和感觉,对于第二个面板我想要窗户的外观和感觉,对于第三个面板它应该是默认的摇摆风格.
可能吗?
package test;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Ellipse2D;
import java.awt.image.BufferedImage;
import javax.swing.*;
public class test_bmp extends JPanel implements MouseListener,MouseMotionListener,ActionListener
{
static BufferedImage image;
Color color;
Point start=new Point();
Point end =new Point();
JButton elipse=new JButton("Elipse");
JButton rectangle=new JButton("Rectangle");
JButton line=new JButton("Line");
String selected;
public test_bmp()
{
color = Color.black;
setBorder(BorderFactory.createLineBorder(Color.black));
addMouseListener(this);
addMouseMotionListener(this);
}
public void paintComponent(Graphics g)
{
//super.paintComponent(g);
g.drawImage(image, 0, 0, this);
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.black);
if(selected=="elipse")
{
g2.drawOval(start.x, start.y, (end.x-start.x),(end.y-start.y));
System.out.println("Start : "+start.x+","+start.y);
System.out.println("End : "+end.x+","+end.y);
} …