當前位置:編程學習大全網 - 編程語言 - 編寫壹個Java GUI

編寫壹個Java GUI

試壹下下面的代碼

(如果點擊按鈕後沒有任何變化,將窗口最小化壹下就有了)

沒有出現這個問題的話,也請告訴我壹下~

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

public class painting extends JFrame implements ActionListener{

private JButton round,rectangle,ellipse,beeline;

private JLabel xaxis,yaxis,remain,information;

private JTextField xTF,yTF;

private BorderLayout layout;

private Container cp;

private JPanel pCenter;

Vector<Object> v=new Vector<Object>(); //定義壹個集合類用於存儲按鈕對象

public painting(){ //構造方法 ------------------框架初始化-------------------

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setTitle("painting");

setSize(400,500);

layout = new BorderLayout();

cp = getContentPane();

cp.setLayout(layout);

round= new JButton("畫圓");

rectangle= new JButton("畫矩形");

ellipse= new JButton("畫橢圓");

beeline= new JButton("畫直線");

xaxis=new JLabel("x坐標");

yaxis=new JLabel("y坐標");

remain=new JLabel("右下角坐標(400,500) ");

xTF=new JTextField("0",5);

yTF=new JTextField("0",5);

JPanel pUp= new JPanel();//第壹個面板 在上部

pUp.add(remain);

pUp.add(xaxis);//置兩個文本框

pUp.add(xTF);

pUp.add(yaxis);

pUp.add(yTF);

cp.add(pUp, "North");

//pCenter=new JPanel();//第二個面板 在中部

//pCenter.add(information);//置顯示說明與畫圖區

//cp.add(pCenter,"Center");

JPanel pDown= new JPanel();//第三個面板 在下部

pDown.add(round);// 置四個按鈕

pDown.add(rectangle);

pDown.add(ellipse);

pDown.add(beeline);

cp.add(pDown, "South");

round.addActionListener(this); //置按鈕監聽--------------按鈕行為監聽與響應-------------

rectangle.addActionListener(this);

ellipse.addActionListener(this);

beeline.addActionListener(this);

}

public void actionPerformed(ActionEvent e) {//監聽響應

v.add(e.getSource());//將按鈕情況存入v中

}

public void paint(Graphics g) { //--------------繪圖響應-------------

super.paint(g);

int xx=Integer.parseInt(xTF.getText());//獲取位置值

int yy=Integer.parseInt(yTF.getText());

int size=0;

Object o;

//while(v.size()!=size){//當用戶點擊按鈕選擇某壹種圖形時,v的大小就會比size值大1,當繪圖完成後,v.size又等於size;效果就是:出現點擊 即刻處理

o=v.lastElement();

if(o == round) {g.drawOval(xx,yy,50,50);}

else if (o == rectangle){g.drawRect(xx,yy,100,50);}

else if (o == ellipse) {g.drawOval(xx,yy,100,50);}

else if(o == beeline) {g.drawLine(xx,yy,xx+100,yy);}

size++;

}

}

public static void main(String[] args){ // ------------程序入口-------------

JFrame frame = new painting();

frame.setVisible(true);

}

}

  • 上一篇:動漫職業規劃範文
  • 下一篇:2017最裝逼的英文網名
  • copyright 2024編程學習大全網