三角形:
package 软件工程项目1;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Triangle extends JFrame implements ActionListener{
JTextField text1,text2;
JLabel label1,label2;
JPanel panel1,panel2;
JButton bt1;
JTextArea area;
Font f;
public Triangle() {
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 500,500);
}
void init() {
f=new Font("宋体",Font.BOLD,16);
setLayout(new FlowLayout());
label1=new JLabel("三角形的底长:");
label2=new JLabel("三角形的厚度:");
text1=new JTextField(5);
text2=new JTextField(5);
panel1=new JPanel();
panel2=new JPanel();
area=new JTextArea(20,30);
bt1=new JButton("确定");
add(label1);
add(text1);
add(panel1);
add(label2);
add(text2);
add(panel2);
add(bt1);
add(new JScrollPane(area));
panel1.add(label1);
panel1.add(text1);
panel2.add(label2);
panel2.add(text2);
bt1.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
String height1=text1.getText();
String thickness1=text2.getText();
int i=0,j=0;
area.setFont(f);
if(height1.equals("")||thickness1.equals("")||(Integer.parseInt(height1)<Integer.parseInt(thickness1)))
{
area.append("输入数字有误,请重新输入!");
text2.setText("");
}
else {
area.setText("");
int layer=Integer.parseInt(text1.getText().trim());
int thickness=Integer.parseInt(text2.getText().trim());
for(i=layer;i>=1;i--)
{
if(i<=thickness)
{
for(j=1;j<=thickness;j++)
area.append("#");
}
else if(i>layer-thickness){
for(j=1;j<=i;j++)
area.append("#");
}
else{
for(j=1;j<=i;j++)
{
if(j<thickness+1)
area.append("#");
else if(j>i-thickness)
area.append("#");
else
area.append(" ");
}
}
area.append("\n");
}
}
}
public static void main(String[] args) {
new Triangle();
}
}
**
截图
**
**
正方形:
package 软件工程项目1;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Square extends JFrame implements ActionListener{
JTextField text1,text2;
JLabel label1,label2;
JPanel panel1,panel2;
JTextArea area