我基本上想要將一個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. 在畫布上繪製多個方塊
- 7. 在OpenGL中繪製一個繪製調用中的多個VBO
- 8. 訪問一個JFrame的深一個POJO
- 9. JAVA無法從另一個類中繪製到JFrame上
- 10. 在ggplot2中繪製多個函數併爲它們添加圖例
- 11. 訪問array_chunk的每個塊
- 12. 如何通過其他Jframe在一個Jframe中訪問JinternlFrme?
- 13. Java:無法繪製()從一個數組中的每個項目
- 14. 在ggplot中繪製重複每個方面的註釋問題
- 15. 在java中繪製多個橢圓
- 16. 在java中繪製多個對象?
- 17. 多個mysql在一個查詢中選擇,然後分別訪問它們
- 18. 在同一個窗口中繪製一個或多個繪圖
- 19. 在鼠標位置繪製一個在opengl中的方塊
- 20. 繪製一個嵌套for循環的兩個彩色棋盤,其中每個方塊都是它們自己的對象(Java)
- 21. 用ggplot繪製多個方塊
- 22. 在一個圖層中繪製圖像並將它們對齊爲矩陣
- 23. 有沒有一個快速的方式來繪製Scilab中的多個地塊
- 24. 爲每個元素賦予唯一的id並使用jquery訪問它們
- 25. 在json中傳遞一個數組並在mvc的控制器中訪問它
- 26. 合併每3個輸入值,並把它們放在一個陣列中
- 27. Java Swing - 如何從其他JPanel訪問一個JPanel的JComponent,它們都被添加到JFrame中?
- 28. 將多個值返回給函數,並在Lua中分別訪問它們?
- 29. 在Excel中複製多個範圍並連接它們
- 30. 在matlab中讀取一個文件,並在verilog中訪問它
除了有每平方對象引用(所以你可以把它們變成一些館藏結構),你想要什麼用的箱子呢?他們是否有需要畫到畫布上的內容?他們是「JComponent」嗎?你想使用類似'JList','JTable'的渲染方式嗎? – 2012-02-06 17:07:31