嗨我正在處理一個問題,我在Swing中有一些問題。我對擴展JFrame或JComponent的類沒有任何問題,但是當我嘗試使用我編寫的擴展JPanel的類時,它將不會顯示出來,並且我沒有在該面板上調用任何內容,包括添加自定義JComponents它。創建JPanel擴展類的一般過程是什麼,然後將其設置爲JFrame中使用的內容窗格?問題擴展JPanels
1
A
回答
2
您應該添加將Jpanel擴展到容器中的類,如JFrame.A繼承JPanel的類不會顯示任何內容,因爲它不是容器組件。
3
我(我的個人觀點)看不出什麼錯延伸JComponent
爲JComponent
,JPanel
,JLabel
,更Inheritance versus composition,例如
import java.awt.*;
import javax.swing.*;
public class CustomComponent extends JFrame {
private static final long serialVersionUID = 1L;
public CustomComponent() {
setTitle("Custom Component Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(new CustomComponents());
pack();
setMinimumSize(getSize());// enforces the minimum size of both frame and component
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
CustomComponent main = new CustomComponent();
//main.display();
}
});
}
}
class CustomComponents extends JComponent {
private static final long serialVersionUID = 1L;
@Override
public Dimension getMinimumSize() {
return new Dimension(100, 100);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(400, 300);
}
@Override
public void paintComponent(Graphics g) {
int margin = 10;
Dimension dim = getSize();
super.paintComponent(g);
g.setColor(Color.red);
g.fillRect(margin, margin, dim.width - margin * 2, dim.height - margin * 2);
}
}
相關問題
- 1. 擴展類問題
- 2. 擴展NSAttributedString問題
- 3. jquery擴展問題
- 4. Php擴展問題
- 5. 擴展問題,YiiFramework
- 6. BaseAdapter擴展問題
- 7. Java - 擴展問題
- 8. 擴展iframe問題
- 9. Chrome擴展問題
- 10. Firefox擴展問題
- 11. Java Swing透明JPanels問題
- 12. Magento:問題安裝擴展
- 13. TYPO3擴展:問題與RTE
- 14. Django模板擴展問題
- 15. PHP對象擴展問題
- 16. 擴展的BNF問題
- 17. Java接口擴展問題
- 18. Java抽象/擴展問題
- 19. 浮動和擴展問題
- 20. OpenSSL:SessionTicket TLS擴展問題
- 21. PHP Bz2擴展問題
- 22. 參數包擴展問題
- 23. 鉻擴展連接問題
- 24. Visual Studio 2012擴展問題
- 25. ExtJs組件擴展問題
- 26. 與在SCSS擴展問題
- 27. Chrome擴展與Facebook:REDIRECT_URI問題
- 28. php oop擴展問題
- 29. 問題加載php_mysql.dll擴展
- 30. 列表擴展(CSS問題)
「擴展」指的是,一個關係。除非你製作一個輕量級容器,否則不要擴展'JPanel'。 – Jeffrey
如需獲得更多幫助,請提供代表[sscce](http://sscce.org/)。 – trashgod