Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFrame设置自定义不透明度_Java_Jframe - Fatal编程技术网

Java JFrame设置自定义不透明度

Java JFrame设置自定义不透明度,java,jframe,Java,Jframe,如何从用户输入(比如从微调器)更改jframe的不透明度 int opacity = 7; double dOpacity = opacity/10; String sOpacity = Double.toString(dOpacity)+"f"; this.setOpacity(sOpacity); //??? 上面的代码会产生一系列错误。有没有办法得到一个不透明度数字,比如说6,然后把它转换成一个“this.setOpacity(sOpacity);”的值你会接受吗 错误: Excepti

如何从用户输入(比如从微调器)更改jframe的不透明度

int opacity = 7;
double dOpacity = opacity/10;
String sOpacity = Double.toString(dOpacity)+"f";
this.setOpacity(sOpacity); //???
上面的代码会产生一系列错误。有没有办法得到一个不透明度数字,比如说6,然后把它转换成一个“this.setOpacity(sOpacity);”的值你会接受吗

错误:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: GuiClock.Main.setOpacity
    at GuiClock.Main.cinitComponents(Main.java:97)
    at GuiClock.Main.<init>(Main.java:16)
    at GuiClock.Main$6.run(Main.java:168)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
线程“AWT-EventQueue-0”java.lang.RuntimeException中的异常:不可编译的源代码-错误的符号类型:GuiClock.Main.setOpacity
位于GuiClock.Main.cinitComponents(Main.java:97)
在GuiClock.Main。(Main.java:16)
在GuiClock.Main$6.run(Main.java:168)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
在java.awt.EventQueue.access$200(EventQueue.java:103)
位于java.awt.EventQueue$3.run(EventQueue.java:694)
在java.awt.EventQueue$3.run(EventQueue.java:692)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:161)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:150)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

您正在向setOpacity方法插入一个字符串作为参数,该方法只接受双精度。

该方法使用一个
float
作为参数。您正在传递一个
字符串


尝试
this.setOpacity(Float.parseFloat(sOpacity))

在您的代码中:
dOpacity=0.0

    int opacity = 7;
    float dOpacity = (float)opacity/10; //casting to float , here dOpacity=0.7
    String sOpacity = Float.toString(dOpacity)+"f"; // sOpacity="0.7f"
    this.setOpacity(Float.parseFloat(sOpacity)); //setOpacity(0.7f);

你得到了什么错误?@MadProgrammer发布了错误,但我认为这更多的是语法问题。不幸的是,这不起作用,不会产生错误,但是jframe的不透明度为0,即使输入应该显示为其他。我尝试使用了双精度,然而,它仍然只接受以下形式的内容:0.7f0.7f不是字符串,它表示0.7浮点。尝试浮动容量=(浮动)不透明度/10;例如,您也可以说:双重密度=0.7f;因为double实际上是一个更大的浮点。不确定为什么需要将
浮点
转换为
字符串
,而不是直接使用
dOpacity
值…但这只是我的问题。。。