首先來看一段代碼:
- package test;
- import java.awt.Color;
- import javax.swing.JFrame;
- public class TestJFrame extends JFrame {
- public TestJFrame() {
- setColor.GREEN); < /span>
- setBounds(200, 200, 400, 300);
- setTitle("JFrame測試");
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- };
- public static void main(String[] args) {
- new TestJFrame();
- }
- }
運作可以看到,視窗出來了,但是我們并沒有看到視窗的背景色被設定為了GREEN綠色。這裡呢,JFrame并不能說是一個容器,它隻是一個架構,那麼我們怎麼給JFrame設定背景色呢?
方法一:我們可以使用getContentPane()方法得到JFrame的内容面闆,設定該内容面闆的背景色即可,代碼如下:
- package test;
- import java.awt.Color;
- import javax.swing.JFrame;
- public class TestJFrame extends JFrame {
- public TestJFrame() {
- getContentPane().setColor.GREEN); < /span>
- setBounds(200, 200, 400, 300);
- setTitle("JFrame測試");
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- };
- public static void main(String[] args) {
- new TestJFrame();
- }
- }
而更常見的一種方法呢,是先建立一個JPanel之類的容器,然後使用setContentPane()方法,把該容器設定為JFrame架構的内容面闆,然後再在該中間容器上面添加其他元件即可。這裡的JPanel就像中間媒體,或者我們可以了解為JFrame為畫闆,JPanel之類的中間容器為畫布,畫布要綁定在畫闆上,然後我們在畫布上面作畫。代碼如下:
- package test;
- import java.awt.Color;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class TestJFrame extends JFrame {
- public TestJFrame() {
- // getContentPane().setColor.GREEN);< /span>
- JPanel pnBasic = new JPanel();
- pnBasic.setColor.GREEN); < /span>
- setContentPane(pnBasic);
- setBounds(200, 200, 400, 300);
- setTitle("JFrame測試");
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- };
- public static void main(String[] args) {
- new TestJFrame();
- }
- }