- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一个简单的棋盘程序,它运行良好,但它非常小。我尝试使用 acm.graphics.setsize 方法调整窗口大小,但直到我放置图形对象后它才调整大小。我是否需要做一些事情来“刷新”对程序的更改以使其正常工作?
谢谢
/* File CheckerBoard.java
* ----------------------
* This program creates a checkerboard
*/
import acm.graphics.*;
import acm.program.*;
/* This class draws a checkerboard on the graphics window.
* The size of the checkerboard is determined by the
* constants NROWS and NCOLUMNS, and the checkerboard fills
* the verticle space available.
*/
public class CheckerBoard extends GraphicsProgram
{
/* Number of rows */
private static final int NROWS = 8;
/* Number of columns */
private static final int NCOLUMNS = 8;
// Window Size
private static final int height = 1024;
private static final int width = 1024;
/* Runs the program */
public void run()
{
setSize(height,width);
int sqSize = getHeight() / NROWS;
for (int i = 0; i < NROWS; i++)
{
for (int j = 0; j < NCOLUMNS; j++)
{
int x = j * sqSize;
int y = i * sqSize;
GRect sq = new GRect (x, y, sqSize, sqSize);
sq.setFilled(((i + j) % 2) != 0);
add (sq);
}
}
}
}
最佳答案
您需要调用validate()
来应用setSize()
。否则 validate()
直到为时已晚才会被调用。 validate()
用于“验证”图形用户界面类中的某些操作,通常与初始化后调整大小或重新样式化有关。
setSize(height,width);
validate();
但是,您可能应该使用您可以随意使用的 init()
方法来设置小程序,如果这样做,则不需要手动调用 validate()
,示例:
public void init() {
setSize(height,width);
}
/* Runs the program */
public void run()
{
int sqSize = getHeight() / NROWS;
for (int i = 0; i < NROWS; i++)
{
for (int j = 0; j < NCOLUMNS; j++)
{
int x = j * sqSize;
int y = i * sqSize;
GRect sq = new GRect (x, y, sqSize, sqSize);
sq.setFilled(((i + j) % 2) != 0);
add (sq);
}
}
}
关于java - setsize 不会立即调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18049370/
假设我有一个 JTextField,所以有两个选项 setSize(WIDTH, HEIGHT) 和 setSize(new Dimension(WIDTH, HEIGHT)) 像这样: JTextF
这段代码运行得很好。但是,当我输入 setSize(700,700) 并运行代码时,它不会显示 JButton,而只显示框架。我认为 JButton 的网格布局可能存在一些问题,因此我将每个网格布局的
所以我似乎无法弄清楚为什么会出现此错误(取消引用空指针)。 我必须初始化 newframe,否则我会收到未初始化错误,并且 NetBeans 建议我初始化它。然而,这样做之后,我不断收到此错误。下面是
我有一个用于主要 JFrame 的 ComponentListener,它在调整大小时发送一个事件,但在事件被触发时,Jpanel 已调整大小。 public class Test implement
我有一个程序需要两个按钮,一个是常规按钮,另一个是图片会根据鼠标滚动而改变。目前,由于图片很大,JButton 自定义也很大,我可以更改自定义的大小并保持图像(和翻转图像)成比例吗?我试过 setSi
我正在使用一个简单的棋盘程序,它运行良好,但它非常小。我尝试使用 acm.graphics.setsize 方法调整窗口大小,但直到我放置图形对象后它才调整大小。我是否需要做一些事情来“刷新”对程序的
我有一个示例代码: import java.awt.*; import javax.swing.*; import javax.swing.border.BevelBorder; public cla
我正在使用此代码在 OSX 上调整 Electron 窗口的大小: document.getElementById("resize-btn2").addEventListener("click", f
我正在使用 Java 测试一个简单的东西。 package us.superdisk.Teststs; import java.awt.Dimension; import java.awt.Graph
我想要尺寸完全适合我的屏幕的 JFrame。我使用 getScreenSize(); 来获取计算机的分辨率并将其设置为 JFrame 的大小。然而,由于标题栏的原因,我发现 Jframe 的尺寸实际上
我正在制作一个大小为 500x500 像素的 JFrame。我制作了一个蓝色背景,并在右下角添加了一个从 (490,490) 到 (500,500) 的红色方 block 。 图片: 我在屏幕上没有看
尝试设置 JOptionPane 的大小,但它坚持使用相同的大小。我尝试过 setPreferredSize 和 setSize 但由于某种原因 JOptionPane 坚持使用相同的宽度和高度。基本
在您提出 GridBagLayout 建议之前,我已经尝试过了,但无法正常工作。我想要一个尺寸为 800 x 800 且中心面板为 600x600 的框架。现在,当我运行它时,中心面板是 600x57
我正在尝试在动态更新页面内容后调整 Facebook Canvas 应用程序的高度。人们应该使用 FB.Canvas.setSize() 来做到这一点,但它只会增加高度。与.setAutoResize
我在 Android 应用程序中创建按钮时遇到两个问题。 按钮(经典Button)中的图像模糊。我认为 Android studio 会增加图像的大小,但不确定。这是模拟器的屏幕和使用的图像: 有办法
我的 Qt5 GUI 中有 QSplitter 小部件,并且有两个子小部件添加到该拆分器。并且有一个 QPushButton 小部件,当按下该按钮时,第二个子部件消失,当再次按下该按钮时,该子部件出现
import javax.swing.JFrame; import javax.swing.SwingUtilities; class Demo { JFrame jf; Demo()
看看这段代码 friend 不知道为什么我不能设置JPanel的大小.... import java.io.*; import java.util.*; import java.sql.*; //im
本文整理了Java中org.bukkit.WorldBorder.setSize()方法的一些代码示例,展示了WorldBorder.setSize()的具体用法。这些代码示例主要来源于Github/
我是 java swing 的新手,正在构建一个带有菜单和带有 BorderLayout 的 JPanel 的应用程序。但即使设置了 setSize,面板也不会显示,因为我在这里是红色的。这里我使用菜
我是一名优秀的程序员,十分优秀!