import
java
.
awt
.
Color
;
import
java
.
awt
.
Graphics
;
import
java
.
awt
.
Graphics2D
;
import
java
.
awt
.
event
.
WindowAdapter
;
import
java
.
awt
.
event
.
WindowEvent
;
import
javax
.
swing
.
JFrame
;
public
class
MyGame1
extends
JFrame
{
public
void
paint
(
Graphics g
)
{
Color c
=
g
.
getColor
(
)
;
g
.
setColor
(
Color
.
BLUE
)
;
g
.
drawLine
(
100
,
100
,
300
,
300
)
;
g
.
drawRect
(
100
,
100
,
300
,
300
)
;
public
void
launchFrame
(
)
{
this
.
setTitle
(
"王永杰出品 必是精品"
)
;
this
.
setVisible
(
true
)
;
this
.
setSize
(
500
,
500
)
;
this
.
setBackground
(
Color
.
white
)
;
this
.
addWindowListener
(
new
WindowAdapter
(
)
@Override
public
void
windowClosing
(
WindowEvent e
)
{
System
.
exit
(
0
)
;
}
)
;
* @param args
public
static
void
main
(
String
[
]
args
)
{
MyGame1 f
=
new
MyGame1
(
)
;
f
.
launchFrame
(
)
;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210707180441109.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4NTA4Mjc4,size_16,color_FFFFFF,t_70#pic_center)
# 二:解决办法
在point方法中 加入 super.paint(g); 即可将背景颜色改回原来的颜色。我还尝试了在设置窗口的 背景颜色为白色 但并没有效果 ,希望有小伙伴知道的可以评论一下。
一:导入与源码package src.cn.wyj.飞机;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;public class MyGame1 extends JFrame{ //文本的绘制
public class Calculation {
public static final DecimalFormat df = new DecimalFormat("######0.00");
* @methodName format2
point
* @desc 保留两位小数点
* @param value
* @return
java
.lang.String
* @author xm
* @create 2018/6/7 12:03
public static String format2
point
(Number value) {
return df.format(value);
public static Double add(Number value1, Number value2) {
BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
return b1.add(b2).doubleValue();
* 提供精确的减法运算。
* @param value1
* 减数
* @param value2
* 被减数
* @return 两个参数的差
public static Double sub(Number value1, Number value2) {
BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
return b1.subtract(b2).doubleValue();
* 提供精确的乘法运算。
* @param value1
* 被乘数
* @param value2
* 乘数
* @return 两个参数的积
public static Double mul(Number value1, Number value2) {
BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
return b1.multiply(b2).doubleValue();
* 提供精确的除法运算。
* @param value1
* 除数
* @param value2
* 被除数
* @return 除数/被除数
public static Double div(Number value1, Number value2) {
//MathContext mc = new MathContext(2, RoundingMode.HALF_DOWN);//精度为2,舍入模式为大于0.5进1,否则舍弃
BigDecimal b1 = new BigDecimal(Double.toString(value1.doubleValue()));
BigDecimal b2 = new BigDecimal(Double.toString(value2.doubleValue()));
return b1.divide(b2).doubleValue();
public static void main(String[] args) {
Double aDouble=Calculation.add(56.9, 1.67);
System.out.println(aDouble);
Double bDouble=Calculation.sub(99.2,aDouble);
System.out.println(bDouble);
最近几天忽然发现关于
Graphics2D
的详细使用比较少,正好这两天在搞
Java
操作图片的相关需求。
顺便整理一下
Graphics2D
相关的API方法,希望能帮到一些朋友。
欢迎大家关注这个专栏。
为什么要写一个
Graphics2D
使用教程?
1.下载(很快)可以离线导入Eclipse软件设置。
http://www.eclipsecolorthemes.org/?view=empty&action=download&theme=1867&type=epf
2.导入颜色配置文件至Eclipse:
Eclipse -> File -> Import -> General
要改变
Java
JFrame的
背景颜色
,可以使用JFrame的getContentPane()方法获取内容面板,然后使用setBackground()方法设置
背景颜色
。以下是一个示例代码:
```
java
import
java
x.swing.*;
import
java
.
awt
.*;
public class MyFrame extends JFrame {
public MyFrame() {
// 设置窗口大小和位置
Dimension d = new Dimension();
d.setSize(400, 300);
Point
p = new
Point
();
p.setLocation(400, 300);
setSize(d);
setLocation(p);
// 获取内容面板并设置
背景颜色
getContentPane().setBackground(Color.YELLOW);
// 显示窗口
setVisible(true);
public static void main(String[] args) {
new MyFrame();
在这个示例中,我们创建了一个继承自JFrame的MyFrame类,并在构造函数中获取内容面板并设置
背景颜色
为黄色。最后,我们创建了一个MyFrame对象并显示它。