FNAKLNFDKA.java
import java.awt.*;
import javax.swing.*;
public class GraphApplet extends JApplet{
private static final long serialVersionUID = 1L;
public static Graphics p;
public void init(){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
});
}
}
FANKJ.java
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
class FASKHF extends JPanel {
public static Graphics p;
private static final long serialVersionUID = 1L;
public Graph(){
this.setBackground(Color.yellow);
}
@Override
public Dimension getPreferredSize()
{
return (new Dimension(560,560));
}
public static void updateGraph() {
repaint();
}
public void paint(Graphics F) {
//line co-ordinates
//the numbers represent the number of boxes on the graph
//1st line on the l/h side
int xstart1 = 2;
int ystart1 = 3;
int xfinish1 = 1;
int yfinish1 = 9;
//2nd line on the r/h side
int xstart2 = 8;
int ystart2 = 3;
int xfinish2 = 9;
int yfinish2 = 9;
//drawing upper arc
int arcX = 2;
int arcY = 1;
int imagRectWid = 6;
int imagRectHei = 4;
int startAngle = 0;
int arcAngle = 180;
//other
f = xaxis22;
g = xaxis11;
//to be assigned later.
//the values of xaxis and yaxis need to be separated
//yaxis3 = 5;
//yaxis4 = -5;
//change -ve num to +ve
int g3 = Math.abs(g);
int a1 = g3 + f;
int b1 = a1;
int d = (appletWidth / a1);
int e = (Height / b1);
/**
to determine the
ammount of pixles there
is in each box of the
graph, both y-axis and
x-axis
*/
int xbox = x1 / 10;
int ybox = y1 / 10;
//line variables
//the xstart, ystart, etc represent the number of boxes
//top point of the line on the graph
px1 = xbox * xstart1;//start x
py1 = ybox * ystart1;//start y
//lowwer point of the line on the graph
px = xbox * xfinish1;//finish x
py = ybox * yfinish1;//finish y
//other line on the right hand side
p2x = xbox * xstart2;
p2y = ybox * ystart2;
p2x2 = xbox * xfinish2;
p2y2 = ybox * yfinish2;
//drawing arc
int arcBoxX = arcX * xbox;
int arcBoxY = arcY * ybox;
int arcBoxWidth = imagRectWid * xbox;
int arcBoxHeight = imagRectHei * ybox;
//draw y-axis numbers
//(+ve)
while(f != 0){
String s = String.valueOf(f);
p.drawString(s,(x + 5),m + 13);
m = m + b;
f = f - 1;
}
//(-ve)
m2 = y;
while(f2 != g-1){
String u = String.valueOf(f2);
p.drawString(u,(x + 5),m2 - 3);
m2 = m2 + b;
f2 = f2 - 1;
}
//draw x-axis numbers.
//(-ve)
while(g != 0){
String t = String.valueOf(g);
p.drawString(t,n,y - 5);
n = n + a;
g = g + 1;
}
//(+ve)
n2 = x + a;
while(g2 != g3+1){
String vw = String.valueOf(g2);
p.drawString(vw,n2 -10,y - 5);
n2 = n2 + a;
g2 = g2 + 1;
}
BasicStroke aLine2 = new BasicStroke(1.0F,
BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND);
graph.setStroke(aLine2);
//notch on numbers and grid lines
//left to right, top to bottom notches
int v2 = -5;
int v5 = 0;
while(i <= a1-1){
p.drawLine(Da,0,Ea,y1);
a = a + d;
b = b + e;
i = i + 1;
}
//notches
while(i2 <= a1){
p.setColor(Color.blue);//notch color
p.drawString("x",v2+2,y+3);//xaxis
p.drawString("x",x-4,v5+4);//yaxis
v5 = v5 + e;
v2 = v2 + d;
i2 = i2 + 1;
}
}
}
}
import java.awt.*;
import javax.swing.*;
}
}
/*
* this code is to accept a user input in order for him to
* change the ranges of the xaxis and yaxis to his needs
*/
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ControlsB extends JPanel{
private static final long serialVersionUID = 1L;
public static int xaxis1,xaxis2,yaxis3,yaxis4;
//public int xaxis11,xaxis22,yaxis33,yaxis44;
//public Object ControlsB;
//private Graph graph;
//public static Graphics p;
public String s;
public ControlsB(Box box2) {
JButton btn1 = new JButton("Resize");
final Box b = Box.createHorizontalBox();
b.add(new JLabel("Please enter range: "));
Box b0 = Box.createVerticalBox();//create a vertical box to stack the controls
Box b1 = Box.createHorizontalBox(); // create a horizontal box for the x-axis
//x-axis
b1.add(new JLabel("x-axis "));
b1.add(new JLabel("from"));
final JTextField f1 = new JTextField(" 0");
f1.setMaximumSize(new Dimension(100,30));
b.add(btn1);
}
protected Object Integer(int xaxis12) {
return null;
}
}
现在这个程序的问题是;在ControlsB我有一个方法将控件放在底部(在黄色框/图形下),现在这些控件应该接受 x 轴线上的图形范围(目前仅 x 轴,因为y 轴的代码还没有准备好)。当用户按下“调整大小”按钮时,图表应该会出现变化。
然而,这并没有发生,并且按钮被按下了......我无法弄清楚我有什么问题。
在ControlsB文件中,我有一个btn1的动作侦听器,它是“调整大小”按钮,一旦按下底部,它将文本字段输入(f1 和 f2)更改为整数并分配给 x-axis1,x-axis 2 ,ETC...
现在我从这些变量(在动作侦听器方法中找到)引用到类Graph.java与此行:public static int xaxis11 = ControlsB.xaxis1;
谁能让我知道我遇到的这个问题的最佳解决方案是什么..??..
注意:所有这些文件都会编译。但图表没有出现。