DanFlyBoy
asked on
Unable to get JTable to display in applet
I wrote a applet with Jtable, but when I run, JTable does not apper. I have attached code.
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.Abstract TableModel ;
/*
* Created on Apr 5, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
*
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RSWPLAN extends JApplet {
private javax.swing.JPanel jContentPane = null;
private JFrame jFrame = null; // @jve:decl-index=0:visual-c onstraint= "13,9"
private JTable jTable = null;
private JScrollPane scrollPane = null;
/**
* This is the default constructor
*/
public RSWPLAN() {
super();
init();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setSize(1000,700);
this.setContentPane(getJCo ntentPane( ));
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
public javax.swing.JPanel getJContentPane() {
if(jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(new java.awt.BorderLayout());
}
return jContentPane;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
//private JFrame getJFrame() {
/// if (jFrame == null) {
// jFrame = new JFrame();
// jFrame.setContentPane(new JPanel());
// jFrame.setSize(494, 364);
// jFrame.setTitle("jFrame");
// }
// return jFrame;
//}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
JTable table = new JTable(new MyTableModel());
// table.setPreferredScrollab leViewport Size(new Dimension(1000, 700));
public JTable getJTable() {
if (jTable == null) {
JTable table = new JTable(new MyTableModel());
//jTable = new JTable();
}
return jTable;
// Create the scroll pane and add the table to it.
// private JScrollPane ScrollPane = null;
// JScrollPane scrollPane = new JScrollPane(jTable);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian",
"Vegetarian"
};
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)},
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
{
JScrollPane sp = new JScrollPane(jTable);
getJContentPane().add(sp); }
//private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe elDecorate d(true);
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera tion(JFram e.EXIT_ON_ CLOSE);
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t rue); //content panes must be opaque
// frame.setContentPane(newCo ntentPane) ;
//Display the window.
// frame.pack();
// frame.setVisible(true);
// }
// }
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
//private JScrollPane getJScrollPane() {
// if (jScrollPane == null) {
// jScrollPane = new JScrollPane();
// jScrollPane.setViewportVie w(getJTabl e());
//JScrollPane sp = new JScrollPane(jTable);
//getContentPane().add(sp) ;
// }
// JScrollPane sp = new JScrollPane(jTable);
// getJContentPane().add(sp);
// return jScrollPane;
}
private static void createAndShowGUI() {
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFe elDecorate d(true);
//Create and set up the window.
JFrame frame = new JFrame("TableDemo");
frame.setDefaultCloseOpera tion(JFram e.EXIT_ON_ CLOSE);
//Create and set up the content pane.
TableDemo newContentPane = new TableDemo();
newContentPane.setOpaque(t rue); //content panes must be opaque
frame.setContentPane(newCo ntentPane) ;
//Display the window.
frame.pack();
frame.setVisible(true);
}
}
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.Abstract
/*
* Created on Apr 5, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
*
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RSWPLAN extends JApplet {
private javax.swing.JPanel jContentPane = null;
private JFrame jFrame = null; // @jve:decl-index=0:visual-c
private JTable jTable = null;
private JScrollPane scrollPane = null;
/**
* This is the default constructor
*/
public RSWPLAN() {
super();
init();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setSize(1000,700);
this.setContentPane(getJCo
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
public javax.swing.JPanel getJContentPane() {
if(jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(new
}
return jContentPane;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
//private JFrame getJFrame() {
/// if (jFrame == null) {
// jFrame = new JFrame();
// jFrame.setContentPane(new JPanel());
// jFrame.setSize(494, 364);
// jFrame.setTitle("jFrame");
// }
// return jFrame;
//}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
JTable table = new JTable(new MyTableModel());
// table.setPreferredScrollab
public JTable getJTable() {
if (jTable == null) {
JTable table = new JTable(new MyTableModel());
//jTable = new JTable();
}
return jTable;
// Create the scroll pane and add the table to it.
// private JScrollPane ScrollPane = null;
// JScrollPane scrollPane = new JScrollPane(jTable);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian",
"Vegetarian"
};
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)},
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
{
JScrollPane sp = new JScrollPane(jTable);
getJContentPane().add(sp);
//private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t
// frame.setContentPane(newCo
//Display the window.
// frame.pack();
// frame.setVisible(true);
// }
// }
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
//private JScrollPane getJScrollPane() {
// if (jScrollPane == null) {
// jScrollPane = new JScrollPane();
// jScrollPane.setViewportVie
//JScrollPane sp = new JScrollPane(jTable);
//getContentPane().add(sp)
// }
// JScrollPane sp = new JScrollPane(jTable);
// getJContentPane().add(sp);
// return jScrollPane;
}
private static void createAndShowGUI() {
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFe
//Create and set up the window.
JFrame frame = new JFrame("TableDemo");
frame.setDefaultCloseOpera
//Create and set up the content pane.
TableDemo newContentPane = new TableDemo();
newContentPane.setOpaque(t
frame.setContentPane(newCo
//Display the window.
frame.pack();
frame.setVisible(true);
}
}
getJTable() is wrong
public JTable getJTable() {
if (jTable == null) {
JTable table = new JTable(new MyTableModel()); // <<<<<<< You create a temporary table, but don't initialize jTable
//jTable = new JTable();
}
return jTable;
if (jTable == null) {
JTable table = new JTable(new MyTableModel()); // <<<<<<< You create a temporary table, but don't initialize jTable
//jTable = new JTable();
}
return jTable;
Afterwards you do:
>> JScrollPane sp = new JScrollPane(jTable);
Here jTable is still null
>> JScrollPane sp = new JScrollPane(jTable);
Here jTable is still null
Try:
public JTable getJTable() {
if (jTable == null)
jTable = new JTable(new MyTableModel());
return jTable;
}
combined with
JScrollPane sp = new JScrollPane(getJTable());
public JTable getJTable() {
if (jTable == null)
jTable = new JTable(new MyTableModel());
return jTable;
}
combined with
JScrollPane sp = new JScrollPane(getJTable());
ASKER
Where do I need to initalize at?
Try my previous comment.
That initializes your table the first time
- you need it
- you call getJTable()
That initializes your table the first time
- you need it
- you call getJTable()
ASKER
I tried that piece of code now applet does not run at all.
Can you post the complete code you have at the moment?
>> Can you post the complete code
without the commented stuff that doesn't need to be there (for clearness)
without the commented stuff that doesn't need to be there (for clearness)
ASKER
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.Abstract TableModel ;
/*
* Created on Apr 5, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
*
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RSWPLAN extends JApplet {
private javax.swing.JPanel jContentPane = null;
private JFrame jFrame = null; // @jve:decl-index=0:visual-c onstraint= "13,9"
private JTable jTable = null;
private JScrollPane scrollPane = null;
/**
* This is the default constructor
*/
public RSWPLAN() {
super();
init();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setSize(1000,700);
this.setContentPane(getJCo ntentPane( ));
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
public javax.swing.JPanel getJContentPane() {
if(jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(new java.awt.BorderLayout());
}
return jContentPane;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
//private JFrame getJFrame() {
/// if (jFrame == null) {
// jFrame = new JFrame();
// jFrame.setContentPane(new JPanel());
// jFrame.setSize(494, 364);
// jFrame.setTitle("jFrame");
// }
// return jFrame;
//}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
JTable table = new JTable(new MyTableModel());
// table.setPreferredScrollab leViewport Size(new Dimension(1000, 700));
public JTable getJTable() {
if (jTable == null) {
JTable table = new JTable(new MyTableModel());
JScrollPane sp = new JScrollPane(getJTable());
// //jTable = new JTable();
}
return jTable;
// Create the scroll pane and add the table to it.
// private JScrollPane ScrollPane = null;
// JScrollPane scrollPane = new JScrollPane(jTable);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian",
"Vegetarian"
};
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)},
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
//private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe elDecorate d(true);
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera tion(JFram e.EXIT_ON_ CLOSE);
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t rue); //content panes must be opaque
// frame.setContentPane(newCo ntentPane) ;
//Display the window.
// frame.pack();
// frame.setVisible(true);
// }
// }
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
//private JScrollPane getJScrollPane() {
// if (jScrollPane == null) {
// jScrollPane = new JScrollPane();
// jScrollPane.setViewportVie w(getJTabl e());
//JScrollPane sp = new JScrollPane(jTable);
//getContentPane().add(sp) ;
// }
// JScrollPane sp = new JScrollPane(jTable);
// getJContentPane().add(sp);
// return jScrollPane;
}
// private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe elDecorate d(true);
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera tion(JFram e.EXIT_ON_ CLOSE);
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t rue); //content panes must be opaque
// frame.setContentPane(newCo ntentPane) ;
//Display the window.
// frame.pack();
// frame.setVisible(true);
}
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.table.Abstract
/*
* Created on Apr 5, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
*
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RSWPLAN extends JApplet {
private javax.swing.JPanel jContentPane = null;
private JFrame jFrame = null; // @jve:decl-index=0:visual-c
private JTable jTable = null;
private JScrollPane scrollPane = null;
/**
* This is the default constructor
*/
public RSWPLAN() {
super();
init();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setSize(1000,700);
this.setContentPane(getJCo
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
public javax.swing.JPanel getJContentPane() {
if(jContentPane == null) {
jContentPane = new javax.swing.JPanel();
jContentPane.setLayout(new
}
return jContentPane;
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
//private JFrame getJFrame() {
/// if (jFrame == null) {
// jFrame = new JFrame();
// jFrame.setContentPane(new JPanel());
// jFrame.setSize(494, 364);
// jFrame.setTitle("jFrame");
// }
// return jFrame;
//}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
JTable table = new JTable(new MyTableModel());
// table.setPreferredScrollab
public JTable getJTable() {
if (jTable == null) {
JTable table = new JTable(new MyTableModel());
JScrollPane sp = new JScrollPane(getJTable());
// //jTable = new JTable();
}
return jTable;
// Create the scroll pane and add the table to it.
// private JScrollPane ScrollPane = null;
// JScrollPane scrollPane = new JScrollPane(jTable);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian",
"Vegetarian"
};
private Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)},
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false), new Integer(6)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true), new Integer(6)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false), new Integer(6)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(5), new Boolean(true), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(5), new Boolean(false), new Integer(6)},
{"Philip", "Milne",
"Pool", new Integer(2), new Boolean(true), new Integer(6)}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
//private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t
// frame.setContentPane(newCo
//Display the window.
// frame.pack();
// frame.setVisible(true);
// }
// }
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
//private JScrollPane getJScrollPane() {
// if (jScrollPane == null) {
// jScrollPane = new JScrollPane();
// jScrollPane.setViewportVie
//JScrollPane sp = new JScrollPane(jTable);
//getContentPane().add(sp)
// }
// JScrollPane sp = new JScrollPane(jTable);
// getJContentPane().add(sp);
// return jScrollPane;
}
// private static void createAndShowGUI() {
//Make sure we have nice window decorations.
// JFrame.setDefaultLookAndFe
//Create and set up the window.
// JFrame frame = new JFrame("TableDemo");
// frame.setDefaultCloseOpera
//Create and set up the content pane.
// TableDemo newContentPane = new TableDemo();
// newContentPane.setOpaque(t
// frame.setContentPane(newCo
//Display the window.
// frame.pack();
// frame.setVisible(true);
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I have tp go offline. Success.
ASKER
Wow you are good!!!!
Thanks for accepting