我不知道它为什么不显示.首先,我创建一个组件实例,然后将其添加到二维JPanel数组中的某个元素.然后我循环遍历该数组并将每个JPanel添加到另一个JPanel容器中,该容器用于容纳所有JPanel.
然后我将最终容器添加到我的JFrame窗口并将可见性设置为true,它应该是可见的吗?
public class View extends JFrame {
Board gameBoard;
JFrame gameWindow = new JFrame("Chess");
JPanel gamePanel = new JPanel();
JPanel[][] squarePanel = new JPanel[8][8];
JMenuBar gameMenu = new JMenuBar();
JButton restartGame = new JButton("Restart");
JButton pauseGame = new JButton("Pause");
JButton log = new JButton("Log");
View(Board board){
gameWindow.setDefaultCloseOperation(EXIT_ON_CLOSE);
gameWindow.setSize(400, 420);
gameWindow.getContentPane().add(gamePanel, BorderLayout.CENTER);
gameWindow.getContentPane().add(gameMenu, BorderLayout.NORTH);
gameMenu.add(restartGame);
gameMenu.add(pauseGame);
gameMenu.add(log);
gameBoard = board;
drawBoard(gameBoard);
gameWindow.setResizable(false);
gameWindow.setVisible(true);
}
public void drawBoard(Board board){
for(int row = 0; row < 8; row++){
for(int col = 0; …Run Code Online (Sandbox Code Playgroud) 是否有可能在winforms中获取控件的屏幕截图而不实际在屏幕上显示?webBrowser组件怎么样?
我写了函数:
public static byte[, ,] Bitmap2Byte(Bitmap image)
{
int h = image.Height;
int w = image.Width;
byte[, ,] result= new byte[w, h, 3];
for (int i = 0; i < w; i++)
{
for (int j = 0; j < h; j++)
{
Color c= image.GetPixel(i, j);
result[i, j, 0] = c.R;
result[i, j, 1] = c.G;
result[i, j, 2] = c.B;
}
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但转换1800x1800图像需要将近6秒钟.我能更快地做到吗?
编辑:
好的,我发现了这个:http://msdn.microsoft.com/en-us/library/system.drawing.imaging.bitmapdata.aspx
有很好的例子.我唯一的问题是Marshal.Copy.我可以将数据直接复制到byte[,,]?
编辑2:
好的,有时我得到奇怪的像素值,它们似乎没有遵循r0 …
我有以下情况:
public interface IStuffer
{
public string Foo { get; }
}
public class BaseClass
{
public static string Foo { get { ... } }
}
public class MyClass : BaseClass, IStuffer
{
}
Run Code Online (Sandbox Code Playgroud)
这不会构建,因为MyClass需要一个Foo成员.如何使用BaseClass的Foo实现来满足MyClass对Foo的要求?
假设我有一个如下定义的类:
class foo{};
Run Code Online (Sandbox Code Playgroud)
现在,这是完全可以接受的;
foo f;
Run Code Online (Sandbox Code Playgroud)
怎么会出现编译错误?(uninitialized const ‘f’)
const foo f;
Run Code Online (Sandbox Code Playgroud)
我们为什么要这样做?
const foo f = foo();
Run Code Online (Sandbox Code Playgroud)
我知道为什么我们不能这样做..
const foo f(); // though it compiles..
Run Code Online (Sandbox Code Playgroud)
有趣的是,以下内容是有效的:
const std::string f;
Run Code Online (Sandbox Code Playgroud)
那么缺少foo什么?
我意识到那里有三个问题,这是一个糟糕的形式,但我希望有人可以在一个答案中为我解决这个问题.
编辑:如果它是愚蠢的,请随时关闭它...
我正在研究用swing/awt编写的大型无证应用程序.我必须对它进行更改,我需要在打开它时找出表单所属的类.有没有办法通过eclipse做到这一点?
例如:我打开应用程序并对应用程序执行某些操作以打开某些框架.我怎样才能找到那个表格的类?这可以通过eclipse完成吗?
我知道我可以梳理逻辑,但这是一个非常费力且基本上无效的过程,逻辑块可以是jar文件中的,也可以是混淆的.
谢谢.
Tomcat v7.0 Server中的Apache Axis2 Web服务运行时不支持服务项目Test.为什么?请帮我
我决定安装jinja2以与我的webapp应用程序一起使用,以支持autoescape功能.所以我将jinja2安装到python 2.5中并在我的项目中创建了一个指向该目录的符号链接.它大部分工作正常.
除了,当我实际尝试使用{%autoescape true%}标记时,我收到消息:
File "/Users/me/project/templates/_base.html", line 1, in template
{% autoescape true %}
TemplateSyntaxError: Encountered unknown tag 'autoescape'.
Run Code Online (Sandbox Code Playgroud)
我在文档中使用了标签:
{% autoescape true %} stuff {{var1}} stuff {{var2}}{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)
在我的处理程序文件中,我正在导入相关的东西:
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
from jinja2.ext import autoescape
Run Code Online (Sandbox Code Playgroud)
导入工作正常,因为它没有抛出错误.我做错了什么,或者jinja2本身有问题,比如可能在ext.py中?
更新:我在下面尝试了sharth的建议并获得了相同的结果.这是我使用他的建议更新的处理程序.
class MainHandler(BaseHandler):
def get(self):
self.context['testEscape']='<script type="javascript">alert("hi");</script>'
env = Environment(loader=FileSystemLoader([os.path.join(os.path.dirname(__file__), 'templates')]), autoescape=False)
template = env.get_template('index.html')
content = template.render(self.context)
self.response.out.write(content)
Run Code Online (Sandbox Code Playgroud)
同样,只要我不使用autoescape标签,它就可以正常工作.
我正在尝试将.csv文件导入phpmyadmin,其中有几个字段有意留空.我需要这些字段注册为空值,而不是只留下空白字符串.
我知道在字段属性中,您可以为每个字段选择允许"null"与"not null",但在导入时它仍然不会将单元格更改为空值.导入后我可以手动检查每条记录上每个字段的空框,但考虑到我正在使用的数据量,这是不切实际的.
有没有办法让phpmyadmin在导入时将这些空白单元格设置为空值?
在这个应用程序我正在开发我需要加载/调用已安装在手机上的另一个应用程序.这是一个仅供我个人使用的应用程序,因此无需检查是否安装了其他应用程序 - 我知道它是.
我已经用谷歌搜索了这个问题几个小时,但我发现任何有效的东西.主要是因为查找包名和类名的指南非常糟糕.
通过cmd和adb我能够找到关于我想要调用的应用程序的信息是:package:/data/app/com.soundcloud.android-1.apk=com.soundcloud.android(这正是它的内容)在cmd窗口说.)
我试过这样的事情:
Intent i = new Intent();
i.setClassName("/data/app/com.soundcloud.android-1.apk", "com.soundcloud.android");
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
但我的应用程序只是崩溃了.我使用上面的代码,因为有人说这可以调用一个应用程序:
Intent i = new Intent();
i.setClassName("<package_name>","<Class Name(with package name)>");
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
有谁知道要写什么?
PS:我自己的应用程序不需要任何有关被叫应用程序中发生的事情的信息.