前言
科技的時代,身為古老行業一員,要能迎頭趕上,否則將被這股洪流漸漸所淘汰。『Java』可說是筆者學習程式語言中,認為是較接近人性之思維。應用它編寫柱P-M圖之查詢手法,說明了java功能(物件導向與視窗圖形)強大,而且免費,值得推廣應用。
設定工具物件
1.文字標籤(JLabel): ψPn/Ag、ψMn/Ag/h、型式、fc、fy、查詢rh、圖例、放大、縮小。
2.文字方塊元件(JTextField): ψPn/Ag、ψMn/Ag、fc、fy、圖例。
3.下拉式清單元件(JComboBox):型式(配筋)、查詢rh(柱心比)。
4.滑動軸元件(JSlider):P-M圖形縮小或放大。
5.設定畫布(UserPanel):P-M圖形顯示。
一、實作
Public class dwFig extends JFrame implements
ActionListener,ChangeListener
1. 定義://建立初始值
public dwFig()
{
super("P-M圖形");
Container
c=getContentPane();//註、容器設定
c.setBackground(Color)// 註、容器背景顏色設定
JLabel pylb=new JLabel(String);// 註、文字標籤
JTextField pyjtf=new JTextField(String,int);
//註、String初始值設定,int欄位寬度
pyjtf.setEditable(boolean );//
註、boolean
設定可否編輯
JSlider sjsd=new JSlider(int,int,int,int);
/*註、滑動軸:第1個int 方向常數如
JSlider.HORIZONTAL(水平)或JSlider.VERTICAL(垂直),其他3個int為最小值、最大值、初始值*/
sjsd.setPaintTicks(true);// 註、刻劃顯示
sjsd.setPaintLabels(true);// 註、刻劃文字顯示
sjsd.setMajorTickSpacing(10);// 註、 刻劃文字顯示間隔
sjsd.addChangeListener(this);//註、驅動式
JComboBox shxjcb=new
JComboBox(Object[]);
//註、型式,Object[]清單項目。
shxjcb.addActionListener(this); //註、驅動式
JComboBox rhjcb=new JComboBox(Object[]);//查詢rh
rhjcb.addActionListener(this); }//註、驅動式
2.
驅動程式
A. 下拉式清單元件
public void
actionPerformed(ActionEvent evt)
{ if(evt.getSource()==shxjcb)
{ /* 註、型式(配筋) ,內容略列*/}
else {/*註、查詢rh(柱心比) ,內容略列*/ }
B. 滑動軸元件
public void
stateChanged(ChangeEvent evt)
{ int a=sjsd.getValue();
/*註、取得移動數值,其他內容略列
註、重新繪圖*/
repaint();}
C. 滑鼠元件
addMouseListener(new
MouseAdapter()
{ public void mousePressed(MouseEvent evt)
{{ Int
y=evt.getY();x=evt.getX();
/*註、取得座標,其他內容略列
註、重新繪圖*/
repaint(); }})
D. 繪圖
public void
paintComponent(Graphics g)
{ Graphics2D g2 = (Graphics2D) g;
g2.setFont(new Font(String, int,int));
/*註、文字設定:
String字型名稱。第2個int樣式如Font.PLAIN、Font.ITALIC、 Font.BOLD。最後int參數是尺寸。*/
g2.setColor(Color);// 註、顏色設定
g2.drawPolyline(int[],int[],int);//
註、繪多邊形線
//註、前2個int[]陣列為座標,最後int總共點數。
g2.drawLine(int,int,int,int);
/* 註、繪直線
前2個int為起點座標(x,y),後2個int為終點座標(x2,y2)*/
g2.drawString(String,int,int);
/* 註、繪列文字
String為字串內容,後2個為文字位置座標(x,y)*/
}
備註:
1. ";"程式敘述結束符號。
2. "{'和"}"程式區塊符號。
3. "//"短註解表示,"/*"和"*/"長註解表示,二者不會被編輯執行。
4. String文字以雙引號[" ]刮起。
二、
執行
如圖示
1. 擇選鈕內變數:即繪製P-M圖更新。
2. 移動滑動桿: 即縮放P-M圖形更新。
3. 以滑鼠點選畫布:點選P-M圖上任意位置,即顯示該點之鋼筋比ρ、Pu/Ag、Mu/Ag/h值。用綠色線條繪出選點並更新之。
結論
柱P-M圖是參考鋼筋混凝土設計手冊(ACI340號委員會編著),將書籍之數值資料,先儲存於資料夾,藉由java程式之輸入,串流物件BufferedRead讀入,並藉由Graphics繪圖功能,將每一筆柱形斷面、配筋型式、鋼筋fy、混凝土fc'與柱心比之資訊呈現。操作上,選取圖形,再以滑鼠點選任一位置,藉由內插法快速演算,以得知壓力桿件容許軸力P、彎矩M值與鋼筋比ρ。
【本文稿經由台灣省土木技師公會技師報同意轉載;未經允許請勿任意轉載】
精選文章
新進文章