java - 使我的椭圆成为按钮以在同一窗口上显示一些数据?
问题描述
你好,我试图让我的椭圆形一个按钮,这样当我双击它时,它应该显示数据的快照视图。我创建了一些代码,但它不是 100% 的功能,如果有人可以帮助我会很好。
代码:
boolean drawText = false;
void setup(){
size(800,600);
}
void draw(){
background(0);
noStroke();
fill(245, 27, 27, 151);
ellipse(110,110,120,120);
if(dist(mouseX,mouseY,110,110)<60){
cursor(HAND);
} else {
cursor(ARROW);
}
if (drawText) {
fill(#FFFF00);
text("Hi!", 110, 110);
}
}
void mousePressed() {
if (mouseButton == LEFT && dist(mouseX,mouseY,110,110)<60) {
drawText = true;
} else if (mouseButton == LEFT && dist(mouseX,mouseY,110,110)<60){
drawText = false;
}
}
解决方案
我不确定我是否以正确的方式理解您的问题,但从它和您在它下面的评论来看,我理解您希望在单击按钮时显示文本并在再次单击按钮时隐藏文本。如果是这样,此代码应该适合您:
boolean drawText = false;
void setup(){
size(800,600);
}
void draw(){
background(0);
noStroke();
fill(245, 27, 27, 151);
ellipse(110,110,120,120);
if(dist(mouseX,mouseY,110,110)<60){
cursor(HAND);
} else {
cursor(ARROW);
}
if (drawText) {
fill(#FFFF00);
text("Hi!", 110, 110);
}
}
void mousePressed() {
if (mouseButton == LEFT && dist(mouseX,mouseY,110,110)<60) {
drawText = !drawText;
}
}
因此,当现在单击按钮时,drawText 变为相反:如果是true
之前,则设置为,反之亦然false
。这样,单击按钮使文本可见,再次单击它会使文本再次不可见。
编辑:另一种理解你的问题的方式
理解您的问题的另一种方法是,您希望仅在双击按钮后才显示文本。在这种情况下,您可以使用evt.getCount()
里面的函数mousePressed
。单击后返回 1,双击后返回 2,依此类推。这是一些使该工作起作用的代码:
boolean drawText = false;
void setup(){
size(800,600);
}
void draw(){
background(0);
noStroke();
fill(245, 27, 27, 151);
ellipse(110,110,120,120);
if(dist(mouseX,mouseY,110,110)<60){
cursor(HAND);
} else {
cursor(ARROW);
}
if (drawText) {
fill(#FFFF00);
text("Hi!", 110, 110);
}
}
void mousePressed(MouseEvent evt) {
if (evt.getCount() == 2) { // detect double click
if (mouseButton == LEFT && dist(mouseX,mouseY,110,110)<60) {
drawText = !drawText;
}
}
}
推荐阅读
- azure - 使用 Azure 函数和 HTTP 触发器在 Azure 服务总线订阅中获取下一条消息
- python - 如何将列表的一部分写入csv?
- kotlin - 如何从 Observable java rx 1.2 和 kotlin 中提取、工作和返回信息
- reactjs - 如何知道 reactstrap 表单的输入/表单字段的状态?
- apache-spark-mllib - 如何在 spark mlib 中设置 ALS 推荐器的起点?
- r - R删除重复并聚合多列中的总和
- java - RETURNING 子句在 pgAdmin 中有效,但为我的 Java 代码返回 -1
- odoo - 采购订单电子邮件链接已损坏 odoo
- java - 监听按键事件会阻止按键工作
- vue.js - Vuetify 基本模板溢出