Difference Between Extending JFrame And Just Creating One In The Class?
Oct 18, 2014
What is the difference between extending JFrame in one class and simply constructing a new JFrame object in that same class? What benefits do I have with each solution, providing I want to use that class to create the GUI. Is it the same or are there differences rather than not having to reference to a new JFrame to be able to use its functions?
I've been trying to pull data from another class file "Calculations.java" and have it be displayed in a TextField in "DataAnalyzerGUI.java". Here is how the hierarchy is broken down for my assignment:
I am working on a project involving a class that has the attributes of one of its inner classes. Now, if possible, I would like to make it so that the inner class is not visible outside of the class. Also, some of the functional mechanics require that the class be an instance of the nested inner class (it extends the inner class). The following code snippet demonstrates the situation.
public class A extends A.B { public static class B { //ideally I would like this to be private/protected. } }
When I try to compile this program, I get the error message "Cyclical inheritance involving A." This error does not make much sense because, since the inner class "B" is static, it requires no instance of "A" (it does not inherit from "A" or uses it). My question is "Is it possible to do something similar to this structure?" I have searched many forums in search of the answer but have not found anything that attempts to explain it. The closest problem that I have found is one relating to the inheritance of a nested inner class from another class. I would like to express that the problem that I am having involves a class defined within the inheriting class.
I am writing a program that should take a url and scan the page for any links. It is in the beginning stages, but I ran into an error when I tried to extend a class. There's a lot going on in this code, but the error is caused by the constructor.
Error message at compile time:
"constructor Page in class Page cannot be applied to given types; {//Constructor ^ required: String found: no arguments reason: actual and formal argument lists differ in length".
Here's the code(first my class, then the class I extended)
public class SearchEngine extends Page { public static Color customGreen = new Color(69, 194, 33); public static Color customYellow = new Color(232, 166, 12); public static Color customBlue = new Color(25,97,255); public static Color customYellowComp = new Color(178,125,0);
I have finished a Java 101 class but the most we did was create a gui for a timer program. I figure I need more training and every book I pick up wants to teach me hello world and the difference between a class and object again.
Design a class named Person and its two subclasses named Student and Employee. Make Faculty and Staff subclasses of Employee. There is also a MyDate class as explained below. A person has a name, address, phone number, and email address. A student has a status (freshman, sophomore, junior, or senior). Define the status as an integer which can have the value 0 (for "Freshman"),
1 (for "Sophomore"), 2 (for "Junior"), and 3 (for "Senior"),
but don't allow the status to be set to any other values. An employee has an office, salary, and dateHired. The dateHired is a MyDate field, which contains the fields: year, month, and day. The MyDate class does not explicitly inherit from any class, and it should have a no-arg constructor that sets the year, month, and day to the current year, month, and day. The MyDate class should also have a three-argument constructor that gets three int arguments for the year, month and day to set the year, month and day.
A faculty member has office hours and a rank. Define the rank as a String (for values like "Professor" or "Instructor"). A staff member has a title, which is also a String. Use data types for the fields as specified, or where one is not specified, use a data type that is appropriate for the particular field. Write a test program called TestEveryone.java that creates a Person, Student, Employee, Faculty, and Staff object, and invoke their toString() method (you don't need to call the objects' toString() method explicitly).
Note: Your MyDate.java class is the object class that your dateHired field is created from in the Employee.java class.
Do not use the Person, Employee or Faculty classes defined on pages 383 and 384 of the book. Create new ones.Here is the code I have so far concerning the employee and MyDate.
public class Employee extends Person { private String office; private double salary; //private MyDate dateHired; //7 argument constructor for employee public Employee(String name, String phoneNumber, String email, String address, String office, double salary /*MyDate dateHired*/) { super(name, phoneNumber, email, address);
I've a parent class with a argument constructor like below(a sample code)
public class Parent { Parent(String name) { System.out.println(name); } public static void main(String[] args) { } }
Also I've child.class which extends Parent.class as shown below,
public class child extends Parent { child(String name) { super(name); } }
Now, I want create/modify the constructor which is in child, by taking "int i" as an input instead of "String name". How can I do that? Run time I want to execute child constructor not a parent constructor.
Condition is: Without making any changes to the Parent class
In the process of creating a new class, I need to move my main method from the class SaveDate to the class DynamicTest. Below I have listed the code of both classes.The objective is to be able to run my program from the DynamicTest Class. I need understanding the process of moving my main method to a different class and creating an Object of a class and calling its method.
public class SaveData { private static final Map<String, Object> myCachedTreeMap = new TreeMap<String, Object>(); public static final List<String> getLines(final String resourceParam, final Charset charset) throws IOException{ System.out.println("Please get: "+resourceParam); if (myCachedTreeMap.containsKey(resourceParam) ) { // Use the cached file, to prevent an additional read.
I have an Abstract Class called GameColorEffect which contains a number of non-static Inner Classes that extend their Parent Class, GameColorEffect. I want to be able to create instances of the Inner Classes, however my IDE, eclipse, prompts me with the error:
No enclosing instance of type GameColorEffect is accessible. Must qualify the allocation with an enclosing instance of type GameColorEffect
And eclipse shows me a possible solution which is to turn the Inner Classes to static, this would allow me to create instances, but not really. This is because using methods from the static Inner Classes that change values in the Inner Classes will do this for every instance of the same Inner Class which is literally like a single instance. However, I want these Inner Classes to be individual with their values and still be able to use them outside as instances. I've found out a possible solution, which I'm not sure works like I want it to:
Java Code : GameColorEffect = new GameColorEffect.ExampleEffect(); mh_sh_highlight_all('java');
However, this is in-compact because sometimes all I need is to use just a method like:
Java Code : new GameColorEffect.ExampleEffect(intensity).applyEffect() mh_sh_highlight_all('java');
And another solution that I already knew prior was that I could make the Inner Classes proper classes not inside of the GameColorEffect class, but this is also in-compact because I will have to have so many classes for the so many effects that I have.
I would like to pass a variable I have in my main to my JFrame. In my main I calculate which pictures I should show in my JFrame. Is it possible to make objects of these pictures in my main class and use them in my JFrame? something like my code below.
public class JFrameTesting { public static void main(String[] args) { Image ImageVariable = Toolkit.getDefaultToolkit().getImage("C:1.jpg"); MyJFrame f = new MyJFrame(); f.setTitle("Drawing Graphics in Frames");
I have one question that suppose I am designing a Swing applications and I am using JFrame as Top level container.
So what is best
1)first Extends that class like
public class A Extends JFrame { //Do all stuff with Top Level container with gui }
2)Or design like this from this source
[URL] ....
package components; import java.awt.*; import java.awt.event.*; import javax.swing.*; /* TopLevelDemo.java requires no other files. */ public class TopLevelDemo { /** * Create the GUI and show it. For thread safety, this method should be invoked from the event-dispatching thread. */ private static void createAndShowGUI() { //Create and set up the window.
import javax.swing.JFrame; public class groupingTest { public static void main (String[] args) { groupWindow test = new groupWindow();
[Code]....
At the start of the groupWindow it turns yellow and it says "The serializable class groupWindow does not declare a static final serialVersionUID field of type long".
Right so I have my ItemsPage Jframe Class and I'm trying to pass my TotalPrice variable to my CashPay so I can calculate the change. CashPrice runs and works but when I try run ItemsPage it does nothing I don't even get errors. I tried to remove that small section of trying to pass the variable to CashPay and it worked perfectly so I 100% know that's the problem. This section "public ItemsPage() { Pounds = ""; //super();
Scanner sc = new Scanner(System.in); CashPay sendTotalPrice = new CashPay(); //System.out.println("Enter your amount"); TotalPrice = sc.nextDouble(); sendTotalPrice.printTotalPrice(TotalPrice); " Here is complete code for both classes, I'm using GUI builder.
I am making a simple battleship program, you have the menu and click Start to get the board with the bombs (4 buttons as of now) Each button has either a bomb or a defualtbutton. I created my button so it can't be unselected. The problem is I have the button in a Class.java and I want that to close in a period of time. What do you recommend using?
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package battleship; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.GridBagLayout;
[code]....
I can call the clas in my main jFrame but I want to close the class after a certain time.
I am working with a program where I am required to use a JFrame in a child class. The only way that I know how to access a JFrame is to do, example (public class Example extends JFrame), but since it is already extending the parent class, I am kind of stuck. I do not think that you can extend two separate classes, so..... I am stuck.
I'm working on a program using GUI. My problem is that I'm reaching **1000 Line** and this is stressful because all my code are in one file. I'm not liking this. So I research the internet about Inheritance. However, what I know about Inheritance that Inherit everything in the parent class. However, when I try to use a variables in the child class to override it in the parent class I can't for example let say that I have in the parent class something like this:
JButton getButton = new JButton("Enter");
Now when I go to the child class. I want to Inherit and use this variable so I can use the ActionListener on the getButton and override for the parent class, but it's not working.
This is my code:
public class H_Store extends JFrame { private String s ="Kinds: "; private JButton calculateButton; private JPanel mainPane; private JPanel getProfitPanel; private JTextField ground_M_QTextField;
[Code] ....
What I want to do exactly is to take the last code into another class or do something with it so I can use it in the Parent class, in other word any math calculation method or class I want them outside the Parent class. I mean this code :
private class CalcButtonListener implements ActionListener{ // vairbles for the ground Meat check box private double total_GM; private double weightPrice_1; private String stringQ; private String stringW; private String stringP;
So I'm still trying to get to grips with Java, and like to understand exactly why I'm doing something, so that I am not just regurgitating the code, If I want to create an object from class "Apples", I would use the following, right?
Apples MyAppleObject = new Apples();
From what I understand, MyAppleObject is the new object name, new -> creates a new instance of it in memory, and Apples() is the onCreate method that is called
So question 1: (just a quick aside question) Can I create an object without calling Apples()? i.e.
Apples MyAppleObject = new;
Question 2: - PARTLY SOLVED - I discovered that (Button) is a way of typecasting, so I understand that line a little better. What I don't understand is why we don't need to initialize the object with "new"
I've now looked at a bit of android development and xml and those declarations are all together different, and I'm not sure why. I haven't found a single explanation for the difference in format.
Java Code:
Button Add; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Add = (Button) findViewById(R.id.button1); mh_sh_highlight_all('java'); So the Button object is declared above the onCreate method, but initialized afterwards I guess....
But instead of using Button Add = new Button() they use Add = (Button) findViewById(R.id.button1);
Question 3:
then In XML they use the following:
Java Code:
public*static*void*main(String[] args){ ********* ********// Creates a DOM object in memory. Now you can access ********// data in the xml file ********* ********Document xmlDoc = getDocument("./src/tvshows5.xml"); mh_sh_highlight_all('java');
Once again, why didn't they have to use : Document xmlDoc = new Document()
I have a swing jFrame set up with a control group which contains 3 radio buttons.
When one is clicked it sends its label to a jtextfield in a different class i have code parsing text by a term
Java Code:
Scanner s = null; try { s = new Scanner(new BufferedReader(new FileReader("/Stage_One.txt"))); s.useDelimiter("*"); String total = (s.next()); Pattern p = Pattern.compile("[]+");
[Code] ....
I just need to know how to access the jframe variables (textfields, panels and such) so i can use their inputs in code to filter a text file.