I am doing an assignment which it consists of an Applet, where the user has to insert several values and the program has to draw a quadratic graph.
In my applet I want to display the graph in the border layout center and one control panel to the east side and another control panel to the south side.
For now both the control panels are the same, until I manage to make my applet display them I am not willing to waste time changing them.
I am having a problem to display these two JPanels since on the applet all I can see is empty space (where the panels should be displayed), the area of the graph is ok since it is showing in the applet.
I have 4 files which are:
GraphApplet.jav a
Graph.java
ControlsA.java
ControlsB.java
Now the contents of the code are as below:
GraphApplet.jav a
Graph.java
ControlsA.java
ControlsB.java
These codes all compile and as mentioned above the applet runs successfully, but without displaying the "ControlsA.java " and "ControlsB.java "
Attached please find the applet result:-

Can any one please help....
Thanks a lot for your time
In my applet I want to display the graph in the border layout center and one control panel to the east side and another control panel to the south side.
For now both the control panels are the same, until I manage to make my applet display them I am not willing to waste time changing them.
I am having a problem to display these two JPanels since on the applet all I can see is empty space (where the panels should be displayed), the area of the graph is ok since it is showing in the applet.
I have 4 files which are:
GraphApplet.jav a
Graph.java
ControlsA.java
ControlsB.java
Now the contents of the code are as below:
GraphApplet.jav a
Code:
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import javax.swing.*; public class GraphApplet extends JApplet{ public GraphApplet(){ Container conn = getContentPane(); conn.setLayout(new BorderLayout()); Graph p = new Graph();//graph p.setPreferredSize(new Dimension(460,560)); conn.add(p,BorderLayout.CENTER); Box a = new Box(BoxLayout.Y_AXIS);//vertical a.setPreferredSize(new Dimension(50,50)); conn.add(a,BorderLayout.EAST); Box b = new Box(BoxLayout.X_AXIS);//vertical b.setPreferredSize(new Dimension(201,50)); conn.add(b,BorderLayout.SOUTH); } }
Code:
import java.awt.Dimension; import java.awt.Graphics; import java.awt.*; import java.awt.geom.*; import javax.swing.JPanel; public class Graph extends JPanel { public Graph(){ this.setBackground(Color.yellow); } public void paintComponent(Graphics p) { super.paintComponent(p); Graphics2D graph = (Graphics2D)p; Dimension appletSize = this.getSize(); int appletHeight = (int)(appletSize.height); int appletWidth = appletSize.width; this.setBackground(Color.yellow);//set background color. int x,y,y1,x1,a,b,p1x,p1y,p2x,p2y; //line co-ordinates //the numbers represent the number of boxes on the graph int xstart = 7; int ystart = 1; int xfinish = 3; int yfinish = 9; //other variables int i = 0; int i2 = 0; int m = 0; int n = 0; int m2 = 0; int n2 = 0; int f2 = 0; int g2 = 1; //ranges int f = 5; int g = -5; //change -ve num to +ve int g3 = Math.abs(g); int a1 = g3 + f; int b1 = a1; y1 = (appletHeight); x1 = (appletWidth); y = (appletHeight / 2); x = (appletWidth / 2); a = (appletWidth / a1); b = (appletHeight / b1); int d = (appletWidth / a1); int e = (appletHeight / 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 p1x = xbox * xstart;//start x p1y = ybox * ystart;//start y //lowwer point of the line on the graph p2x = xbox * xfinish;//finish x p2y = ybox * yfinish;//finish y //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.setColor(Color.lightGray);//lightgray line p.drawLine(a,0,a,y1);//vertical lightgray p.drawLine(0,b,x1,b);//horizontal lightgray 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; } //draws the border of the graph p.setColor(Color.black); Rectangle2D.Float rect = new Rectangle2D.Float(0,0,x1,y1); BasicStroke aLine = new BasicStroke(2.5F, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); graph.setStroke(aLine); graph.draw(rect); //draw cross BasicStroke aLine3 = new BasicStroke(2.5F, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); graph.setStroke(aLine3); p.drawLine(x,0,x,y1); //vertical line p.drawLine(0,y,x1,y); //horizontal line //display the value of graph width and graph height String aw = String.valueOf(x1); p.drawString("Graph Width = ", 50,90); p.drawString(aw,150,90); p.drawString("Graph Height = ", 50,110); String ah = String.valueOf(y1); p.drawString(ah,156,110); //draw line on graph BasicStroke aLine4 = new BasicStroke(1.5F, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); graph.setStroke(aLine4); p.setColor(Color.red); if(p1x <= x1 && p2x <= x1 && p1y <= y1 && p2y <= y1){ p.drawLine(p1x,p1y,p2x,p2y); Color c = new Color(0,0,0); p.setColor(c); p.drawString("X", p1x-4,p1y+4); p.drawString("X", p2x-4,p2y+4); } else{ p.setColor(Color.black); p.drawRect(48,34,223,35); p.setColor(Color.white); p.fillRect(49,35,222,34); p.setColor(Color.red); p.drawString("Wrong co-ordinates!!!", 50,50); p.drawString("Values exceede applet dimensions.", 50,65); } } } // 6 variables the user has to input // A,B,C,D - CO-EFFICIENTS // RANGE (EX: -5 - 5)
Code:
import javax.swing.*; import java.awt.*; import javax.swing.JPanel; public class ControlsA extends JPanel{ public void init (Box a) { a = Box.createVerticalBox(); a.add(new JLabel("Please enter the values below:")); a.add(new JLabel("a")); JTextField g1 = new JTextField("0.0"); g1.setMaximumSize(new Dimension(100,30)); a.add(g1); a.add(new JLabel("b")); JTextField g2 = new JTextField("0.0"); g2.setMaximumSize(new Dimension(100,30)); a.add(g2); a.add(new JLabel("c")); JTextField g3 = new JTextField("0.0"); g3.setMaximumSize(new Dimension(100,30)); a.add(g3); a.add(new JLabel("d")); JTextField g4 = new JTextField("0.0"); g4.setMaximumSize(new Dimension(100,30)); a.add(g4); a.add(new JButton("Plot")); a.add(new JButton("Refine")); } }
Code:
import javax.swing.*; import java.awt.Component; import java.awt.Dimension; public class ControlsB extends JPanel{ public void init (Box b) { b = Box.createHorizontalBox(); b.add(new JLabel("a")); JTextField f1 = new JTextField("0.0"); f1.setMaximumSize(new Dimension(100,30)); b.add(f1); b.add(new JLabel("b")); JTextField f2 = new JTextField("0.0"); f2.setMaximumSize(new Dimension(100,30)); b.add(f2); b.add(new JLabel("c")); JTextField f3 = new JTextField("0.0"); f3.setMaximumSize(new Dimension(100,30)); b.add(f3); b.add(new JLabel("d")); JTextField f4 = new JTextField("0.0"); f4.setMaximumSize(new Dimension(100,30)); b.add(f4); b.add(new JButton("Plot")); b.add(new JButton("Refine")); } }
These codes all compile and as mentioned above the applet runs successfully, but without displaying the "ControlsA.java " and "ControlsB.java "
Attached please find the applet result:-
Can any one please help....
Thanks a lot for your time