java图形界面小程序,堆栈,队列,排序,画图等功能

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.Timer;
import java.util.TimerTask;
import https://www.360docs.net/doc/0310303771.html,ng.*;
import java.text.*;
import javax.swing.border.*;
import javax.script.*;
public class Ex1_0 implements ActionListener
{
static JFrame f=null;
JButton r1,r2,r3,r4,r5,r6,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10;
JTextField F1,F3,F4,F6,F7,F8,F12,F13,F14,F15;
JTextArea F2,F5,F9,F10,F11,T1;
JScrollPane sp;
JPanel p2,p3,p4,p5,p6,p7;
SpringLayout layout;
Container contentPane;
public Ex1_0()
{
f=new JFrame("蓝点暑期任务");
contentPane=f.getContentPane();
f.setPreferredSize(new Dimension(570,450));

JPanel p1=new JPanel();
p1.setLayout(new GridLayout(1,6));
p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(
Color.blue,2),"选择功能种类",TitledBorder.CENTER,TitledBorder.TOP));
r1 = new JButton("堆栈");
r2 = new JButton("队列");
r3 = new JButton("排序");
r4 = new JButton("正弦图");
r5 = new JButton("画图");
r6 = new JButton("退出");
p1.add(r1);
p1.add(r2);
p1.add(r3);
p1.add(r4);
p1.add(r5);
p1.add(r6);
r1.addActionListener(this);
r2.addActionListener(this);
r3.addActionListener(this);
r4.addActionListener(this);
r5.addActionListener(this);
r6.addActionListener(this);

//p2 代码显示区
p2=new JPanel();
p2.setBounds(10,10,200,200);
p2.setLayout(new GridLayout(1,1));
p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"代码显示区域",TitledBorder.CENTER,TitledBorder.TOP));
T1 = new JTextArea(" ",10,23);
T1.setLineWrap(true);
sp = new JScrollPane(T1);
p2.add(sp);
//T1.setPreferredSize(new Dimension(5,5));
//p2.add(T1);



//p3 堆栈布局
p3=new JPanel();
layout= new SpringLayout();
p3.setLayout(layout);
p3.setPreferredSize(new Dimension(270,350));
p3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"功能显示区域",TitledBorder.CENTER,TitledBorder.TOP));
JLabel L1 = new JLabel("入栈数据");
p3.add(L1);
layout.putConstraint(SpringLayout.NORTH,L1,60,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,L1,10,SpringLayout.WEST,p3);
F1 = new JTextField(10);
p3.add(F1);
layout.putConstraint(SpringLayout.NORTH,F1,60,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,F1,65,SpringLayout.WEST,p3);
b1 = new JButton("确定");
b1.setPreferredSize(new Dimension(60,22));
p3.add(b1);
layout.putConstraint(SpringLayout.NORTH,b1,60,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,b1,190,SpringLayout.WEST,p3);
JLabel L2 = new JLabel("出栈数据");
p3.add(L2);
layout.putConstraint(SpringLayout.NORTH,L2,140,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,L2,10,S

pringLayout.WEST,p3);
F2 = new JTextArea(" ",1,10);
p3.add(F2);
layout.putConstraint(SpringLayout.NORTH,F2,140,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,F2,65,SpringLayout.WEST,p3);
b9 = new JButton("确定");
b9.setPreferredSize(new Dimension(60,22));
p3.add(b9);
layout.putConstraint(SpringLayout.NORTH,b9,140,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,b9,190,SpringLayout.WEST,p3);
JLabel L3 = new JLabel("栈顶元素");
p3.add(L3);
layout.putConstraint(SpringLayout.NORTH,L3,220,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,L3,10,SpringLayout.WEST,p3);
F3 = new JTextField(5);
p3.add(F3);
layout.putConstraint(SpringLayout.NORTH,F3,220,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,F3,65,SpringLayout.WEST,p3);
b2 = new JButton("取栈顶元素");
b2.setPreferredSize(new Dimension(105,22));
p3.add(b2);
layout.putConstraint(SpringLayout.NORTH,b2,220,SpringLayout.NORTH,p3);
layout.putConstraint(SpringLayout.WEST,b2,150,SpringLayout.WEST,p3);




//p4 队列布局
p4=new JPanel();
layout= new SpringLayout();
p4.setLayout(layout);
p4.setPreferredSize(new Dimension(270,350));
p4.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"功能显示区域",TitledBorder.CENTER,TitledBorder.TOP));
JLabel L4 = new JLabel("入队数据");
p4.add(L4);
layout.putConstraint(SpringLayout.NORTH,L4,60,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,L4,10,SpringLayout.WEST,p4);
F4 = new JTextField(10);
p4.add(F4);
layout.putConstraint(SpringLayout.NORTH,F4,60,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,F4,65,SpringLayout.WEST,p4);
b3 = new JButton("确定");
b3.setPreferredSize(new Dimension(60,22));
p4.add(b3);
layout.putConstraint(SpringLayout.NORTH,b3,60,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,b3,190,SpringLayout.WEST,p4);
JLabel L5 = new JLabel("出队数据");
p4.add(L5);
layout.putConstraint(SpringLayout.NORTH,L5,140,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,L5,10,SpringLayout.WEST,p4);
F5 = new JTextArea(" ",1,10);
p4.add(F5);
layout.putConstraint(SpringLayout.NORTH,F5,140,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,F5,65,SpringLayout.WEST,p4);
b10 = new JButton("确定");
b10.setPreferredSize(new Dimension(60,22));
p4.add(b10);
layout.putConstraint(SpringLayout.NORTH,b10,140,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,b10,190,SpringLayout.WEST,p4);
JLabel L6 = new JLabel("队头元素");
p4.add(L6);
layout.putConstraint(SpringLayout.NORTH,L6,220,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,L6,10,SpringLayout.WEST,p4);
F6 = new JTextField(5);
p4.add(F6);
layout.putConstraint(SpringLayout.NORTH,F6

,220,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,F6,65,SpringLayout.WEST,p4);
b4 = new JButton("取队头元素");
b4.setPreferredSize(new Dimension(105,22));
p4.add(b4);
layout.putConstraint(SpringLayout.NORTH,b4,220,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,b4,150,SpringLayout.WEST,p4);
JLabel L7 = new JLabel("队尾元素");
p4.add(L7);
layout.putConstraint(SpringLayout.NORTH,L7,290,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,L7,10,SpringLayout.WEST,p4);
F7 = new JTextField(5);
p4.add(F7);
layout.putConstraint(SpringLayout.NORTH,F7,290,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,F7,65,SpringLayout.WEST,p4);
b5 = new JButton("取队尾元素");
b5.setPreferredSize(new Dimension(105,22));
p4.add(b5);
layout.putConstraint(SpringLayout.NORTH,b5,290,SpringLayout.NORTH,p4);
layout.putConstraint(SpringLayout.WEST,b5,150,SpringLayout.WEST,p4);



//p5 排序布局
p5 = new JPanel();
layout= new SpringLayout();
p5.setLayout(layout);
p5.setPreferredSize(new Dimension(270,350));
p5.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"功能显示区域",TitledBorder.CENTER,TitledBorder.TOP));
JLabel L8 = new JLabel("初始序列");
p5.add(L8);
layout.putConstraint(SpringLayout.NORTH,L8,60,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,L8,10,SpringLayout.WEST,p5);
F8 = new JTextField(10);
p5.add(F8);
layout.putConstraint(SpringLayout.NORTH,F8,60,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,F8,65,SpringLayout.WEST,p5);
b6 = new JButton("确定");
b6.setPreferredSize(new Dimension(60,22));
p5.add(b6);
layout.putConstraint(SpringLayout.NORTH,b6,60,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,b6,190,SpringLayout.WEST,p5);
JLabel L9 = new JLabel("插入排序");
p5.add(L9);
layout.putConstraint(SpringLayout.NORTH,L9,140,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,L9,10,SpringLayout.WEST,p5);
F9 = new JTextArea("",1,10);
p5.add(F9);
layout.putConstraint(SpringLayout.NORTH,F9,140,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,F9,65,SpringLayout.WEST,p5);
JLabel L10 = new JLabel("冒泡排序");
p5.add(L10);
layout.putConstraint(SpringLayout.NORTH,L10,220,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,L10,10,SpringLayout.WEST,p5);
F10 = new JTextArea("",1,10);
p5.add(F10);
layout.putConstraint(SpringLayout.NORTH,F10,220,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,F10,65,SpringLayout.WEST,p5);
JLabel L11 = new JLabel("选择排序");
p5.add(L11);
layout.putConstraint(SpringLayout.NORTH,L11,290,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,L11,10,SpringLayout.WEST,p5);

F11 = new JTextArea("",1,10);
p5.add(F11);
layout.putConstraint(SpringLayout.NORTH,F11,290,SpringLayout.NORTH,p5);
layout.putConstraint(SpringLayout.WEST,F11,65,SpringLayout.WEST,p5);




//p6 画正弦图
p6 = new JPanel();
layout= new SpringLayout();
p6.setLayout(layout);
p6.setPreferredSize(new Dimension(270,350));
p6.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"功能显示区域",TitledBorder.CENTER,TitledBorder.TOP));
JLabel L12 = new JLabel("请输入x的值");
p6.add(L12);
layout.putConstraint(SpringLayout.NORTH,L12,10,SpringLayout.NORTH,p6);
layout.putConstraint(SpringLayout.WEST,L12,10,SpringLayout.WEST,p6);
F12 = new JTextField(5);
p6.add(F12);
layout.putConstraint(SpringLayout.NORTH,F12,10,SpringLayout.NORTH,p6);
layout.putConstraint(SpringLayout.WEST,F12,100,SpringLayout.WEST,p6);
b7 = new JButton("确定");
b7.setPreferredSize(new Dimension(63,22));
p6.add(b7);
layout.putConstraint(SpringLayout.NORTH,b7,10,SpringLayout.NORTH,p6);
layout.putConstraint(SpringLayout.WEST,b7,180,SpringLayout.WEST,p6);




//p7
p7 = new JPanel();
layout= new SpringLayout();
p7.setLayout(layout);
p7.setPreferredSize(new Dimension(270,350));
p7.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder
(Color.blue,2),"功能显示区域",TitledBorder.CENTER,TitledBorder.TOP));
JLabel L13= new JLabel("正方形边长");
p7.add(L13);
layout.putConstraint(SpringLayout.NORTH,L13,30,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,L13,10,SpringLayout.WEST,p7);
F13 = new JTextField(5);
p7.add(F13);
layout.putConstraint(SpringLayout.NORTH,F13,30,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,F13,100,SpringLayout.WEST,p7);
b8 = new JButton("确定");
b8.setPreferredSize(new Dimension(63,22));
p7.add(b8);
layout.putConstraint(SpringLayout.NORTH,b8,30,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,b8,180,SpringLayout.WEST,p7);
JLabel L14 = new JLabel("圆的半径");
p7.add(L14);
layout.putConstraint(SpringLayout.NORTH,L14,70,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,L14,10,SpringLayout.WEST,p7);
F14 = new JTextField(5);
F14.setEditable(false);
p7.add(F14);
layout.putConstraint(SpringLayout.NORTH,F14,70,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,F14,100,SpringLayout.WEST,p7);
JLabel L15 = new JLabel("面积之比");
p7.add(L15);
layout.putConstraint(SpringLayout.NORTH,L15,110,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,L15,10,SpringLayout.WEST,p7);
F15 = new JTextField(5);
F15.setEditable(false);
p7.add(F15);
layout.putConstraint(SpringLayout.NORTH,F15,110,SpringLayout.NORTH,p7);
layout.putConstraint(SpringLayout.WEST,F15,100,SpringLayout.WEST,p7);




b1.addActionListener(this);
b2.addActionListener(this);
b9.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b10.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);

contentPane.add(p1,BorderLayout.NORTH);
contentPane.add(p2,BorderLayout.WEST);
contentPane.add(p3,BorderLayout.EAST);

f.pack();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
System.exit(0);
}
});
}


//方法类声明
stack stack1 = new stack();
queue queue1 = new queue();
sort sort1 = new sort();
SinPanel sinPanel = new SinPanel();
shape shape1 = new shape();

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==r1)
{
contentPane.add(p3,BorderLayout.EAST);
p3.setVisible(true);
p4.setVisible(false);
p5.setVisible(false);
p6.setVisible(false);
p7.setVisible(false);

T1.setText(" ");
File file = new File("e://stack.txt");
if (file.exists() && file.isFile()) {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
T1.setText(T1.getText() + line + "\n");
} catch (IOException ioException) {
System.out.println(" NO File !");
}
}
}
else if(e.getSource()==r2)
{
contentPane.add(p4,BorderLayout.EAST);
p3.setVisible(false);
p4.setVisible(true);
p5.setVisible(false);
p6.setVisible(false);
p7.setVisible(false);

T1.setText(" ");
File file = new File("e://蓝点暑期作业//queue.txt");
if (file.exists() && file.isFile()) {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
T1.setText(T1.getText() + line + "\n");
} catch (IOException ioException) {
System.out.println("NO File !");
}
}
}
else if(e.getSource()==r3)
{
contentPane.add(p5,BorderLayout.EAST);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(true);
p6.setVisible(false);
p7.setVisible(false);

T1.setText(" ");
File file = new File("e://sort.txt");
if (file.exists() && file.isFile()) {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
T1.setText(T1.getText() + line + "\n");

} catch (IOException ioException) {
System.out.println("NO File !");
}
}
}
else if(e.getSource()==r4)
{
contentPane.add(p6,BorderLayout.EAST);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
p6.setVisible(true);
p7.setVisible(false);

T1.setText(" ");
File file = new File("e://SinPanel.txt");
if (file.exists() && file.isFile()) {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
T1.setText(T1.getText() + line + "\n");
} catch (IOException ioException) {
System.out.println("NO File !");
}
}

}
else if(e.getSource()==r5)
{
contentPane.add(p7,BorderLayout.EAST);
p3.setVisible(false);
p4.setVisible(false);
p5.setVisible(false);
p6.setVisible(false);
p7.setVisible(true);

T1.setText(" ");
File file = new File("e://shape.txt");
if (file.exists() && file.isFile()) {
try {
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null)
T1.setText(T1.getText() + line + "\n");
} catch (IOException ioException) {
System.out.println("NO File !");
}
}
}
else if(e.getSource()==r6)
{
JOptionPane.showMessageDialog(null, "请多多关照!", "请多多支持",https://www.360docs.net/doc/0310303771.html,RMATION_MESSAGE);
System.exit(0);
}

//堆栈功能实现
else if(e.getSource() == b1)
{
F2.setText(" ");
String s1=(String)F1.getText();
String []a1 = new String[20];
a1=s1.split(" ");

for(int i=0;i{
stack1.push(a1[i]);
}
}

else if(e.getSource() == b9)
{
String b1=(String)stack1.pop();
String []temp1 = b1.split(" ");
int[] a1= new int[temp1.length];
for(int i=0;i{
a1[i]=Integer.parseInt(temp1[i]);
}
// temp1= b1.split(" ");
for(int k=0;k{
F2.append(String.valueOf(temp1[k])+" ");
}

/*for(int i=0;i{
F2.setText(temp1[i]);
} */
}

else if(e.getSource() == b2)
{
String s1=(String)F1.getText();
stack1.push(s1);
String []a1 = s1.split(" ");
for(int i=0;i{
stac

k1.push(a1[i]);
}
F3.setText((String)stack1.top());
}

//队列功能实现
else if(e.getSource() == b3)
{
F5.setText(" ");
String s2=(String)F4.getText();
String []a2 = s2.split(" ");
for(int i=0;i{
queue1.enqueue(a2[i]);
}

}

else if(e.getSource() == b10)
{
String b2=(String)queue1.dequeue();
String []temp2 = b2.split(" ");
int[] a2= new int[temp2.length];
for(int i=0;i{
a2[i]=Integer.parseInt(temp2[i]);
}
for(int k=0;k{
F5.append(String.valueOf(temp2[k])+" ");
}
/*for(int i=0;i{
F5.setText(temp2[i]);
}*/
}
else if(e.getSource() == b4)
{
F6.setText((String)queue1.front());
}
else if(e.getSource() == b5)
{
F7.setText((String)queue1.behind());
}

//排序功能实现
else if(e.getSource() == b6)
{
String s3 = (String)F8.getText();
String []b3 = s3.split(" ");
int[] a3= new int[b3.length];
for(int i=0;i{
a3[i]=Integer.parseInt(b3[i]);
}
F9.setText(" ");
sort1.insersort(a3);
F10.setText(" ");
sort1.bubbleSort(a3);
F11.setText("");
sort1.selectSort(a3);
}

//正弦图功能实现
else if(e.getSource() == b7)
{
Graphics g = p6.getGraphics();
g.clearRect(5,60,250,240);
sinPanel.paintComponent(g);
}

//画圆和正方形
else if(e.getSource() == b8)
{
Graphics g = p7.getGraphics();
g.clearRect(70,180,190,170);
shape1.paint(g);
}

}

public static void main(String[] args){
new Ex1_0();
new PassWord(f);
}

//堆栈类
class stack
{
Object[] elements;
int size;

public stack(int len) {
elements = new Object[len];
size = 0;
}

public stack() {
this(50);
}
public void push(Object element) {
elements[size] = element;
size++;
}
public Object pop() {
if (!this.isEmpty()) {
Object obj = elements[size - 1];
elements[size - 1] = null;
size--;
return obj;
}
else
{
return null;
}
}
public Object top() {
if (!this.isEmpty()) {
return elements[size - 1];
}
else
{
return null;
}
}
public boolean isEmpty() {
return this.size

1() == 0;
}
public int size1() {
return size;
}

}

//队列类
class queue
{
public Object[] data;
protected int size ;
protected int head;
public int tail;
public queue() {
final int LENGTH = 3;
data=new Object[LENGTH];
size=0;
head=0;
tail=-1;
}
public int size(){
return size;
}
public boolean isEmpty(){
return size==0;
}

public Object front(){
return data[head];
}

public Object behind(){
return data[tail];
}

public void enqueue(Object obj){

if(size==data.length){
Object[] oldData=data;
data=new Object[data.length*2];
System.arraycopy(oldData, head, data, 0, oldData.length-head);
if(head>0)
System.arraycopy(oldData, 0, data, head+1, tail+1);
head=0;
tail=oldData.length-1;
}
tail=(tail+1)%data.length;
size++;
data[tail]=obj;
}

public Object dequeue()
{
if(size==0)
throw new NoSuchElementException();
Object ele=data[head];
head=(head+1)%data.length;
size--;
return ele;
}
}



//排序
class sort
{
//插入排序
public void insersort(int a[]){
if(a!=null){
for(int i=1;iint temp=a[i],j=i;
if(a[j-1]>temp){
while(j>=1&&a[j-1]>temp){
a[j]=a[j-1];
j--;
}
}
a[j]=temp;
}
}else{
System.out.print("NO");
}
PrintSort1(a);
}
public void PrintSort1(int c[]){
for(int k=0;kF9.append(String.valueOf(c[k])+" ");
}
}

//冒泡排序
public void bubbleSort(int b[]){
for(int i=0;ifor(int j=0;jint temp=0;
if(b[j]>b[j+1]){
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
PrintSort2(b);
}
public void PrintSort2(int c[]){
for(int k=0;kF10.append(String.valueOf(c[k])+" ");
}
}

//选择排序
public void selectSort(int[] a)
{
{
if (a == null || a.length <= 0) {
return;
}
for (int i = 0; i < a.length; i++) {
int min = i;
for (int j = i + 1; j < a.length; j++) {
if (a[min] > a[j]) {
min = j;
}
}
if (i != min) {
int tmp = a[min];
a[min] = a[i];
a[i] = tmp;
}
}
PrintSort3(a);
}
}
public void PrintSort3(int c[]){
for(i

nt k=0;kF11.append(String.valueOf(c[k])+" ");
}
}
}

//正弦图类
class SinPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Dimension panelSize = p6.getSize();
Location center = new Location(panelSize.width / 2, panelSize.height / 2);
int radius = (int)((Math.min(panelSize.width, panelSize.height) / 2) * 0.8);
// 确定每个点的坐标
int[] x = new int[2 * radius + 1];
int[] y = new int[2 * radius + 1];

String s = F12.getText();
int temp = Integer.parseInt(s);
if(temp <=10&&temp>=0)
{
for (int i = 0; i < 2 * radius + 1; i++)
{
x[i] = center.x - radius + i;
double y1 = Math.sin(((double) (-radius + i) / radius) * 4 * Math.PI*temp);//sin()里面必须为double值
int y2 = (int) (y1 * 100);
y[i] = center.y - y2;
}
}
else
{
JOptionPane.showMessageDialog(null, "请输入0~10的自然数!", "Warning",https://www.360docs.net/doc/0310303771.html,RMATION_MESSAGE);
}
g.setColor(Color.black);// 画坐标轴
g.drawLine(center.x - radius, center.y, center.x + radius, center.y);
g.drawLine(center.x, center.y - radius, center.x, center.y + radius);
g.drawLine(center.x + radius, center.y, center.x + radius - 10, center.y - 7);
g.drawLine(center.x + radius, center.y, center.x + radius - 10, center.y + 7);
g.drawLine(center.x, center.y - radius, center.x - 7, center.y - radius + 10);
g.drawLine(center.x, center.y - radius, center.x + 7, center.y - radius + 10);
g.setColor(Color.blue);
g.drawPolyline( x, y, 2 * radius + 1);
g.setColor(Color.red);
g.setFont(new Font("ScanSerif", Font.BOLD, 12));
g.drawString("X", center.x + radius, center.y - 10);
g.drawString("Y", center.x + 10, center.y - radius);
}
}
class Location
{
public int x;
public int y;
public Location(int x, int y)
{
this.x = x;
this.y = y;
}
}


//画图类
class shape
{
public void paint(Graphics g)
{

String s4 = F13.getText();
double t1 = Double.parseDouble(s4);
if(t1%2 == 0)
{
double t2 = t1/2;
String s5 = String.valueOf(t2);
F14.setText(s5);
double t3 = ((t1*t1)/(3.14*t2*t2));
DecimalFormat df = new DecimalFormat("0.00000");
String s6 = df.format(t3);
F15.setText(s6);
g.setColor(Color.blue);
g.drawRect(70, 180, (int)t1*10, (int)t1*10);
g.fillOval(70, 180, (int)t2*20, (int)t2*20);
}
else
{
F14.setText(" ");
F15.setText(" ");
JOptionPane.showMessageDialog(null, "请输入偶数!", "Warning",https://www.360docs.net/doc/0310303771.html,RMATION_MESSAGE);
}
}
}



}
class PassWord implements ActionListener
{
JTextField user;
JPas

swordField passWd;
JButton b1,b2;
Container dialogPane;
JDialog d;
JFrame f;

public PassWord(JFrame f)
{
d=new JDialog();
d.setTitle("请输入用户名和密码");
dialogPane=d.getContentPane();
dialogPane.setLayout(new GridLayout(3,2));
dialogPane.add(new JLabel("用户名",SwingConstants.CENTER));
user=new JTextField();
dialogPane.add(user);
dialogPane.add(new JLabel("密码",SwingConstants.CENTER));
passWd=new JPasswordField();
dialogPane.add(passWd);
b1=new JButton("确定");
b2=new JButton("退出");
dialogPane.add(b1);
dialogPane.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
d.setBounds(200,150,400,130);
d.getRootPane().setDefaultButton(b1);
d.setVisible(true);
this.f=f;
}

public void actionPerformed(ActionEvent e)
{
String cmd=e.getActionCommand();
if(cmd.equals("确定"));
{
String name=user.getText();
String passWord=passWd.getText();
if((name.equals("lijiaxuan"))&&(passWord.equals("19930604")))
{
d.dispose();
f.setVisible(true);
return;
}
else
{
JOptionPane.showMessageDialog(d,"错误的用户名或密码","请重新输入",JOptionPane.WARNING_MESSAGE);
user.setText("");
passWd.setText("");
}
}
if(cmd.equals("退出")) System.exit(0);
}
}

相关文档
最新文档