Panel重绘背景后,其内部组件可以也重绘么?
我给一个Jpanel类重绘了背景。
然后再frame上添加这个对象,显示正常。
但是在这个Jpanel类里面添加新的组件的时候,添加一个button重绘的背景就没了。。
感觉这不合逻辑,但是真的没找到错。
重绘背景的Jpanel类,其中 BackgroundPanel继承Jpanel,在BackgroundPanel类中重写了paintComponent方法。
按钮类:
继承BackgroundButton类,该类给每个按钮都添加了背景,使用的是super(Icon);
然后再frame上添加这个对象,显示正常。
但是在这个Jpanel类里面添加新的组件的时候,添加一个button重绘的背景就没了。。
感觉这不合逻辑,但是真的没找到错。
重绘背景的Jpanel类,其中 BackgroundPanel继承Jpanel,在BackgroundPanel类中重写了paintComponent方法。
public class MainPanel extends BackgroundPanel{
private static final long serialVersionUID = 2752472217575142298L;
private UpdateSizePanel updateSizePanel;//修改图片尺寸的panel
private CompressionSpacePanel compressionSpacePanel;//压缩图片大小的panel
private MoveImgPanel moveImgPanel;//移动图片位置的panel
private UpdateSizeBtn updateSizeBtn;//进入修改图片尺寸的button
private CompressionSpaceBtn compressionSpaceBtn;//进入压缩图片大小的button
private MoveImgBtn moveImgBtn;//进入移动图片位置的button
public MainPanel(){
super();
setVisible(true);
setLayout(null);
init();
}
public void init(){
// updateSizePanel=new UpdateSizePanel();
// compressionSpacePanel=new CompressionSpacePanel();
// moveImgPanel=new MoveImgPanel();
// this.add(updateSizePanel);
// this.add(compressionSpacePanel);
// this.add(moveImgPanel);
updateSizeBtn=new UpdateSizeBtn();
// compressionSpaceBtn=new CompressionSpaceBtn("压缩图片");
// moveImgBtn=new MoveImgBtn();
this.add(updateSizeBtn);//这里如果选择添加该按钮,背景就没有了。
// this.add(compressionSpaceBtn);
// this.add(moveImgBtn);
}按钮类:
继承BackgroundButton类,该类给每个按钮都添加了背景,使用的是super(Icon);
public class UpdateSizeBtn extends BackgroundButton{
private static final long serialVersionUID = -4874921281587699812L;
private JLabel label;
public UpdateSizeBtn(){
super();
setBounds(50, 100, 100, 30);
setLayout(null);
init();
}
private void init(){
label=new JLabel();
label.setBounds(0, 0, 100, 30);
label.setText(" 修改尺寸");
this.add(label);
}
}
...全文
相关推荐
winform panel控件背景透明
winform panel控件背景透明 在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法
实现背景透明的Panel组件设计与自定义
在用户界面(UI)设计中,透明Panel是提供视觉层次感和美观的重要元素。透明Panel指的是一种半透明的界面组件,能够透过其看到背后的元素或背景色,从而创造出独特的视觉效果和用户体验。它们通常用于增加层次、突出重点或实现特定的设计风格。例如,使用透明Panel可以让背景图片或视频内容透过界面展示,增加应用的动态感和吸引力。透明度是描述物体不透明程度的物理量,通常用字母α表示,范围从0(完全透明)到1(完全不透明)。在图形学中,透明度是颜色组成的一个重要维度,它决定了颜色覆盖在其他颜色上的能力。
背景透明Panel
背景透明Panel,可以设置透明度;可以设置边框颜色、边框类型、边框大小
delphi 真正透明panel ,使用简单
delphi7正常使用,可以放在任何容器内,依旧透明
Delphi 中可以修改背景和边框颜色的Panel 控件
自己写的可以修改背景和边框颜色的Delphi Panel控件


Java SE

