绘制文字java代码 java绘画图的代码

java 字体 加横线

lz  你好

为岱岳等地区用户提供了全套网页设计制作服务,及岱岳网站建设行业解决方案。主营业务为成都做网站、网站建设、岱岳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

这个很好实现的  就用绘图机制绘制一下就行了  绘制文字和横线

代码如下:

import javax.swing.*;

import java.awt.*;

public class StringLine extends JFrame{

private MyPanel mp;

public StringLine(){

super("StringLine");

mp = new MyPanel();

getContentPane().add(mp);

setLocation(200,100);

setSize(100,100);

setVisible(true);

setResizable(false);

setDefaultCloseOperation(3);

}

public static void main (String[] args) {

new StringLine();

}

}

//自定义面板类

class MyPanel extends JPanel{

//重写paintComponent方法

public void paintComponent(Graphics g){

g.drawString("价格 : 2.00元", 5,10);//绘制文字

g.drawLine(5,5,75,5);//绘制横线

}

}

怎样用java绘制弧形文字

用java绘制弧形文字的方法是调用java 2d图形处理的api实现的。

完整代码如下:

// 引入需要的jar包

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.FontMetrics;

import java.awt.Graphics;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JFrame;

import javax.swing.JPanel;

//定义一个类

public class FontPanel extends JPanel {

//定义一个画板,入参是图形g

public void paintComponent(Graphics g) {

super.paintComponent(g);

Font f = new Font("SansSerif", Font.BOLD, 14); 设置字体加粗

Font fi = new Font("SansSerif", Font.BOLD + Font.ITALIC, 14);设置字体加粗,斜体

FontMetrics fm = g.getFontMetrics(f); //得到当前的font metrics

FontMetrics fim = g.getFontMetrics(fi);//得到当前的font metrics

String s1 = "Java ";

String s2 = "Source and Support"; 定义字符串

String s3 = " java 字体变形学习";

int width1 = fm.stringWidth(s1); 设置宽度

int width2 = fim.stringWidth(s2);

int width3 = fm.stringWidth(s3);

Dimension d = getSize(); 设置二维图形的维度

int cx = (d.width - width1 - width2 - width3) / 2; 计算绘制字体的x轴

int cy = (d.height - fm.getHeight()) / 2 + fm.getAscent();计算绘制字体的y轴

g.setFont(f);

g.drawString(s1, cx, cy);

cx += width1;

g.setFont(fi);

g.drawString(s2, cx, cy);

cx += width2;

g.setFont(f);

g.drawString(s3, cx, cy);

}

main方法测试:

public static void main(String[] args) {

JFrame frame = new JFrame();

frame.setTitle("NotHelloWorld2");

frame.setSize(350, 200);

frame.addWindowListener(new WindowAdapter() {

 public void windowClosing(WindowEvent e) {

   System.exit(0);

 }

});

Container contentPane = frame.getContentPane();

contentPane.add(new FontPanel());

frame.show();

}

}

运行结果:

怎么用java写这个文字的外轮廓

用java绘制弧形文字的方法是调用java 贰d图形处理的api实现的。 完整代码如下: // 引入需要的jar包 import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JPanel; //定义一个类 public class FontPanel extends JPanel { //定义一个画板,入参是图形g  public void paintComponent(Graphics g) {    super.paintComponent(g);    Font f = new Font("SansSerif", Font.BOLD, 依四); 设置字体加粗    Font fi = new Font("SansSerif", Font.BOLD + Font.ITALIC, 依四);设置字体加粗,斜体    FontMetrics fm = g.getFontMetrics(f); //得到当前的font metrics    FontMetrics fim = g.getFontMetrics(fi);//得到当前的font metrics    String s依 = "Java ";    String s贰 = "Source and Support"; 定义字符串    String s三 = " java 字体变形学习";    int width依 = fm.stringWidth(s依); 设置宽度    int width贰 = fim.stringWidth(s贰);    int width三 = fm.stringWidth(s三);    Dimension d = getSize(); 设置二维图形的维度    int cx = (d.width - width依 - width贰 - width三) / 贰; 计算绘制字体的x轴    int cy = (d.height - fm.getHeight()) / 贰 + fm.getAscent();计算绘制字体的y轴    g.setFont(f);    g.drawString(s依, cx, cy);    cx += width依;    g.setFont(fi);    g.drawString(s贰, cx, cy);    cx += width贰;    g.setFont(f);    g.drawString(s三, cx, cy);  } main方法测试:  public static void main(String[] args) {    JFrame frame = new JFrame();    frame.setTitle("NotHelloWorld贰");    frame.setSize(三50, 贰00);    frame.addWindowListener(new WindowAdapter() {      public void windowClosing(WindowEvent e) {        System.exit(0);      }    });    Container contentPane = frame.getContentPane();    contentPane.add(new FontPanel());    frame.show();  } } 运行结果

java在图片上绘制文字,文字不完全在图片内时自动向内移动

可使使用界面来解决的

javatable

1 /**

工具栏

JToolBar

采用从左开始的

FlowLayout

布局

*/

2 JToolBar toolBar = new JToolBar();

3 toolBar.setBorderPainted(false); //

不画边界

4 toolBar.setLayout(new FlowLayout(FlowLayout.LEFT));

5

6 /**

窗体采用动态的

BorderLayout

布局,通过获取工具栏或状态栏的复选标记

进行界面的动态调整

*/

7 JSplitPane splitPane = new JSplitPane();

8 splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT); //

设置统计窗口分隔条

的方向

9 splitPane.setDividerLocation(300); //

设置分隔条的位置

10 splitPane.setOneTouchExpandable(true);

11 JCheckBoxMenuItem toolBarItem = new JCheckBoxMenuItem("

工具栏

(T)",

true);

12 JLabel statusLabel = new JLabel("

当前统计目标

:");

13 JCheckBoxMenuItem statusBarItem = new JCheckBoxMenuItem("

状态栏

(S)",

true);

14 /**

设置系统窗体布局并动态设置工具栏和状态栏

*/

15 private void setLayout()

16 {

5

17 if (toolBarItem.getState() ' statusBarItem.getState())

18 {

19 this.getContentPane().add(BorderLayout.NORTH, toolBar);

20 this.getContentPane().add(BorderLayout.CENTER, splitPane);

21 this.getContentPane().add(BorderLayout.SOUTH, statusLabel);

22 }

23 else if (toolBarItem.getState() !statusBarItem.getState())

24 {

25 this.getContentPane().add(BorderLayout.NORTH, toolBar);

26 this.getContentPane().remove(statusLabel);

27 }

28 else if (statusBarItem.getState() !toolBarItem.getState())

29 {

30 this.getContentPane().add(BorderLayout.SOUTH, statusLabel);

31 this.getContentPane().remove(toolBar);

32 }

33 else if (!toolBarItem.getState() !statusBarItem.getState())

34 {

35 this.getContentPane().remove(toolBar);

36 this.getContentPane().remove(statusLabel);

37 }

38 this.show(); //

添加或移去组件后刷新界面

39 }


新闻名称:绘制文字java代码 java绘画图的代码
链接地址:http://ybzwz.com/article/dopejcj.html