不知道是不是你說(shuō)的窗口
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),保山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:保山等地區(qū)。保山做網(wǎng)站價(jià)格咨詢:028-86922220
使用javaswing JFrame設(shè)計(jì)窗口 + 布局就可實(shí)現(xiàn),,如下例(添加了詳細(xì)注釋):
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class JFrameTest extends JFrame implements ActionListener {
private static final long serialVersionUID = -2829899643559384548L;
private JButton b1 = null;//按鈕
private JTextArea jta = null;//文本
public JFrameTest() {
Container c = this.getContentPane();
c.setLayout(new BorderLayout());//設(shè)置布局方式,BorderLayout東西南北中布局
b1 = new JButton("點(diǎn)擊");
b1.addActionListener(this);//為按鈕添加監(jiān)聽
c.add(b1, BorderLayout.SOUTH);//添加按鈕到c容器中,并分配在容器南(下)方
jta = new JTextArea();
c.add(jta, BorderLayout.CENTER);//添加文本區(qū)到c容器中,并分配在居中位置
this.setTitle("按鈕事件");//設(shè)置窗口標(biāo)題
this.setSize(300, 300);//設(shè)置窗體大小
this.setVisible(true);//窗體設(shè)置為顯示
// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關(guān)閉窗體
//常用的一種關(guān)閉窗體的方法
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
//使用判斷按鈕名稱的方法觸發(fā)事件
if("點(diǎn)擊".equals(e.getActionCommand())) {
jta.setText("按鈕被點(diǎn)擊了!");
}
//也可以獲取對(duì)象名實(shí)現(xiàn)判斷
// if(e.getSource() == b1) {
// jta.setText("按鈕使用getSource方法被點(diǎn)擊了!");
// }
}
public static void main(String[] args) {
new JFrameTest();
}
}
jframe.setVisible(true) 即可讓窗口可見.
API里關(guān)于該方法的說(shuō)明
public void setVisible(boolean?b)
根據(jù)參數(shù) b 的值顯示或隱藏此 Window。
窗口的其他常用屬性的設(shè)置,詳細(xì)見下面的例子
示例圖
參考代碼和詳細(xì)的注釋
import?java.awt.Color;
import?java.awt.Font;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
public?class?MyFrame?extends?JFrame?{
//構(gòu)造函數(shù)
public?MyFrame()?{
JLabel?jl?=?new?JLabel("床前明月光,疑是地上霜。",JLabel.CENTER);//文字標(biāo)簽,文字居中
jl.setForeground(Color.BLUE);//文字的顏色
jl.setFont(new?Font("仿宋",?Font.BOLD,?20));//設(shè)置文字,字體
add(jl);//把文字添加到窗口
//getContentPane().setBackground(Color.WHITE);?//設(shè)置窗口(內(nèi)容面板)的背景顏色
setTitle("窗口示例");//?窗口標(biāo)題
setSize(300,?200);//?窗口大小?寬300?高200
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//?當(dāng)窗口關(guān)閉時(shí),程序結(jié)束
}
//main函數(shù)
public?static?void?main(String[]?args)?{
MyFrame?frame?=?new?MyFrame();//?創(chuàng)建窗口
frame.setVisible(true);//?讓該窗口實(shí)例可見
}
}
首先,繪制一個(gè)默認(rèn)的窗體,創(chuàng)建好工程,包,類,命名類為Window.很簡(jiǎn)單,在類中添加一個(gè)私有屬性JFrame,這么寫:private JFrame f = new JFrame("歡迎來(lái)到本自助銀行");Window的構(gòu)造方法中,只寫?f.setVisible(true);以及窗體的初始位置和初始大小:f.setLocation(300, 200);f.setSize(800, 500);
然后在同一個(gè)構(gòu)造函數(shù)中跟進(jìn)一行f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);此為設(shè)置關(guān)閉圖標(biāo)即退出程序緊接著,寫f.setResizable(false);此為設(shè)置不可更改窗體大小。如圖,的確沒辦法更改了。
最后,便是畫龍點(diǎn)睛的一筆,給窗體添加一個(gè)圖標(biāo),顯得更專業(yè)了一些:f.setIconImage(Toolkit.getDefaultToolkit().createImage("E:\\a.jpg"));
這里有一點(diǎn)比較重要,重申一句。構(gòu)造器中的設(shè)置比靜態(tài)屬性初始化設(shè)置更有直接影響力。而且,程序是執(zhí)行向上覆蓋的。也就是說(shuō),如果之后有過(guò)更改,那么更改之后就顯示更改后的結(jié)果,比如,在這個(gè)構(gòu)造函數(shù)中再寫f.setTitle("好好活著");那么,請(qǐng)注意窗體的文字。如圖: