我相当确定下面的代码是有效的Java 1.8代码:
import java.util.function.Consumer;
public class UnsolvableClass {
private Consumer<Object> func = (Object theErrorVariable) -> {};
public UnsolvableClass() {
return;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可能会想:"为什么在构造函数中有返回?" 好吧,那是因为它是我提出的最小的示例代码,产生了这个错误.
请注意,在构造函数中使用return语句是完全合法的.
编译时,javac会抛出此错误.
UnsolvableClass.java:10: error: variable theErrorVariable might not have been initialized
return;
^
1 error
Run Code Online (Sandbox Code Playgroud)
我喜欢当错误与..."theErrorVariable"变量未被初始化时它认为错误发生在"返回"行上的情况.
如果我删除"返回"行,一切都编译好.此外,如果我删除lambda语句,它也编译好.
注意:我尝试使用Eclipse的java编译器进行编译,并且编译成功.
听起来像javac的lambda支持中一个非常模糊的错误.我错过了什么吗?
如果我不是,这是一个真正的错误,我会在哪里向Oracle报告?
我正在寻找一个自定义类加载器,它将JAR从自定义网络加载文件.最后,我必须使用的是JAR文件的字节数组.
我无法将字节数组转储到文件系统上并使用URLClassLoader.
我的第一个计划是JarFile从流或字节数组创建一个对象,但它只支持一个File对象.
我已经写了一些使用了JarInputStream:
public class RemoteClassLoader extends ClassLoader {
private final byte[] jarBytes;
public RemoteClassLoader(byte[] jarBytes) {
this.jarBytes = jarBytes;
}
@Override
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
Class<?> clazz = findLoadedClass(name);
if (clazz == null) {
try {
InputStream in = getResourceAsStream(name.replace('.', '/') + ".class");
ByteArrayOutputStream out = new ByteArrayOutputStream();
StreamUtils.writeTo(in, out);
byte[] bytes = out.toByteArray();
clazz = defineClass(name, bytes, 0, bytes.length);
if …Run Code Online (Sandbox Code Playgroud) 如今许多笔记本电脑都有FN热键来改变音量,亮度等,并且通常会在屏幕上呈现完全在操作系统上方呈现的视觉提示.对于新的Windows 8/8.1系统,这种视觉甚至出现在地铁一侧的桌面之外.它们不能在无边框窗口内绘制,否则它不会显示在metro接口上.
我曾尝试研究DirectX是否可以直接绘制到屏幕上,但它似乎不能.我甚至不知道我是否应该研究OpenGL ......?
我使用GDI取得了一些成功; 特别是带参数NULL的GetDC函数来抓取屏幕设备.
#include <Windows.h>
int main() {
const HDC dc = GetDC(NULL);
while (1) {
Rectangle(dc, 100, 100, 500, 500);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这需要重复渲染所有内容,因为我的屏幕区域可能会被后台更改的其他窗口覆盖.即使它在循环中重新渲染,也会出现大量的屏幕闪烁.
这些笔记本电脑的OEM制造商如何实现这一目标?
谢谢.
看起来PHPStorm不想遵循我指定的代码样式.每次格式化HTML文件时,它都会折叠缩进:
<html>
<head>
bleh
</head>
<body>
bleh
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
至
<html>
<head>
<bleh>
bleh
<bleh>
</head>
<body>
<bleh>
bleh
<bleh>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
"bleh"(包含所有包含的标签)缩进了它们的假设.
我找到了设置:文件 - >设置 - >代码样式 - > HTML - >其他 - >"不要缩进子项".
那里面填充了几个已经删除的标签(因此文本字段为空).
这些设置理论上适用于当前方案的项目方案.
但是,我还没有完全理解这些方案的概念,所以我可能会遗漏一些重要的东西.
图片:
http
://snapshot.overloadproducts.com/7411c9d50e0b43edc76c1e625a38d61c http://snapshot.overloadproducts.com/5a74f83356572f3644a6d52bf2fa1f66
编辑:第二天打开PHPStorm,它表示项目文件已在外部编辑,需要刷新.一旦它完成,它再次正确格式化.
因此,某些设置文件不同步,并且设置窗口未保存到文件中.
我认为还是一个错误.
这是我第一次使用任何StackExchange网站,所以让我们看看它是怎么回事.
所以我一直用Java制作一个"本地"聊天程序,并使用JTextField进行聊天输入.但我想允许多行聊天,所以我切换到JTextArea.我正在使用GroupLayout(使用Window Builder Pro-eclipse构建),以便轻松调整窗口/组件的大小.这是一张图片:

JTabbedPane,JTextArea和Send按钮都包含在JPanel中,左边的所有内容都在它自己的JPanel中.所以我有JTextArea和按钮停靠在右侧JPanel的底部.允许JTextArea垂直调整大小,但按钮不允许.当我输入新行时,我能够让JTextArea垂直增长,如下所示:

但我无法想办法,如果我在JTextArea中输入一定数量的行,则会出现滚动条并阻止JTextArea占用更多空间.所以我尝试将JTextArea包装在JScrollPane中,但最初禁用滚动条,然后在我需要JTextArea开始滚动时启用它们,但我了解到如果我将它包装起来,JScrollPane将不会增长但仍然会像它一样滚动条可见,但......没有它们.:/
**我想在这里放一个链接,但StackOverflow不喜欢我;)
所以,我有点卡住......有什么东西可以做到这一点,我错过了吗?我想我可以创建两个不同的GroupLayout对象,一个滚动窗格甚至没有效果,然后其他滚动窗格有效,但卡在一定大小.在keyPress监听器上,我可以检查文本区域是否超过某个限制,然后它会切换面板的布局?内部JTextArea仍然是同一个对象,但只是不同的布局对象.关于这种方法的意见?
无论如何,提前感谢所有花时间回答这个问题的人.:)
我正在使用JList来保存聊天程序的聊天数据.
它使用自定义列表渲染器将自定义JPanel对象呈现为元素类型.
这个JPanel包含两个JLabel(锚定到顶部,用于名称和时间),以及一个JTextArea(锚定到底部,用于聊天消息).
它看起来像这样:
一张pic1 http://oi44.tinypic.com/20jiix5.jpg
一切都很好,但我想添加一个隐藏/显示功能.
使用以前编程的PopupMenu处理程序,当您右键单击元素时,会出现一个弹出窗口.
一张pic2 http://oi42.tinypic.com/2m5exxt.jpg
当你点击隐藏(或显示,它是一个切换),那么它应该最小化元素,如此...
一张pic3 http://oi41.tinypic.com/kf3apx.jpg
唯一的问题是......它不会更新JList单元格大小,因为您可以看到文本曾经是大的空白区域.
但是,当我输入另一条消息时......
一张pic4 http://oi40.tinypic.com/35jdoo7.jpg
JList修复了完成"隐藏"操作的单元格大小.
我的问题是如何让JList以编程方式重新验证/重绘/ etc.
并且不要以为我没有尝试过所有明显的解决方案......
public void setHidden(boolean hidden) {
// this is in the custom JPanel class
System.out.println("Initial: " + this.getPreferredSize());
// TextArea is the JTextArea which we set invisible when we want to hide it.
TextArea.setVisible(!hidden); // TextArea is a variable btw
this.invalidate();
this.validate();
this.repaint();
System.out.println("After: " + this.getPreferredSize());
container.revalidate();
}
/*
* This is what the above printlns show when you …Run Code Online (Sandbox Code Playgroud) 我正在尝试以screen另一个用户身份执行sudo.
我正在使用命令:
echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)
在互联网上找到的任何帮助都说明了sudo清除环境变量(比如PATH).所以我决定使用应用程序的完整路径,但我仍然得到命令not found错误.
错误:
sudo: /usr/bin/screen -ls: command not found
Run Code Online (Sandbox Code Playgroud)
Sudo安装在系统上.屏幕安装在系统上.
因为sudo,我已经尝试了-E和-H旗帜,但它没有帮助.
我试着PATH用这样的东西设置变量:
... | /usr/bin/sudo -u 'myuser' -S 'env PATH=$PATH; /usr/bin/screen -ls'
Run Code Online (Sandbox Code Playgroud)
据说$PATH假设在命令执行之前扩展但我得到了其他错误......
有人可以提供一个命令,让我可以作为另一个用户执行命令,并解释命令的每个部分的作用,以便我能理解它吗?
谢谢.
我在使用DataTrigger在"选择"时可视地更改UserControl时遇到了问题.
我在名为"IsSelected"的类中创建了一个"bool"依赖项属性.
我正在使用这个XAML:
<UserControl x:Name="zControl"
x:Class="Intel.AdaptivePerformance.Client.UI.Controls.ZoomControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignWidth="50" d:DesignHeight="32">
<Border BorderBrush="Black" BorderThickness="1,0,1,2" Background="#2F000000">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=zControl, Path=IsSelected}" Value="True">
<Setter Property="BorderThickness" Value="1,0,1,0" />
<Setter Property="Background" Value="{x:Null}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Label Content="{Binding ElementName=zControl, Mode=OneWay, Path=Text}" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" VerticalContentAlignment="Center" />
</Border>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
并使用此C#:
public partial class ZoomControl : UserControl {
public static readonly DependencyProperty IsSelectedProperty = DependencyProperty.Register("IsSelected", typeof(bool), typeof(ZoomControl), new PropertyMetadata(false));
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(ZoomControl), new …Run Code Online (Sandbox Code Playgroud)