在下面的示例中,我JComponent
在绿色背景上绘制了一个自定义,但是它没有出现。为什么会这样?
public class Test_Background {
public static class JEllipse extends JComponent {
private final Ellipse2D ellipse;
public JEllipse(int width, int height) {
ellipse = new Ellipse2D.Double(0, 0, width, height);
setOpaque(true);
setBackground(Color.GREEN);
}
@Override
public Dimension getPreferredSize() {
return new Dimension((int) ellipse.getBounds().getMaxX(),
(int) ellipse.getBounds().getMaxY());
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
((Graphics2D) g).draw(ellipse);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JEllipse e = new JEllipse(400, 300);
JFrame f = new JFrame("Background Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(e);
f.pack();
f.setVisible(true);
}
});
}
}
JComponent不会绘制其背景。您可以自己绘制,也可以使用可以绘制背景的JPanel
自定义后台iconfont CMS采用了http://www.iconfont.cn/上提供的iconfont,可以现在该网站生成iconfont字体后替换 /statics/css/default_iconfont.css内容
问题内容: 在我的数据库中,我可以说有5000多个用户,现在,如果我在主父节点中使用来获得多少人, 我知道getChildrenCount会返回一个带有父级内部子级数量的long,但这会如何影响性能? 几个月前,我制作了一个应用程序来管理用户,该应用程序比通过Web控制台更有效地管理用户,因为页面变得静态并且用户不断增长。 现在,我想知道是否每当我请求用户数量时,该应用程序就会循环遍历5000+个
我已经学会了使用NotifyDescriptor创建弹出对话框。我设计了一个带有两个大按钮的JPanel,分别为和,我使用的代码在底部显示了另一个按钮,分别为和。我不希望NotifyDescriptor在屏幕上放置自己的按钮。我只想让我的按钮在那里,当单击某个自定义按钮时,弹出窗口将关闭并存储值。(就像单击或时关闭窗口一样)。我正在使用的代码如下
如果我创建一个继承JComponent的新类,我重写了JComponent的绘图Component(Graphics g)方法,通过使用g绘制一个圆圈,我应该修改什么才能使MouseListener仅在我单击组件的边界内时触发? 因为我在组件的构造函数中添加了setBounds(…)然后添加了一个MouseListener,但它会在我每次单击自定义组件所在容器中的任何位置时触发,而不仅仅是在我单击
管理窗口和面板 您可以通过移动和处理“文档”窗口和面板来创建自定义工作区。您也可以保存工作区并在它们之间进行切换。 重新排列、停放或浮动“文档”窗口 打开多个文件时,“文档”窗口将以选项卡方式显示。 要重新排列选项卡式“文档”窗口,请将某个窗口的选项卡拖动到组中的新位置。 要从窗口组中取消停放(浮动或取消显示)某个“文档”窗口,请将该窗口的选项卡从组中拖出。 要将某个“文档”窗口停放在单独的“文档