展开全部

你这样的做法很多地方32313133353236313431303231363533e59b9ee7ad9431333332623961都不正确的!比如如果你用的是流布局而你也没有给你的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() {

@Override

public 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);

}

@Override

protected 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中Graphics类drawString()方法问题相关推荐

  1. java域的控制修饰符可分为_Java中的类和方法的修饰符

    java 中的类和方法的修饰符Java程序在定义类时,除了使用class关键字标识之外,还可以在class之前增加若干类的修饰符来修饰限定所定义的类的特性.类的修饰符分为访问控制符和非访问控制符两大类 ...

  2. java properties 参数_Java中Properties 类的详细使用

    我把你的头像,设置成我的名字,此刻你便与我同在. 我把你的名字,写进我的代码里面,以后,我的世界便存在着你. 一.Properties 类 Properties 类位于 java.util.Prope ...

  3. java file构造方法_Java中FileOutputStream类的常用方法

    今天动力节点java学院小编将为大家分享Java中FileOutputStream类的常用方法,希望通过此文能够帮助到大家,下面就随小编一起看看Java中FileOutputStream类的常用方法都 ...

  4. java printwriter用法_Java中printwriter类的用法 | 学步园

    printwriter类: java.io 类 PrintWriter java.lang.Object java.io.Writer java.io.PrintWriter 所有已实现的接口: Cl ...

  5. java 异常 中文_Java中所有的运行时异常,带中文解释

    展开全部 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:Negat ...

  6. java如何重写_java中如何重写一个方法

    方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...

  7. java同步关键字_Java中synchronized关键字修饰方法同步的用法详解

    Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...

  8. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  9. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

最新文章

  1. 当您访问未加密的HTTP网站时,谁能看到您的数据?—Vecloud微云
  2. 深度学习核心技术精讲100篇(三十八)-滴滴司机调度系统实践
  3. numpy.eye详解
  4. 算法竞赛入门与进阶 (一)枚举
  5. 前端学习(1925)vue之电商管理系统电商系统之美化一层循环的UI结构
  6. JavaScript创建Element元素/标签的工具/方法
  7. .net面试题(会持续更新)
  8. 微软公开PrintNightmare系列第3枚无补丁0day,谷歌修复第8枚已遭利用0day
  9. 纯CSS一分钟让网站拥有暗黑模式切换功能
  10. mysql data::dumper_初始化mysql数据库提示缺少Data:dumper模块解决方法
  11. python cpu温度_使用Python(和其他一些不错的技巧)检查CPU的温度
  12. 微信小程序最新获取头像以及昵称方法
  13. 微软 Visual Studio 2019 正式发布
  14. xiunobbs回帖时间排序修改
  15. 【Kafka】Kafka简单总结
  16. 法律纠纷信息检索(爬虫)
  17. 2022最详细,最新的 Win11/WIN10 安装CUDA11.2和cuDNN(必坑之作)完美教程
  18. 简单高效的直播直播系统源码需要的服务器
  19. 通过网络链接显示网页中的图片
  20. 【移动安全实战篇】————5、Android屏幕解锁图案破解

热门文章

  1. 应届毕业生该如何找工作
  2. react项目搭建流程
  3. 如何实现redis秒杀?
  4. 一种另类的img转iso的方法
  5. OpenFlow:简述对OpenFlow协议的认识
  6. web大学生篮球网站作业 使用HTML+CSS技术设计的篮球杜兰特网站
  7. linux下tomcat安装及配置教程
  8. rabbitmq修改端口linux,修改rabbitmq web-UI端口号
  9. 由Archive包导出IPA
  10. 面向对象思想设计简单动物乐园Java程序