我基本上想要將一個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