爱站网 关键词挖掘,福建键seo排名,关于自行建设门户网站的请示,装饰画添加到我的评论#xff1a;1)您不应该通过调用paintComponent(..)方法的super.XXX实现来尊重paint链,它应该是覆盖方法中的第一个调用,否则可能发生异常#xff1a;Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);Font font new Font(S…添加到我的评论1)您不应该通过调用paintComponent(..)方法的super.XXX实现来尊重paint链,它应该是覆盖方法中的第一个调用,否则可能发生异常Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);Font font new Font(Serif,15);g.setFont(font);g.setColor(Color.YELLOW);g.drawString(string,0);}在上面的代码中注意Override注释,所以我确信我重写了正确的方法.并且getX()和getY()已被替换为0,因为getX和getY引用了组件位置,但是当我们调用drawString时,我们为它提供了在容器内绘制的位置的参数(并且它必须在当然,边界/大小是容器.2)你应该在绘制到图形对象时覆盖getPreferredSize并返回适合你的组件绘图/内容的Dimensions,否则在视觉上不会有任何可见的,因为组件大小将是0,0private class Drawing extends JComponent {Overridepublic Dimension getPreferredSize() {return new Dimension(200,200);//you would infact caluclate text size using FontMetrics#getStringWidth(String s)}}正如一个建议使用一些RenderHints和Graphics2D看起来很漂亮的文本:)请看这里更多