比方说取一个JLabel里面的Text所占的宽和高,用如下方法:
主要用到FontMetrics类,
import javaawtFontMetrics;
import javaxswingJLabel;
JLabel label = new JLabel( "test Label ");
FontMetrics metrics = labelgetFontMetrics(labelgetFont());
int textH = metricsgetHeight(); //字符串的高, 只和字体有关
int textW = metricsstringWidth(labelgetText()); //字符串的宽
import javaawt;
import javaxswing;
import javaawtevent;
import javautilEventListener;
class myMouseListener implements MouseMotionListener
{
public void mouseMoved(MouseEvent e){
int x=egetX();
int y=egetY();
String s="当前鼠标坐标:"+x+','+y;
MouseMovelabsetText(s);
}
public void mouseDragged(MouseEvent e){};
}
public class MouseMove extends JFrame{
public static JLabel lab=new JLabel();
public MouseMove() {
}
public static void main(String [] args)
{
// MouseMove fm=new MouseMove("鼠标坐标测试");
JFrame fm=new JFrame("鼠标坐标测试");
JPanel fp=new JPanel();
fpaddMouseMotionListener(new myMouseListener());//对在面板上的鼠标移动进行监听。
Container con=fmgetContentPane();
fpadd(lab);
conadd(fp);
fmsetSize(500,400);
fmsetVisible(true);
fmsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
}
通常情况下,不需要考虑屏幕分辨率,除非你要占满整个屏幕。一般,屏幕总是容得下你的窗口的。如果是要使窗口在屏幕上居中,可以用这个:framesetLocationRelativeTo(null);
如果确实要考虑各种分辨率的情况,可以先取得当前屏幕分辨率,然后再根据这个分辨率,调整你的界面。屏幕分辨率可以用以下代码实现:
import javaawt;
Toolkit toolkit=ToolkitgetDefaultToolkit();
Dimension screen=toolkitgetScreenSize();
int width=screenwidth;
int height=screenheight;
java中获取Panel上某个像素点的像素颜色,代码如下:
public static void main(String[] args) {//创建一个150150,RGB高彩图,类型可自定
BufferedImage img=new BufferedImage(150, 150, BufferedImageTYPE_INT_rgb);
//取得图形
Graphics g=imggetGraphics();
//设置黑色(black)
gsetColor(ColorBLACK);
//填充颜色
gfillRect(0, 0, imggetWidth(), imggetHeight());
//在D盘创建个一个png格式
File file=new File("D:/zhidaopng");
try{
//以png方式写入,可改成jpg、gif等其它后缀
ImageIOwrite(img, "PNG", file);
}catch (IOException e){
eprintStackTrace();
}
//D盘上就生成了一个zhidaopng的黑色
}
以上就是关于JAVA中怎么获取一个字符串占的像素有什么方法全部的内容,包括:JAVA中怎么获取一个字符串占的像素有什么方法、java鼠标坐标是像素值、用java写电脑端软件 怎么适配各种分辨率的屏幕呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)