import javax.swing.*; import javax.swing.table.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class NewSwingComponents extends JFrame { private String[] listItems = { "... featuring", "multiple", "rows in a", "list." }; public NewSwingComponents() { super("Swing Components not found in AWT"); setSize(500, 400); Container content = getContentPane(); content.setLayout(new BorderLayout()); JPanel panel = new JPanel(); GridBagLayout gbl = new GridBagLayout(); panel.setLayout(gbl); GridBagConstraints gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.NORTHWEST; gbc.insets = new Insets(2, 3, 2, 3); gbc.gridy = 0; JLabel label1 = new JLabel("JProgressBar: "); gbc.gridx = 0; gbl.setConstraints(label1, gbc); panel.add(label1); // Swing Component: JProgressBar, 3 lines JProgressBar progressBar = new JProgressBar(); progressBar.setMaximum(2000); progressBar.setValue(100); gbc.gridx = 1; gbl.setConstraints(progressBar, gbc); panel.add(progressBar); gbc.gridy = 1; JLabel label2 = new JLabel("JPasswordField: "); gbc.gridx = 0; gbl.setConstraints(label2, gbc); panel.add(label2); // Swing Component: JPasswordField, 1 line JPasswordField passwordField = new JPasswordField("123456"); gbc.gridx = 1; gbl.setConstraints(passwordField, gbc); panel.add(passwordField); gbc.gridy = 2; JLabel label4 = new JLabel("JRadioButton: "); gbc.gridx = 0; gbl.setConstraints(label4, gbc); panel.add(label4); // Swing Component: JRadioButton, 1 line JRadioButton radioButton = new JRadioButton("A simple radio button"); gbc.gridx = 1; gbl.setConstraints(radioButton, gbc); panel.add(radioButton); gbc.gridy = 3; JLabel label5 = new JLabel("JSlider: "); gbc.gridx = 0; gbl.setConstraints(label5, gbc); panel.add(label5); // Swing Component: JSlider, 5 lines JSlider slider = new JSlider(1, 100, 30); gbc.gridx = 1; gbl.setConstraints(slider, gbc); panel.add(slider); gbc.gridy = 4; JLabel label6 = new JLabel("JSpinner: "); gbc.gridx = 0; gbl.setConstraints(label6, gbc); panel.add(label6); // Swing Component: JSpinner, 2 lines JSpinner spinner = new JSpinner(); gbc.gridx = 1; gbl.setConstraints(spinner, gbc); panel.add(spinner); gbc.gridy = 5; JLabel label7 = new JLabel("JTable: "); gbc.gridx = 0; gbl.setConstraints(label7, gbc); panel.add(label7); // Swing Component: JTable, 8 lines TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return 5; } public int getRowCount() { return 3;} public Object getValueAt(int row, int col) { return new Integer(row*col); } }; JTable table = new JTable(dataModel); gbc.gridx = 1; gbl.setConstraints(table, gbc); panel.add(table); content.add(panel, BorderLayout.CENTER); WindowListener wndCloser = new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }; addWindowListener(wndCloser); setVisible(true); } public static void main(String[] args) { NewSwingComponents newSwingComponents = new NewSwingComponents(); } }