A. java SWT中Canvas控件画图问题。
没有用Canvas,因为不知道你所说的滑动条,具体是指什么。是不是JScrollPane的横纵滚动条。
JScrollPane +JPanel
可以实现,下边是代码。
--------------------------------------------------------------------------------
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class LineAppFrame extends JFrame {
public LineAppFrame() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(550, 550);
setLocationRelativeTo(null);
JScrollPane scrollPane = new JScrollPane();
MyCanvas panel = new MyCanvas();
panel.setPreferredSize(new Dimension(panel.width, panel.height));
scrollPane.setViewportView(panel);
getContentPane().add(scrollPane, BorderLayout.CENTER);
setVisible(true);
}
public static void main(String[] args) {
new LineAppFrame();
}
}
class MyCanvas extends JPanel {
int width = 0;
int height = 0;
private ImageIcon icon;
public MyCanvas() {
icon = new ImageIcon("D:\\2.jpg");
width = icon.getIconWidth();
height = icon.getIconHeight();
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(icon.getImage(), 0, 0, null);
}
}
B. java web中,如何在页面上画图。
http://www.htmleaf.com/ziliaoku/qiananjiaocheng/201502101363.html
这个网址是用html5 canvas做的一个画图板 有源码 (鼠内标右键下笔容)
C. java中如何用画布绘制矩形图形
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classOvalcanvasextendsCanvas
{
intN=10;
intx[]=newint[N];
inty[]=newint[N];
Ovalcanvas()
{
setSize(300,200);
setBackground(Color.cyan);
}
publicvoidsetOval(int[]x,int[]y,intN)
{
this.N=N;
for(inti=0;i<N;i++)
{
this.x[i]=x[i];
this.y[i]=y[i];
}
}
publicvoidpaint(Graphicsg)
{
g.drawPolygon(x,y,N);
}
}
publicclassExample6_
{
Ovalcanvascanvas;
TextFieldin_N;
Buttonbtn;
Example6_7()
{
super("画布上绘制多边形");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
in_N=newTextField(6);
setLayout(newFlowLayout());
add(newLabel("请输入变数:"));
add(in_N);
btn=newButton("确定");
btn.addActionListener(this);
add(btn);
canvas=newOvalcanvas();
add(canvas);
validate();
}
publicvoidactionPerformed(ActionEvente)
{
intN=Integer.parseInt(in_N.getText());
intx[]=newint[N];
inty[]=newint[N];
for(inti=0;i<N;i++)
{
x[i]=(int)(Math.random()*200);
y[i]=(int)(Math.random()*200);
}
canvas.setOval(x,y,N);
canvas.repaint();
}
publicstaticvoidmain(String[]args)
{
newExample6_7();
}
}
D. java Canvas是如何实现的看详细
Canvas是一个父类,当你继承它、重写它的paint()方法时,你会用该方法中的Graphics来绘制任何你想绘制的内容,那么这个Canvas就有了内容。
后面无论你把这个Canvas添加到哪个容器中,那这个Canvas总会显示Graphics所绘制的图形。我觉得疯狂java讲义关于Canvas讲得比我更清楚,有兴趣可以去看看。
E. java的绘图问题,我为什么点击按钮没反应
你的程序没有大问题,只是把画布Canvas放在了边界布局的北面,而图形画在了x=100,y=100的位置回,因为y=100纵坐标数答值太大,所以画出来也看不见,解决办法把画布Canvas放在边界布局的中间就可以显示出来了.
也就是说把f.add(c,BorderLayout.NORTH);这一句改成f.add(c,BorderLayout.CENTER);就可以显示出来了.
F. java中Canvas什么意思
是画布背景的意思,在处理图像文件时,需要用画布,也就是canvas进行一些操作,可以简单的理解为图像背景