用JAVA編寫窗體程序一般可以用swing這個庫,你用什么開發(fā)工具都沒有關(guān)系。 我們可以實例化JFrame這個類來實現(xiàn)窗體。然后可以往窗體里加入一些容器和組件,還可以對這些組件增加偵聽的方法,這樣,一個JAVA的窗體程序的雛形就有了。這些都很簡單的,你查查API就明白了。 給你一個hello world程序: import javax.swing.JFrame; import javax.swing.JLabel; public class test { public static void main(String args[]) { JFrame j =new JFrame(); j.setSize(100, 100); j.add(new JLabel("Hello world!")); j.setVisible(true); } }

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比大祥網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式大祥網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大祥地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
生成無標題欄,就是把邊框去掉,可以使用 this.setUndecorated(true); // 去掉窗口邊框
但是去掉邊框后就不可以移動了,需要重寫一些方法,例如:
public void run() {
try {
final Mian_login frame = new Mian_login();
frame.setVisible(true);
this.setDragable(frame);
} catch (Exception e) {
e.printStackTrace();
}
}
// 為窗口加上監(jiān)聽器,使得窗口可以被拖動
private void setDragable(Mian_login frame) {
frame.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
isMoved = false;// 鼠標釋放了以后,是不能再拖拽的了
frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void mousePressed(java.awt.event.MouseEvent e) {
isMoved = true;
pre_point = new Point(e.getX(), e.getY());// 得到按下去的位置
frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
});
//拖動時當(dāng)前的坐標減去鼠標按下去時的坐標,就是界面所要移動的向量。
frame.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent e) {
if (isMoved) {// 判斷是否可以拖拽
end_point = new Point(frame.getLocation().x + e.getX() - pre_point.x,
frame.getLocation().y + e.getY() - pre_point.y);
frame.setLocation(end_point);
}
}
});
}
});
這是參考網(wǎng)上的大神弄出來的
首先,我們看一下窗體都有哪些要素,以windows下的【記事本】為例:我們新建一個記事本,會看到標題,大小,位置,關(guān)閉方式;
所以我們用代碼創(chuàng)建一個窗體,也需要這些要素,前提:在Java中創(chuàng)建窗體,我們需要繼承【JFrame】類,導(dǎo)入JFrame包;
第二步,我們給窗體設(shè)置標題(PS:對窗體的一些設(shè)置,最好寫在構(gòu)造方法里,養(yǎng)成良好的習(xí)慣),設(shè)置標題使用setTitle()方法;
第三步,給窗體設(shè)置大小和位置,我們可以使用setBounds()【setBounds()傳入4個參數(shù),前兩個是窗體的位置,后兩個是窗體的 大小】,將大小和位置一起設(shè)置,也可以使用setLocation()設(shè)置窗體的位置(注意窗體的位置,是以電腦屏幕左上角為原點(0,0)的坐標系),使用setSize()設(shè)置窗體的大小;
第四步,設(shè)置窗體的關(guān)閉方式,使用setDefaultCloseOperation();
最后一步,也是特別重要的,我們雖然上面創(chuàng)建好窗體了,但是我們并沒有設(shè)置讓窗體【顯示】,所以你現(xiàn)在運行程序,窗體是顯示不出來的,我們還需要加一句setVisible(),傳入的參數(shù)為true;
我們補全程序,加上main()方法,運行看一下吧!
我已發(fā)送郵件到你的郵箱,我的郵箱是fengxk2004@163.com
Java源程序附后。
本程序的特點是:
(1) 文本框只能輸入純數(shù)字;
(2) 界面較美觀;
(3) 代碼可讀性較好,有適當(dāng)?shù)淖⑨專?/p>
(4) 窗體一出現(xiàn)就在桌面居中。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class GuessNumber {
private static final long serialVersionUID = 1L;
JFrame frame;
JTextField txtNum; //文本框
JButton btnStart; //按鈕
JLabel lblPrompt;
JLabel lblMessage;
static int source = 0;
static Random rand = new Random();
public GuessNumber(){
frame = new JFrame("Guess Number");
JPanel pnl1, pnl2, pnl3, pnl4;
pnl1 = new JPanel();
pnl1.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl2 = new JPanel();
pnl2.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl3 = new JPanel();
pnl3.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl4 = new JPanel();
pnl4.setLayout(new FlowLayout(FlowLayout.LEFT));
txtNum = new JTextField(10);
btnStart = new JButton("開始");
lblPrompt = new JLabel("htmlbodyI have a number between 1 and 1000 can you guess my number?br/Please enter your first guess./body/html");
lblMessage = new JLabel();
pnl1.add(lblPrompt);
pnl2.add(txtNum);
pnl3.add(lblMessage);
pnl4.add(btnStart);
frame.setLayout(new GridLayout(4, 1));
frame.add(pnl1);
frame.add(pnl2);
frame.add(pnl3);
frame.add(pnl4);
txtNum.addActionListener(this.new TextAction());
txtNum.addKeyListener(this.new KeyAction());
btnStart.addActionListener(this.new ButtonAction());
frame.setSize(400, 200);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
}
public static void main(String[] args) {
new GuessNumber();
while((source=rand.nextInt(1000))==0);
}
//按鈕單擊后的事件處理
class ButtonAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton)e.getSource();
if(btn == btnStart){
while((source=rand.nextInt(1000))==0);
txtNum.setEditable(true);
}
}
}
//文本框按回車后的事件處理
class TextAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JTextField txt = (JTextField)e.getSource();
if(txt != txtNum){
return;
}
int num = Integer.parseInt(txtNum.getText());
if(num == source){
lblMessage.setText("Correct!");
txtNum.setEditable(false);
txtNum.setBackground(frame.getBackground());
}
else if(num source){
lblMessage.setText("Too High");
txtNum.setBackground(Color.red);
}
else{
lblMessage.setText("Too Low");
txtNum.setBackground(Color.blue);
}
}
}
//限制文本框只能輸入數(shù)字
class KeyAction implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyTyped(KeyEvent e) {
int k = e.getKeyChar();
String text = ((JTextField)e.getSource()).getText();
if(!((k47 k 58) || (k==8 || k==KeyEvent.VK_PERIOD))){ //限制只能輸入數(shù)字
e.setKeyChar((char)KeyEvent.VK_CLEAR);
}
if(text.length() 4){ //限制數(shù)值的長度
e.setKeyChar((char)KeyEvent.VK_CLEAR);
}
}
}
}
當(dāng)前名稱:java代碼生成窗體,java創(chuàng)建窗體代碼
瀏覽地址:http://chinadenli.net/article23/dsisocs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、域名注冊、品牌網(wǎng)站建設(shè)、用戶體驗
聲明:本網(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)