我基本上想要将一个300×300的JFrame窗口分割成30个正方形(不需要单独绘制它们),并且能够访问每个正方形(可以将它们放入数组/列表/堆栈/矢量/等等)。这可能没有写drawRect(x,y,宽度,高度)30次?提前致谢。在Java JFrame中绘制多个方块并访问它们中的每一个?
2
A
回答
2
你可以保持在一个ArrayList您的组件,并得到使用网格布局 和下面的代码片段:
getContentPane.setLayout(new GridLayout(x,y));
其中x和y分别表示行数和列数。 之后,您可以添加组件到您的JFrame对象的内容。
示例代码:
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Window;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyFrame extends JFrame
{
public static void main (String [] args)
{
MyFrame myframe = new MyFrame();
myframe.setSize(300, 300);
myframe.setResizable(false);
myframe.setLocationRelativeTo(null);
myframe.setLayout(new GridLayout(3,3));
Container container = myframe.getContentPane();
ArrayList <JPanel> components = new ArrayList <JPanel>();
JPanel temp = null;
// Populating Arraylist object.
for (int i = 0; i < 9; i++)
{
temp = new JPanel();
temp.setSize(100,100);
components.add(temp);
container.add(temp);
}
myframe.pack();
myframe.setVisible(true);
// Accessing components via index.
components.get(5).setBackground(Color.BLUE);
components.get(8).setBackground(Color.GREEN);
}
}
2
+0
使用gridlayout作为superdeporter建议使用布局管理器。 – PAULDAWG 2012-02-06 17:25:33
2
为什么不走了JTable中,而不是这个?
相关问题
- 1. 返回多个值并访问它们?
- 2. java swing - 在同一个jframe上绘制多个jpanels
- 3. 强制绘制一个jframe?
- 4. 在一个类中构建对象并在另一个类中访问它们
- 5. 如何访问JFrame中的多个JPanel?
- 6. 在OpenGL中绘制一个绘制调用中的多个VBO
- 7. 访问一个JFrame的深一个POJO
- 8. 如何通过其他Jframe在一个Jframe中访问JinternlFrme?
- 9. 在java中绘制多个对象?
- 10. 在java中绘制多个椭圆
- 11. 在ggplot中绘制重复每个方面的注释问题
- 12. 在同一个窗口中绘制一个或多个绘图
- 13. 在鼠标位置绘制一个在opengl中的方块
- 14. 绘制一个嵌套for循环的两个彩色棋盘,其中每个方块都是它们自己的对象(Java)
- 15. 用ggplot绘制多个方块
- 16. 为每个元素赋予唯一的id并使用jquery访问它们
- 17. Java Swing - 如何从其他JPanel访问一个JPanel的JComponent,它们都被添加到JFrame中?
- 18. 把多个ButtonGroups放在一个JFrame中
- 19. 在Excel中复制多个范围并连接它们
- 20. 在matlab中读取一个文件,并在verilog中访问它
- 21. 如何从Java中的多个方法中绘制?
- 22. 在同一个面板中绘制多个直方图
- 23. 绘制JPane在JFrame中
- 24. 在JFrame中绘制网格
- 25. 在JFrame中绘制Graphics2D
- 26. 从jframe发送到java类,然后从其他jframe访问它们
- 27. 访问多个ItemRenderer在一个AdvancedDataGrid中
- 28. 在JFrame中创建JPanel并使用paintComponent()方法绘制面板
- 29. 在pygame中绘制一个多边形
- 30. 如何分组熊猫时间戳在一个图中绘制几个图,并将它们叠加在matplotlib中?
除了有每平方对象引用(所以你可以把它们变成一些馆藏结构),你想要什么用的箱子呢?他们是否有需要画到画布上的内容?他们是“JComponent”吗?你想使用类似'JList','JTable'的渲染方式吗? – 2012-02-06 17:07:31