Java 需要添加滚动条吗
我是一个爱好者而不是程序员。我有数千个pdf文件需要浏览和提取一些数据。数据在X框中,我怀疑pdf中有图形。如果我将pdf转换为文本,则没有证据显示此数据,因此。。。 我正在将PDF转换成图像,然后在我预期X为的特定区域查看图像,并计算黑色像素,到目前为止还不错。 PDF不适合窗口的高度,所以我需要添加一个滚动条 我不明白如何在主窗口中添加滚动条 有人能把我引向正确的方向吗 多谢各位 代码不完整,但正在运行:Java 需要添加滚动条吗,java,scrollbar,Java,Scrollbar,我是一个爱好者而不是程序员。我有数千个pdf文件需要浏览和提取一些数据。数据在X框中,我怀疑pdf中有图形。如果我将pdf转换为文本,则没有证据显示此数据,因此。。。 我正在将PDF转换成图像,然后在我预期X为的特定区域查看图像,并计算黑色像素,到目前为止还不错。 PDF不适合窗口的高度,所以我需要添加一个滚动条 我不明白如何在主窗口中添加滚动条 有人能把我引向正确的方向吗 多谢各位 代码不完整,但正在运行: import java.awt.Color; import java.awt.Even
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
public class ImageViewer {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable()
{
public void run(){
ImageFrame frame = new ImageFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
);
}
}
class ImageFrame extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public ImageFrame(){
setTitle("Image Viewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
ImageComponent component = new ImageComponent();
add(component);
}
public static final int DEFAULT_WIDTH = 860;
public static final int DEFAULT_HEIGHT = 1000;
}
class ImageComponent extends JComponent{
/**
*
*/
private static final long serialVersionUID = 1L;
private Image image;
public ImageComponent(){
try{
File image2 = new File("Files/4.jpg");
image = ImageIO.read(image2);
}
catch (IOException e){
e.printStackTrace();
}
}
public void paintComponent (Graphics g){
if(image == null) return;
int imageWidth = image.getWidth(this);
int imageHeight = image.getHeight(this);
g.drawImage(image, 0, 0, this);
// Draw on the BufferedImage via the graphics context.
g.setColor(Color.RED);
g.drawRect(445, 153, 20, 20);
g.drawRect(552, 153, 20, 20);
g.drawRect(661, 153, 20, 20);
g.drawRect(445, 182, 20, 20);
g.drawRect(552, 182, 20, 20);
g.drawRect(661, 182, 20, 20);
g.drawRect(445, 226, 20, 20);
g.drawRect(552, 226, 20, 20);
g.drawRect(661, 226, 20, 20);
g.drawRect(445, 271, 20, 20);
g.drawRect(552, 271, 20, 20);
g.drawRect(661, 271, 20, 20);
for (int i = 0; i*imageWidth <= getWidth(); i++)
for(int j = 0; j*imageHeight <= getHeight();j++)
if(i+j>0) g.copyArea(0, 0, imageWidth, imageHeight, i*imageWidth, j*imageHeight);
//Count black pixels to see if the box contains an X
int A1 = 0;
for (int y = 153; y < 173; y++)
{
for (int x = 445; x < 465; x++)
{
int c = ((BufferedImage) image).getRGB(x,y);
Color color = new Color(c);
if (c != -1)
{
A1++;
}
}
}
System.out.println("First box pixel count = " + A1);
//Count black pixels to see if the box contains an X
int A2 = 0;
for (int y = 153; y < 173; y++)
{
for (int x = 552; x < 572; x++)
{
int c = ((BufferedImage) image).getRGB(x,y);
if (c != -1)
{
A2++;
}
}
}
System.out.println("Second box pixel count = " + A2);
//Count black pixels to see if the box contains an X
int A3 = 0;
for (int y = 153; y < 173; y++)
{
for (int x = 661; x < 681; x++)
{
int c = ((BufferedImage) image).getRGB(x,y);
if (c != -1)
{
A3++;
}
}
}
System.out.println("Third box pixel count = " + A3);
}
}
寻找类似于JScrollPane myPane=newjscrollpane的东西 试着看看谢谢,我试着把它放在不同的地方,看起来它可能会工作,但是,图像框架是容器,我真正需要知道的是如何放置一个更高级别的容器,它可以容纳scollpane和imagepane。