Hey guys! I've been creating this program that takes in an input from the user, and if the user is done inputting the required information, the user clicks on the "Ok" button and it opens another form which displays the info that the user inputted from the first form. My questions is how do I do this? I've been searching google, but the codes just confuse me.
laguardian 0 Light Poster
Majestics 84 Posting Pro
http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html
you dont need form , you need dialogue boxes.
sirlink99 56 Practically a Master Poster
or you could make a new JFrame that displays the information the user entered and then after they click the "confirm" or the "OK" button then use the dispose (); method to get rid of the frame
confirmationFrame.dispose ();
Edited by sirlink99 because: n/a
laguardian 0 Light Poster
I created a "finished" button. So, when I click "finished" it would open another form called "OutputSched".
Here's what I did:
private void FinishedActionPerformed(java.awt.event.ActionEvent evt) {
OutputSched;
OutputSched = new OutputSched();
setVisible(false);
}
But this doesn't work. What should I do?
JamesCherrill 4,733 Most Valuable Poster Team Colleague Featured Poster
OutputSched;
OutputSched = new OutputSched();
The first line is just a class name on its own, the second tries to assign a new instance to an existing class name. Neither of these lines is valid Java. If you just want to create a new OutputSched then a simple new OutputSched();
is enough.
I presume you have worked out a way to get the new data into that form?
laguardian 0 Light Poster
Thanks! But I tried out the code and it still doesn't work.
I tried the one you said:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new OutputSched();
}
There's was an error on NetBeans so I changed it to:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
OutputSched outputSched = new OutputSched();
}
JamesCherrill 4,733 Most Valuable Poster Team Colleague Featured Poster
Unless you are willing to say exactly what the error was, and where, there's nothing more I can do. The change you describe is unlikely to make any difference at all - all it does is to create a reference (which you never use) to the new object, then immediately discard it when the method ends 1 line later.
laguardian 0 Light Poster
Not really an error, but it says:
"New instance ignored"
"Assign Return Value To New Variable"
JamesCherrill 4,733 Most Valuable Poster Team Colleague Featured Poster
OK, that's just NetBeans doing its thing. If that was a non-GUI class then your code would be suspect, but since its a GUI you don't need to assign it (Swing will keep its own reference to a form that it is displaying).
Anyway, writing "it still doesn't work" is about as useful as taking your car to the garage and saying "there's something wrong with it" - in fact less useful because the garage have access to your car, but I don't have access to your code. Please post a complete and detailed description for any problem you want help with.
laguardian 0 Light Poster
Ok. So when I click the "Finished" button on the Input form, it brings up the OutputSched form:
public class Input extends javax.swing.JFrame {
/** Creates new form Input */
public Input() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
buttonGroup2 = new javax.swing.ButtonGroup();
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jCheckBox1 = new javax.swing.JCheckBox();
jCheckBox2 = new javax.swing.JCheckBox();
jCheckBox3 = new javax.swing.JCheckBox();
jCheckBox4 = new javax.swing.JCheckBox();
jCheckBox5 = new javax.swing.JCheckBox();
jCheckBox6 = new javax.swing.JCheckBox();
jButton1 = new javax.swing.JButton();
jCheckBox7 = new javax.swing.JCheckBox();
jCheckBox8 = new javax.swing.JCheckBox();
jCheckBox9 = new javax.swing.JCheckBox();
jCheckBox10 = new javax.swing.JCheckBox();
jLabel4 = new javax.swing.JLabel();
jCheckBox11 = new javax.swing.JCheckBox();
jLabel5 = new javax.swing.JLabel();
jTextField4 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jTextField5 = new javax.swing.JTextField();
jCheckBox12 = new javax.swing.JCheckBox();
jTextField6 = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Username: ");
jLabel2.setText("ETP: ");
jTextField2.setText("jTextField2");
jLabel3.setText("LTP:");
jTextField3.setText("jTextField3");
jCheckBox1.setText("Monday");
jCheckBox2.setText("Tuesday");
jCheckBox3.setText("Thursday");
jCheckBox4.setText("Friday");
jCheckBox5.setText("Wednesday");
jCheckBox6.setText("Saturday");
jButton1.setText("Finished");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jCheckBox7.setText("Wednesday");
jCheckBox8.setText("Saturday");
jCheckBox9.setText("Thursday");
jCheckBox10.setText("Friday");
jLabel4.setText("Username: ");
jCheckBox11.setText("Tuesday");
jLabel5.setText("LTP:");
jTextField4.setText("jTextField2");
jLabel6.setText("ETP: ");
jCheckBox12.setText("Monday");
jTextField6.setText("jTextField3");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox6)
.addComponent(jCheckBox4)
.addComponent(jCheckBox3)
.addComponent(jCheckBox1)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel3)
.addGap(10, 10, 10)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jCheckBox2)
.addComponent(jCheckBox5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 295, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox8)
.addComponent(jCheckBox10)
.addComponent(jCheckBox9)
.addComponent(jCheckBox12)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel5)
.addGap(10, 10, 10)
.addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jCheckBox11)
.addComponent(jCheckBox7)))
.addGroup(layout.createSequentialGroup()
.addGap(290, 290, 290)
.addComponent(jButton1)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jLabel5)
.addComponent(jTextField4)
.addComponent(jTextField6))
.addGap(18, 18, 18)
.addComponent(jCheckBox12)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox11)
.addGap(0, 0, 0)
.addComponent(jCheckBox7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox8)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jTextField2)
.addComponent(jTextField3))
.addGap(18, 18, 18)
.addComponent(jCheckBox1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox2)
.addGap(0, 0, 0)
.addComponent(jCheckBox5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jCheckBox6)
.addGap(39, 39, 39)
.addComponent(jButton1)
.addGap(72, 72, 72))))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new Input().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton jButton1;
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JCheckBox jCheckBox10;
private javax.swing.JCheckBox jCheckBox11;
private javax.swing.JCheckBox jCheckBox12;
private javax.swing.JCheckBox jCheckBox2;
private javax.swing.JCheckBox jCheckBox3;
private javax.swing.JCheckBox jCheckBox4;
private javax.swing.JCheckBox jCheckBox5;
private javax.swing.JCheckBox jCheckBox6;
private javax.swing.JCheckBox jCheckBox7;
private javax.swing.JCheckBox jCheckBox8;
private javax.swing.JCheckBox jCheckBox9;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField jTextField6;
// End of variables declaration
}
Here's the OutputSched form:
public class OutputSched extends javax.swing.JInternalFrame {
/** Creates new form OutputSched */
public OutputSched() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1.setText("Date");
jLabel2.setText("Time");
jLabel3.setText("Duration");
jButton1.setText("Edit");
jButton2.setText("Reset");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(124, 124, 124)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jButton1)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(180, 180, 180)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jButton2)
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 166, Short.MAX_VALUE)
.addComponent(jLabel3)
.addGap(102, 102, 102))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 245, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addGap(32, 32, 32))
);
pack();
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
// End of variables declaration
}
Sorry if I sound like a noob. I'm new to all this and I'm trying my best to learn it on my own. Thanks in advance
JamesCherrill 4,733 Most Valuable Poster Team Colleague Featured Poster
I can see two reasons why you don't see the new form:
1. There's no code in the jButton1ActionPerformed method. That's where you should have the new OutputSched();
2. The generated code to init your OutputSched instances creates everything but it doesn't make it visible (most GUI code generators are the same). As well as creating a new instance, you also need to make it visible, like on line 220
ps: Don't worry about being a noob. Most people here are. We all (except possibly ~s.o.s~) are still learning.
saideepak89 0 Newbie Poster
boss i am not pritty sure of ur requirment ,if this may give u the solution just take it on, u just store the data in one String and when u press the button the ActionLisners will call the ActionPerform Event ,in that a method with a String parameter of some class say A which is another Form , usplit the String and u display in that form,r a method that return the object of the data u need , try it if not this a solution ignore it
class OutputSched {
//example
public void display(String data){
// u call the initComponents here r
this r ur method will create a form and displays the string
JFrame =new Jframe();
data= StringSplitter(data);
....
....
setVisible(true);
}
}
in the A
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { OutputSched outputSched = new OutputSched(); }private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
OutputSched outputSched = new OutputSched();
OutputSched.display("userdata");
// this will call the method and display ur form
}
Edited by Ezzaral because: Added code tags. Please use them to format any code that you post.
laguardian 0 Light Poster
@saideepak89 I tried the code but I got this error:
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not yet implemented
at OutputSched.display(OutputSched.java:18)
at Input.jButton1ActionPerformed(Input.java:224)
at Input.access$000(Input.java:15)..
The error is actually longer, but I only copied the top lines. So what does this mean exactly? How do I correct this error?
JamesCherrill 4,733 Most Valuable Poster Team Colleague Featured Poster
It says that the display method in OutputSched (at line 18) throws a "not yet implementd" exception. Look at that code to see why.
Most probably that's a method that you still have to write.
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.