可以用掃描線種子算法
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供橫縣網(wǎng)站建設(shè)、橫縣做網(wǎng)站、橫縣網(wǎng)站設(shè)計、橫縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、橫縣企業(yè)網(wǎng)站模板建站服務(wù),十多年橫縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
掃描線種子填充算法的基本過程如下:當(dāng)給定種子點(x, y)時,首先分別向左和向右兩個方向填充種子點所在掃描線上的位于給定區(qū)域的一個區(qū)段,同時記下這個區(qū)段的范圍[xLeft, xRight],然后確定與這一區(qū)段相連通的上、下兩條掃描線上位于給定區(qū)域內(nèi)的區(qū)段,并依次保存下來。反復(fù)這個過程,直到填充結(jié)束。
掃描線種子填充算法可由下列四個步驟實現(xiàn):
(1) 初始化一個空的棧用于存放種子點,將種子點(x, y)入棧;
(2) 判斷棧是否為空,如果棧為空則結(jié)束算法,否則取出棧頂元素作為當(dāng)前掃描線的種子點(x, y),y是當(dāng)前的掃描線;
(3) 從種子點(x, y)出發(fā),沿當(dāng)前掃描線向左、右兩個方向填充,直到邊界。分別標(biāo)記區(qū)段的左、右端點坐標(biāo)為xLeft和xRight;
(4) 分別檢查與當(dāng)前掃描線相鄰的y - 1和y + 1兩條掃描線在區(qū)間[xLeft, xRight]中的像素,從xLeft開始向xRight方向搜索,若存在非邊界且未填充的像素點,則找出這些相鄰的像素點中最右邊的一個,并將其作為種子點壓入棧中,然后返回第(2)步;
JTable m_view = new JTable(m_data);這個語句就向表格中填充DefaultTableModel 中的數(shù)據(jù)。但是,你在開始的時候就執(zhí)行這個語句,表格里的內(nèi)容就為空了。你可以這樣寫:
DefaultTableModel m_data = new DefaultTableModel();
m_data.addColumn("讀者姓名");
m_data.addColumn("編號");
m_data.addColumn("性別");
m_data.addColumn("院系班級");
JTable m_view = new JTable(m_data);
m_view.setPreferredScrollableViewportSize(new Dimension(600,320));
m_view.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JScrollPane sPane = new JScrollPane(m_view);
或者在你代碼后面繼續(xù)寫:
m_data = new DefaultTableModel();
m_view.setModel(m_data );
m_view.updateUI() ;
只需把g.drawOval(...)改成g.setColor(Color.RED); g.fillOval(..)就行了,drawOval是只畫不填充,而fillOval是畫并且填充,填充的顏色是由g.setColor()方法的參數(shù)決定的。
public static void fill(int[] a,
int fromIndex,
int toIndex,
int val)
將指定的 int 值分配給指定 int 型數(shù)組指定范圍中的每個元素。填充的范圍從索引 fromIndex(包括)一直到索引
toIndex(不包括)。(如果 fromIndex==toIndex,則填充范圍為空。)
參數(shù):
a - 要填充的數(shù)組
fromIndex - 要使用指定值填充的第一個元素的索引(包括)
toIndex - 要使用指定值填充的最后一個元素的索引(不包括)
val - 要存儲在數(shù)組所有元素中的值
現(xiàn)在你調(diào)用的這個方法是指把a(bǔ)rr這個數(shù)組中下標(biāo)從1到2(不包括2)的值用8覆蓋上去
那么肯定就只覆蓋掉下標(biāo)為1的值了
如果參數(shù)改為arr,1,3,8
那么結(jié)果應(yīng)該是輸出 45 8 8 10
ImageIcon ii=new ImageIcon("image/icon.png");
JButton enter = new JButton(ii);
enter.setOpaque(false);
enter.setContentAreaFilled(false);
enter.setMargin(new Insets(0, 0, 0, 0));
enter.setFocusPainted(false);
enter.setBorderPainted(false);
enter.setBorder(null);
這些代碼夠了
求采納為滿意回答。
import java.util.Arrays;
public class Array2 {
public static void main(String[] args) {
//聲明一個名為myArray的數(shù)組,該數(shù)組有2行,每行列數(shù)不等,并為其分配內(nèi)存空間
int[][] myArray = new int[2][];
myArray[0] = new int[5]; //第一行有5個元素,并為其分配內(nèi)存空間
myArray[1] = new int[10]; //第二行有10個元素,并為其分配內(nèi)存空間
for (int j = 0; j myArray[0].length; j++)
//用1-10之間的隨機(jī)整數(shù)給第一行元素賦值
myArray[0][j] = (int)(Math.random() * 10);
//用100-200之間的隨機(jī)整數(shù)給第二行元素賦值
for (int j=0; j myArray[1].length; j++)
myArray[1][j]=(int)(Math.random() * 100 + 100);
for (int i=0; i myArray.length; i++){ //輸出myArray數(shù)組各元素的值
for (int j=0; j myArray[i].length; j++){
System.out.print(myArray[i][j]+" ");
}
System.out.println();
}
Arrays.sort(myArray[0]); //對第一行元素排序
Arrays.sort(myArray[1]); //對第二行元素排序
System.out.println("\n排序后的數(shù)組元素: ");
for (int i=0; imyArray.length;i++){ //再次輸出myArray數(shù)組各元素的值
for (int j=0; jmyArray[i].length;j++){
System.out.print(myArray[i][j]+" ");
}
System.out.println();
}
}
}
7 3 9 6 7
103 165 166 148 103 179 128 109 120 156
排序后的數(shù)組元素:
3 6 7 7 9
103 103 109 120 128 148 156 165 166 179
本文題目:java代碼快速填充 java自動填充
本文網(wǎng)址:http://jinyejixie.com/article10/hejpdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃、微信公眾號、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)