2012-11-11 2 views
1

이 JPanel "p"가 표시되지 않는 이유를 정말로 알 수 없습니까? JPanel p가 Jframe의 중간에 있어야하고 JFrame 전체를 RED로 만들어야한다고 생각했지만 버튼과 JPanel이 나타나지 않습니다. 죄송합니다. 나는 아마 어리 석다는 것을 알고 있지만 도와주세요. :? 다음은 코드입니다.Java GUI JPanel이 작동하지 않음

package com.gorillalogic.henry; 

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.*; 

public class Notepad { 

    private JFrame f; // creates all GUI components 
    private JPanel p; 
    private JButton b1; 

    public Notepad() { 

     gui(); 
    } 

    public void gui() { 

     f = new JFrame("Notepad"); 
     p = new JPanel(); 

     b1 = new JButton("Quit"); 
     b1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       System.exit(0); 
      } 
     }); 

     f.setSize(600, 400); 
     f.setLocationRelativeTo(null); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.setVisible(true); 

     p.setBackground(Color.RED); 
     p.add(b1); 

     f.add(p, BorderLayout.CENTER); 

    } 

    public static void main(String[] args) { 
     new Notepad(); 

    } 

} 

미리 감사드립니다. :)

+0

코드가 잘 작동하는 것 같습니다. http://i.stack.imgur.com/qp2tQ.png. 아마도'gui()'메쏘드의 끝에서'f.setVisible (true);'를 호출하여 모든 구성 요소를 보여주기 전에 프레임에 추가 할 수도 있습니다. – Pshemo

+0

감사! :) 그거야. 이전 코드를 Mac에서 사용하기 때문에 약간 다를 수 있습니다. * 궁금함 * –

답변

1
p.setOpaque(true); 

당신은 그렇게해야합니다.

+0

여전히 빨간색 JPanel로 표시되지 않습니다 ... –