永发信息网

用Graphics 画图 修改颜色的问题

答案:1  悬赏:80  手机版
解决时间 2021-03-16 09:26
this.jPanel1.getGraphics().drawLine(0,0,100,100);
this.jPanel1.getGraphics().setColor(new Color(255,255,255));
this.jPanel1.getGraphics().drawLine(0,0,100,100);
System.out.println(this.jPanel1.getGraphics().getColor());

为什么都是画黑色的线

为什么还是输出为0 0 0

在JPanel JLabel JButton都是这样

按逻辑来说修改值了就能输出所修改的值呀
怎么没人回答滴?
最佳答案
package untitled3;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JButton jButton1 = new JButton();

public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}


private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jPanel1.setPreferredSize(new Dimension(10, 50));
jButton1.setText("jButton1");
jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
contentPane.add(jPanel1, java.awt.BorderLayout.SOUTH);
jPanel1.add(jButton1);
contentPane.add(jPanel2, java.awt.BorderLayout.CENTER);
}

public void setColorAndDrawGraphics(Graphics g) {
g.setColor(Color.WHITE); //可以改变颜色,因为是引用传参
g.drawLine(0, 0, 100, 100); //颜色有改变
}

public void jButton1_actionPerformed(ActionEvent e) {
setColorAndDrawGraphics(jPanel2.getGraphics());
// jPanel2.getGraphics().setColor(Color.WHITE);//改变了也没改变(因为是副本)
jPanel2.getGraphics().drawLine(100, 100, 200, 200); //颜色无改变
}
}

class Frame1_jButton1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jButton1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}

就这原因:) "自答"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有三个网络摄像机连接在硬盘录像机上和交换机
澳门广场在哪里啊,我有事要去这个地方
办理签证 传真到公司 公司没人帮我接 这怎么
湖南财经工业职业技术学院会计专业专升本考试
我今年十二岁了,想在网上买一个滑板,希望有
为什么说传说对决是台服王者?
throwoneselffromthechair是什么意思
野生食物 野生小松鼠吃什么食物
万豪佳苑我想知道这个在什么地方
计算器没百分比键,怎么计算百分比?比如83的
3到4人的团队展示求创意啊,都是女生
若(a-2)的平方+|b+3|=0,则(a+b)的20
朋朋修脚(珍珠路店)地址有知道的么?有点事想
霸州火车站到霸州西站,打车多少钱
斗地主界面不正常,旁边有一片乱码,重新装了
推荐资讯
诸暨革命烈士纪念馆在什么地方啊,我要过去处
诺安股票是不是改成诺安先锋混合了
最近有恶心想吐易疲劳,左肩下有些刺痛是怎么
瑞格门业这个地址在什么地方,我要处理点事
我的纽曼mp4连接电脑直接进入充电
石碑的数量单位是什么?
我前天晚上发消息给一个同学,问了那天作业上
乳源到赣州多少公里
通乾动漫城在哪里啊,我有事要去这个地方
硬盘坏后,重装了系统但是调整不了屏幕亮度,
Ubuntu 10.10 安装时提示未定义根目录
为什么桌面会出现蓝色底
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?