嗨我正在处理一个问题,我在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