【发布时间】:2014-01-26 10:28:15
【问题描述】:
这是我的问题:
我有一个 JPanel,我在这个面板上画了一个矩形 ex。 100x100。
在另一个 JPanel 中,我想在第一个 JPanel ex 上显示/绘制片段。 50x50,但如果我更改第一个 JPanel,另一个 JPanel 也会更改(不要复制图形或面板) 我能做什么?
第一组 第二组
Public class Okienko extends JFrame {
Panel p = new Panel();
public Okienko(){
//setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(p);
pack();
setVisible(true);
}
private class Panel extends JPanel{
public Panel(){
setPreferredSize(new Dimension(300,400));
setBackground(Color.red);
setVisible(true);
}
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
super.paint(g2);
g2.setColor(Color.blue);
g2.fill(new Rectangle2D.Float(100,100,100,100));
g2.setColor(Color.green);
g2.fill(new Rectangle2D.Float(50,50,50,50));
}
}
private class Panel2 extends Panel{
@Override
public void paint(Graphics g) {
//I would like to show/paint only fragment painted Panel, ex. 50x50 (only show one rectangle)
}
}
public static void main(String[] args) {
Okienko o = new Okienko();
}
}
【问题讨论】:
-
请出示您的代码。也尝试创建一个a Minimal, Complete, Tested and Readable example
-
我现在不能添加最小的示例代码(等到 8 小时)。
-
您能否更清楚地解释一下您期望发生的事情,因为这对我来说仍然没有意义。
-
我想在 panel2 的部分 panel1 上显示。 Panel1 包含(绘制的)AAABBBCCC。在 Panel2 中仅绘制或显示 CCC。我不知道我知道什么。对不起我的英语
-
你可以展示一张图片吗?也许使用像Photoshop这样的绘画程序来展示你想要发生的事情。然后贴出我们可以看到的图片的链接
标签: java swing graphics jpanel paint