我正在研究具体函数的符号导数。我有三节课。
fnc.java 代表网络如何看起来像导数单个函数。例如:
public void der_cotg(Graphics g,int x, int y){
drawBroken_line(g,"-1","sin (x)",x+23,y); //putting pixels between x and y
g.setFont(new Font("Arial", Font.BOLD,18));//Graphics g
g.drawString("2", x+66, y+18);
}
Jmain.java是JFrame形式,代表字段,在这里我们可以看到导数函数的可视化。有两个标签
- f(x) =
- g(x) = ,
旁边有两个面板
和打开另一个 JFrame choose.java 的按钮,您可以在其中选择功能。它由 Jpanel 和按钮(代表具体功能)组成,如果您按下这些按钮之一,具体功能将显示在 choose.java 的面板上。
我想从 choose.java 获取 Graphics 并设置 Jmain.java 的面板。 我知道如何获取和设置文本字段,但我还没有发现面板是否可以实现。
最佳答案
如this answer中所示,您可以创建 JPanel
内容的 BufferedImage
。该示例将 PanelOne
(这是一个 JPanel
)传递给另一个 JPanel
(PanelTwo
) 的方法,这是 PanelTwo
中的方法,它根据传递给它的 PanelOne
创建一个 BufferedImage
。
BufferedImage bi;
....
private void setImage(PanelOne panel) {
Dimension d = panel.getPreferredSize();
int w = (int)d.getWidth();
int h =(int)d.getHeight();
bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bi.createGraphics();
panel.paint(g);
g.dispose();
}
....
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(bi, 0, 0, 250, 250, 0, 0, 250, 250, this);
}
这是结果。 PanelOne
位于左侧,并将其自身传递给右侧的 PanelTwo
关于java - 我可以从一个 jframe 的面板获取图形到另一个 jframe 吗? (网 bean ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668016/