java中Graphics类drawString()方法问题
你这样的做法很多地方都不正确的!比如如果你用的是流布局而你也没有给你的MyButton的父类传文本得话!那么他的自定义按钮大写是默认为没有文本的大小!就是很小的啦!(不知道你明白没) 给你给个例子import java.awt.Color;import java.awt.Cursor;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.io.Serializable;import javax.swing.*;import jxl.format.Border;public class NButton {public static void main(String[] args) {JFrame jf = new JFrame("按钮");Mybutton mybutton = new Mybutton("button");mybutton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("奶萨倒萨爱上");}});jf.add(mybutton);jf.setLayout(new FlowLayout());jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setSize(200, 200);jf.setLocationRelativeTo(null);}}class Mybutton extends JButton{private static final long serialVersionUID = 1L;private String str = new String();public Mybutton() {super();// TODO Auto-generated constructor stub}public Mybutton(String text) {super(text);Dimension dimension = this.getPreferredSize();dimension.width=dimension.height=Math.max(dimension.width, dimension.height);this.setPreferredSize(dimension);this.setBorderPainted(false);this.setContentAreaFilled(false);str = text;}@Override protected void paintBorder(Graphics g){ g.setColor(this.getForeground()); g.drawOval(0,15,getSize().width - 1,getSize().height - 30); }@Overrideprotected void paintComponent(Graphics g) {super.paintComponents(g); if(this.getModel().isArmed()){ g.setColor(Color.BLUE); }else{ g.setColor(Color.WHITE); }g.fillOval(0, 15, this.getWidth(), this.getHeight()-30); g.setColor(Color.BLACK);g.drawString(str, 20, 40);}}
JAVA中,drawstring 方法的用法,格式是什么啊
JAVA中,drawstring 方法的用法,格式如下:1、drawString(AttributedCharacterIteratoriterator, int x, int y)使用此图形上下文的当前颜色绘制由指定迭代器给定的文本。2、drawString(Stringstr, int x, int y)使用此图形上下文的当前字体和颜色绘制由指定 string 给定的文本。public abstract class Graphicsextends Object Graphics 类是所有图形上下文的抽象基类,允许应用程序可 以在组件(已经在各种设备上实现),以及闭屏图像上,进行绘制。 Graphics 对象封装了 Java 支持的基本呈现操作所需的状态信息。扩展资料1,DrawString(String, Font, Brush, PointF)在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。2,DrawString(String, Font, Brush, RectangleF)在指定矩形并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。3,DrawString(String, Font, Brush, PointF, StringFormat)使用指定 StringFormat 的格式化特性,用指定的 Brush 和 Font 对象在指定的位置绘制指定的文本字符串。4,DrawString(String, Font, Brush, RectangleF, StringFormat)使用指定 StringFormat 的格式化特性,用指定的 Brush 和 Font 对象在指定的矩形绘制指定的文本字符串。5,DrawString(String, Font, Brush, Single, Single)在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。参考资料来源:百度百科 - Java (计算机编程语言)百度百科 - graphics
C#中使用DrawString绘制文本时怎样使文本居中或右对齐
void 绘制文字(Graphics 画家){ StringFormat 格式 = new StringFormat(); 格式.Alignment = StringAlignment.Center; //居中 格式.Alignment = StringAlignment.Far; //右对齐 string 文本 = ""; Rectangle 矩形 = new Rectangle(0, 0, 200, 200); Font 字体 = new Font("宋体", 10.5F); Brush 画笔 = Brushes.Blue; 画家.DrawString(文本, 字体, 画笔, 矩形, 格式);}代码如上。如满意,请采纳,谢谢。
JAVA中,drawstring 方法的用法,格式是什么啊
Java中Graphics类的drawString()方法:i)drawString(String str,int x,int y):String str是可以在屏幕上显示的字符串。整数类型x和y是在图形窗口上保持x和y位置的变量。 ii)drawString(AttributedCharacterIterator迭代器,int x,int y):根据TextAttribute类的规范,呈现指定迭代器的文本,并应用其属性。ttributedCharacterIterator允许迭代文本和相关属性信息。属性是由键标识的键/值对。给定字符上没有两个属性可以具有相同的键。属性的值是不可变的,或者客户端或存储不得突变。它们总是通过引用传递,而不是克隆。演示drawString()方法的示例程序:// drawString示例程序import java.awt。*; import java.applet。*; public class HelloWorldApplet扩展Applet { public void paint(Graphics g){ g.drawString(“Hello World”,100,100); } }输出:扩展资料:Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。画线在窗口画一条线段,可以使用Graphics类的drawLine()方法:drawLine(int x1,int y1,int x2,int y2)例如,以下代码在点(3,3)与点(50,50)之间画线段,在点(100,100)处画一个点。g.drawLine(3,3,50,50);//画一条线段g.drawLine(100,100,100,100);//画一个点。2. 画矩形有两种矩形:普通型和圆角型。(1) 画普通矩形有两个方法:drawRect(int x,int y,int width,int height):画线框围起来的矩形。其中参数x和y指定左上角的位置,参数width和height是矩形的宽和高。fillRect(int x,int y,int width,int height):是用预定的颜色填充一个矩形,得到一个着色的矩形块。以下代码是画矩形的例子:g.drawRect(80,100,40,25);//画线框g.setColor(Color.yellow);g.fillRect(20,70,20,30);//画着色块(2)画圆角矩形也有两个方法:drawRoundRect(int x,int y,int width, int height, int arcWidth, int arcHeight):是用线围起来的圆角矩形。其中参数x和y指定矩形左上角的位置;参数width和heigth是矩形的宽和高;arcWidth和arcHeight分别是圆角弧的横向直径和圆角弧的纵向直径。fillRoundRect(int x,int y,int width,int height,int arcWidth,int archeight):是用预定的颜色填充的圆角矩形。各参数的意义同前一个方法。以下代码是画矩形的例子:g.drawRoundRect(10,10,150,70,40,25);//画一个圆角矩形g.setColor(Color.blue);g.fillRoundRect(80,100,100,100,60,40);//涂一个圆角矩形块;g.drawRoundRect(10,150,40,40,40,40);//画圆g.setColor(Color.red); g.fillRoundRect(80,100,100,100,100,100);//画圆块;可以用画圆角矩形方法画圆形,当矩形的宽和高相等,圆角弧的横向直径和圆角弧的纵向直径也相等,并等于矩形的宽和高时,画的就是圆形。参见上述例子中的注释,前一个是画圆,后一个是涂圆块。