當前位置:編程學習大全網 - 源碼下載 - Java語言,用Swing組件編寫程序,要求輸入圓的半徑r,求圓的面積?

Java語言,用Swing組件編寫程序,要求輸入圓的半徑r,求圓的面積?

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.text.DecimalFormat;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class Test {

JFrame frame = new JFrame("求圓的面積");

JLabel info = new JLabel("請輸入圓的半徑:");

JTextField rField = new JTextField();

JLabel result = new JLabel();

public void init() {

frame.setLayout(null);

frame.setSize(280, 100);

frame.setResizable(false);

frame.setLocationRelativeTo(null);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

info.setBounds(10, 10, 100, 30);

rField.setBounds(110, 15, 150, 20);

result.setBounds(30, 40, 220, 30);

frame.add(info);

frame.add(rField);

frame.add(result);

rField.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent e) {

}

public void keyReleased(KeyEvent e) {

double r = 0;

try {

r = Double.parseDouble(rField.getText());

} catch (NumberFormatException n) {

String txt = rField.getText();

if (!txt.equals("")) {

rField.setText(changeTxt(txt));

} else {

result.setText("");

}

return;

}

DecimalFormat format = new DecimalFormat("#0.00");

String area = format.format(Math.pow(Math.PI * r, 2));

result.setText("圓的面積: " + area);

}

public void keyTyped(KeyEvent e) {

}

});

}

public String changeTxt(String txt) {

StringBuffer s = new StringBuffer();

for (int i = 0; i < txt.length(); i++) {

int n = (int) txt.charAt(i);

if (n >= 48 && n <= 57 || n == 46) {

s.append(txt.charAt(i));

}

}

return s.toString();

}

public static void main(String[] args) {

new Test().init();

}

}

  • 上一篇:怎樣能使winform窗體的大小固定住,不能調整其大小
  • 下一篇:tvb2015電視劇安排表
  • copyright 2024編程學習大全網