⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pixelsshow.java

📁 java实现图像处理各种常用操作
💻 JAVA
字号:
//PixelsShow.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.border.*;

public class PixelsShow extends JFrame{

	JPanel jpanel=new JPanel();
	JLabel jlabel=new JLabel();
	int width=0;
	int height=0;
	
	final String[] names;
	final Object [][] data;	
	int  pixels[];
	
	JButton exit=new JButton("关闭");
	
	//构造函数
	public PixelsShow(int iw,int ih)
	{
		super("图像的象素数组");
		setLocation(100,100);
		setSize(400,400);
		//添加窗口监听事件
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				//System.exit(0);
			}
		});
		
		width=iw;
		height=ih;
		
		names=new String[width];
		for(int i=0;i<width;i++)
		{
			names[i]=Integer.toString(i);
		}
		
		jlabel.setText("图像的高度为:"+ih+"\n"+"   图像的宽度为:"+iw);
		jpanel.setLayout(new FlowLayout());
		jpanel.add(jlabel);
		
		data=new Object[height][width];
		
		exit.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				jExit_ActionPerformed(e);
			}
		});	
	}
	
	//传递数据
	public void setData(int[] pix)
	{
		this.pixels=new int[pix.length];
		
		//初始化data数组
		for(int i=0;i<height;i++)
		{
			for(int j=0;j<width;j++)
			{
				data[i][j]=new Object();
			}
		}
		
		this.pixels=pix;
		
		//给data数组赋值为图像的灰度值
		for(int i=0;i<height;i++)
		{
			for(int j=0;j<width;j++)
			{
				data[i][j]=Integer.toString(pixels[i*width+j]&0xff);
			}
		}
	}
	
	//显示表格数据
	public void showTable()
	{
		TableModel dataModel = new AbstractTableModel() 
		{
            		public int getColumnCount() { return names.length; }
            		public int getRowCount() { return data.length;}
            		public Object getValueAt(int row, int col) {return data[row][col];}
	
		        public String getColumnName(int column) {return names[column];}
	            	public Class getColumnClass(int c) {return getValueAt(0, c).getClass();}
            		public boolean isCellEditable(int row, int col) {return true;}
            		public void setValueAt(Object aValue, int row, int column) 
            		{
		                System.out.println("Setting value to: " + aValue);
        	        	data[row][column] = aValue;
                	}
         	};
         	JTable tableView = new JTable(dataModel);
         	tableView.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
         	
         	
         	JScrollPane scrollpane = new JScrollPane(tableView);
		scrollpane.setBorder(new BevelBorder(BevelBorder.LOWERED));
        	scrollpane.setPreferredSize(new Dimension(380, 300));
        	
        	//setLayout(new BorderLayout());
        	Container pane=getContentPane();
        	pane.setLayout(new BorderLayout());
        	pane.add("North",scrollpane);
        	pane.add("Center",jpanel);
        	pane.add("South",exit);
        }	
        
        public void jExit_ActionPerformed(ActionEvent e)
        {
        	this.hide();
        }
        
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -