欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java純代碼控件,Java控件

java的容器控件有哪些?

1.頂層容器

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、撫松網(wǎng)絡(luò)推廣、小程序開發(fā)、撫松網(wǎng)絡(luò)營(yíng)銷、撫松企業(yè)策劃、撫松品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供撫松建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:chinadenli.net

什么是頂層容器?當(dāng)我們使用Java進(jìn)行圖形編程的時(shí)候,圖在哪里繪制呢?我們需要一個(gè)能夠提供圖形繪制的容器,這個(gè)容器就被稱為頂層容器,你

也可以把它想象成一個(gè)窗口。頂層容器是進(jìn)行圖形編程的基礎(chǔ),一切圖形化的東西,都必然包括在頂層容器中。在Swing中,我們有三種可以使用的頂層容器,

它們分別是:

JFrame:用來(lái)設(shè)計(jì)類似于Windows系統(tǒng)中的窗口形式的應(yīng)用程序。

JDialog:和JFrame類似,只不過(guò)JDialog是用來(lái)設(shè)計(jì)對(duì)話框。

JApplet:用來(lái)設(shè)計(jì)可以在嵌入在網(wǎng)頁(yè)中的Java小程序。

如果需要使用Swing制作一個(gè)窗口類程序,我們的代碼看起來(lái)應(yīng)該是這樣:

import javax.swing.*;

public class KyodaiUI

extends JFrame {

……

}

2.控件

控件是構(gòu)成應(yīng)用程序界面的基本元素,按鈕、文本框、進(jìn)度條等,這些都是控件。控件(這里我們只討論可視化控件)又可以分為容器控件和非容器控件。從字面

意義上來(lái)理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就屬于容器型控件,我們可以在JPanel中放置按鈕、文本框

等非容器控件,你甚至可以在JPanel中再放置若干個(gè)JPanel控件(值得注意的是,頂層容器也是容器型控件,每一個(gè)窗口應(yīng)用程序中有且只能有一個(gè)頂

層容器控件,換句話說(shuō),頂層容器不能包括在其他的控件中)。

Java中的容器控件有很多,除剛才提到的JPanel外,還有

JTabbedPane、JScrollPane等,非容器控件有JButton、JLabel、JTextField等。如果你需要向某個(gè)容器型的控件

中添加控件,你可以使用 add(Component comp) 方法來(lái)實(shí)現(xiàn),如:

JPanel panel = new JPanel();

JButton button = new JButton();

panel.add(button);

3.邊框

雖然我們使用了不同前景色來(lái)區(qū)別不同的區(qū)域,然而卻沒(méi)有層次感,加上邊框一定會(huì)漂亮許多。

在Java中,所有以J打頭的Swing控件都可以使用setBorder方法來(lái)為自己設(shè)置邊框。邊框有很多種,線型、凸起、凹下、空的,你甚至可以自

由組合形成個(gè)人風(fēng)格。所有的Border都必須使用javax.swing.BorderFactory中提供的靜態(tài)方法來(lái)創(chuàng)建,比如:

Border border = BorderFactory.createBevelBorder(BevelBorder.LOWERED,

new Color(45, 92, 162),

new Color(43, 66, 97),

new Color(45, 92, 162),

new Color(84, 123, 200));

現(xiàn)在,我們將toolBar.setBackground(Color.white)改為toolBar.setBorder(border),立體效果是不是已經(jīng)出現(xiàn)了?

java代碼的打印信息控件怎么做?或者有現(xiàn)成的代碼也行。

一: 首先理清業(yè)務(wù)邏輯

兩個(gè)窗口, 第一個(gè)主窗口, 是用于填寫信息的, 點(diǎn)擊按鈕后,跳轉(zhuǎn)到第二個(gè)窗口,.

第二個(gè)對(duì)話框窗口 ,用于顯示需要打印的信息, 以及打印到文檔

二: 確定需要的技術(shù), java圖像界面主要使用awt和swing

swing里面的控件比較豐富, 且功能強(qiáng)大 .

三: 效果圖片

四: 完整的參考代碼

import?java.awt.*;

import?java.awt.event.*;

import?java.io.*;

import?javax.swing.*;

//定義一個(gè)主窗口類

public?class?MainFrame?extends?JFrame?{

public?static?final?String?FILE_PATH?=?"c:\\print.txt";//常量,用于指定信息的保存路徑

//定義主要的組件

private?final?JTextField?jtf1,jtf2,jtf3;

private?final?JCheckBox?jcb1,jcb2,jcb3;

private?final?JRadioButton?jrb1,jrb2;

public?MainFrame()?{

setTitle("信息提交窗口");//設(shè)置窗口標(biāo)題

setSize(350,?320);//設(shè)置窗口大小

setLocationRelativeTo(null);//讓窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//當(dāng)主窗口關(guān)閉的時(shí)候退出jvm虛擬機(jī)

JPanel?jp?=?new?JPanel(new?GridLayout(5,?1,?2,?1));//定義主顯示面板,布局為表格布局5行1列,水平間距2,垂直間距1

JPanel?jp1?=?new?JPanel();//第一行的組件面板

JLabel?jl1?=?new?JLabel("姓名");

jtf1?=?new?JTextField(10);

jp1.add(jl1);

jp1.add(jtf1);

JPanel?jp2?=?new?JPanel();//第二行的組件面板

JLabel?jl2?=?new?JLabel("學(xué)號(hào)");

jtf2?=?new?JTextField(10);

jp2.add(jl2);

jp2.add(jtf2);

JPanel?jp3?=?new?JPanel();//第三行的組件面板

JLabel?jl3?=?new?JLabel("性別");

jrb1?=?new?JRadioButton("男");

jrb2?=?new?JRadioButton("女");

jrb1.setSelected(true);

ButtonGroup?bgs?=?new?ButtonGroup();

bgs.add(jrb1);

bgs.add(jrb2);

jp3.add(jl3);

jp3.add(jrb1);

jp3.add(jrb2);

JPanel?jp4?=?new?JPanel();//第四行的組件面板

JLabel?jl4?=?new?JLabel("選擇愛好");

jcb1?=?new?JCheckBox("游泳");

jcb2?=?new?JCheckBox("籃球");

jcb3?=?new?JCheckBox("跑步");

jp4.add(jl4);

jp4.add(jcb1);

jp4.add(jcb2);

jp4.add(jcb3);

JPanel?jp5?=?new?JPanel();//第五行的組件面板

JLabel?jl5?=?new?JLabel("自我介紹");

jtf3?=?new?JTextField(22);

jp5.add(jl5);

jp5.add(jtf3);

//添加到主顯示面板

jp.add(jp1);

jp.add(jp2);

jp.add(jp3);

jp.add(jp4);

jp.add(jp5);

jp.setBorder(BorderFactory.createTitledBorder("填寫資料"));//設(shè)置主顯示面板的邊框

JButton?jb?=?new?JButton("跳轉(zhuǎn)到打印頁(yè)");

jb.addActionListener(new?ActionListener()?{//按鈕事件

public?void?actionPerformed(ActionEvent?e)?{//獲取組件的信息

StringBuilder?sb?=?new?StringBuilder();//用于連接信息

String?name?=?jtf1.getText();

sb.append("姓名:"?+?name?+?"\r\n");

String?num?=?jtf2.getText();

sb.append("學(xué)號(hào):"?+?num?+?"\r\n");

String?sex;

if?(jrb1.isSelected())?{

sex?=?"男";

}?else?{

sex?=?"女";

}

sb.append("性別:"?+?sex?+?"\r\n");

String?aihao?=?"";

if?(jcb1.isSelected())?{

aihao?+=?jcb1.getText();

}

if?(jcb2.isSelected())?{

aihao?+=?"?"?+?jcb2.getText();

}

if?(jcb3.isSelected())?{

aihao?+=?"?"?+?jcb3.getText();

}

sb.append("愛好:"?+?aihao?+?"\r\n");

String?jieshao?=?jtf3.getText();

sb.append("自我介紹:"?+?jieshao?+?"\r\n");

new?PrintDailog(sb.toString(),?FILE_PATH).setVisible(true);//打開打印頁(yè)面,并設(shè)置為可見

}

});

getContentPane().add(new?JLabel("信息填寫",JLabel.CENTER),BorderLayout.NORTH);

getContentPane().add(jp);

getContentPane().add(jb,?BorderLayout.SOUTH);

}

public?static?void?main(String[]?args)?{

new?MainFrame().setVisible(true);

}

}

//定義一個(gè)對(duì)話框窗口類

class?PrintDailog?extends?JDialog?{

String?info;//用于接受信息

String?filePath;//文檔的路徑

private?final?JLabel?jl2;

public?PrintDailog(String?info,?final?String?filePath)?{

this.info?=?info;

this.filePath?=?filePath;

setModal(true);//模態(tài)為真,如果不關(guān)閉這個(gè)對(duì)話框,那么無(wú)法點(diǎn)擊其他窗口

setTitle("信息打印頁(yè)");//設(shè)置打印窗口的標(biāo)題

setSize(300,?320);//設(shè)置打印窗口的大小

setLocationRelativeTo(null);//設(shè)置打印窗口居中

setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//當(dāng)點(diǎn)擊關(guān)閉按鈕時(shí),該窗口銷毀

JLabel?jl1?=?new?JLabel("信息打印顯示",?JLabel.CENTER);

JTextArea?jta?=?new?JTextArea(info);

jta.setEditable(false);//不可編輯

jta.setLineWrap(true);//自動(dòng)換行

JScrollPane?jsp?=?new?JScrollPane(jta);

jsp.setBorder(BorderFactory.createTitledBorder("信息"));

JButton?jb1?=?new?JButton("打印");

JPanel?jp?=?new?JPanel(new?GridLayout(2,?1));

JPanel?jp1?=?new?JPanel();

jp1.add(jb1);

JPanel?jp2?=?new?JPanel();

jl2?=?new?JLabel();

jp2.add(jl2);

jp.add(jp1);

jp.add(jp2);

add(jl1,?BorderLayout.NORTH);

add(jsp);

add(jp,?BorderLayout.SOUTH);

jb1.addActionListener(new?ActionListener()?{//點(diǎn)擊打印的按鈕的事件

public?void?actionPerformed(ActionEvent?e)?{

saveToFile();//信息打印到了文檔

jl2.setText("信息已經(jīng)打印到"?+?filePath);//顯示出來(lái)

jl2.setForeground(Color.RED);//為了醒目設(shè)置顏色為紅色

}

});

}

private?void?saveToFile()?{//該方法用于保存信息到文檔

try?{

BufferedWriter?bw?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream(filePath),?"UTF-8"));

bw.write(info);

bw.close();

}?catch?(Exception?e)?{

e.printStackTrace();

}

}

}

五: 拓展

java 制作圖像界面比較簡(jiǎn)單, ?只需要熟練的掌握三大布局(流布局 表格布局 邊界布局)和常用組件 ?, 就能制作出比較復(fù)雜的界面 . ?所以理清業(yè)務(wù)邏輯, ?才是重點(diǎn)

怎樣自己做一個(gè)java控件

就寫一個(gè)沒(méi)有主函數(shù)的類不就可以了,一個(gè)實(shí)現(xiàn)顯示文字的方法,一個(gè)實(shí)現(xiàn)顯示圖像的方法,然后在另一個(gè)類中調(diào)用,可以創(chuàng)建一個(gè)button,然后實(shí)現(xiàn)它的監(jiān)聽,然后執(zhí)行那個(gè)類中的某個(gè)方法不就可以了,awt和swing沒(méi)怎么學(xué),寫不出來(lái)

!!

純java套打代碼不用任何插件?

package print; /*用java實(shí)現(xiàn)打印 ,java.awt中提供了一些打印的API, 要實(shí)現(xiàn)打印 ,首先要獲得打印對(duì)象 ,然后繼承Printable實(shí)現(xiàn)接口方法print ,以便打印機(jī)進(jìn)行打印 , 最后用用Graphics2D直接輸出直接輸出 。 下面代碼實(shí)現(xiàn)了簡(jiǎn)單的打印功能: */ import java.awt.BasicStroke; import java.awt.Color; import java.awt.Component; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.RenderingHints; import java.awt.font.FontRenderContext; import java.awt.font.LineBreakMeasurer; import java.awt.font.TextAttribute; import java.awt.font.TextLayout; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.awt.print.Book; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.text.AttributedString; import javax.swing.JApplet; public class print implements Printable { /** */ /** * @param Graphic指明打印的圖形環(huán)境 * @param PageFormat指明打印頁(yè)格式(頁(yè)面大小以點(diǎn)為計(jì)量單位,1點(diǎn)為1英才的1/72,1英寸為25.4毫米。A4紙大致為595×842點(diǎn)) * @param pageIndex指明頁(yè)號(hào) **/ public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException { System.out.println("pageIndex=" + pageIndex); Component c = null; //print string String str = "中華民族是勤勞、勇敢和富有智慧的偉大民族。"; //轉(zhuǎn)換成Graphics2D Graphics2D g2 = (Graphics2D) gra; //設(shè)置打印顏色為黑色 g2.setColor(Color.black); //打印起點(diǎn)坐標(biāo) double x = pf.getImageableX(); double y = pf.getImageableY(); switch (pageIndex) { case 0: //設(shè)置打印字體(字體名稱、樣式和點(diǎn)大小)(字體名稱可以是物理或者邏輯名稱) //Java平臺(tái)所定義的五種字體系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput Font font = new Font("新宋體", Font.PLAIN, 9); g2.setFont(font); //設(shè)置字體 //BasicStroke bs_3=new BasicStroke(0.5f); float[] dash1 = {2.0f}; //設(shè)置打印線的屬性。 //1.線寬 2、3、不知道,4、空白的寬度,5、虛線的寬度,6、偏移量 g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f)); //g2.setStroke(bs_3);//設(shè)置線寬 float heigth = font.getSize2D(); //字體高度 System.out.println("x=" + x); // -1- 用Graphics2D直接輸出 //首字符的基線(右下部)位于用戶空間中的 (x, y) 位置處 //g2.drawLine(10,10,200,300); Image src = Toolkit.getDefaultToolkit().getImage( "file:icons/filter.gif"); g2.drawImage(src, (int) x, (int) y, c); int img_Height = src.getHeight(c); int img_width = src.getWidth(c); //System.out.println("img_Height="+img_Height+"img_width="+img_width) ; g2.drawString(str, (float) x, (float) y + 1 * heigth + img_Height); g2.drawLine((int) x, (int) (y + 1 * heigth + img_Height + 10), (int) x + 200, (int) (y + 1 * heigth + img_Height + 10)); g2.drawImage(src, (int) x, (int) (y + 1 * heigth + img_Height + 11), c); return PAGE_EXISTS; default: return NO_SUCH_PAGE; } } public static void main(String[] args) { // 通俗理解就是書、文檔 Book book = new Book(); // 設(shè)置成豎打 PageFormat pf = new PageFormat(); pf.setOrientation(PageFormat.PORTRAIT); // 通過(guò)Paper設(shè)置頁(yè)面的空白邊距和可打印區(qū)域。必須與實(shí)際打印紙張大小相符。 Paper p = new Paper(); p.setSize(590, 840); //紙張大小 p.setImageableArea(10, 10, 590, 840); //A4(595 X 842)設(shè)置打印區(qū)域,其實(shí)0,0應(yīng)該是72,72,因?yàn)锳4紙的默認(rèn)X,Y邊距是72 pf.setPaper(p); // 把 PageFormat 和 Printable 添加到書中,組成一個(gè)頁(yè)面 book.append(new PrintTest(), pf); //獲取打印服務(wù)對(duì)象 PrinterJob job = PrinterJob.getPrinterJob(); // 設(shè)置打印類 job.setPageable(book); try { //可以用printDialog顯示打印對(duì)話框,在用戶確認(rèn)后打印;也可以直接打印 //boolean a=job.printDialog(); //if(a) //{ job.print(); //} } catch (PrinterException e) { e.printStackTrace(); } } }

采納哦

本文名稱:java純代碼控件,Java控件
網(wǎng)站URL:http://chinadenli.net/article3/dsegjos.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作外貿(mào)建站標(biāo)簽優(yōu)化App設(shè)計(jì)手機(jī)網(wǎng)站建設(shè)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)