/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package thegrader; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.border.Border; import javax.swing.event.*; import javax.swing.*; import javax.swing.event.ChangeListener; import MSlider.*; public class CategoryWeights extends JFrame { //MThumbSlider mSlider; JSlider mSlider; JButton addCat, applyBtn, okBtn, cancelBtn; NewCategory newCat; public class CategoryPanel extends JPanel { JTextField text; public CategoryPanel(String name, int weight) { getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS)); text = new JTextField(2); text.setText(Integer.toString(weight)); add(new JLabel(name + ": ")); add(text); add(new JLabel("%")); pack(); } } public class NewCategory extends JFrame { JTextField name; JButton okBtn, cancelBtn; public NewCategory() { JPanel pan = new JPanel(); setTitle("Add New Category"); pan.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); pan.setLayout(new BoxLayout(pan, BoxLayout.X_AXIS)); pan.add(new JLabel("Category Name: ")); pan.add(name = new JTextField(20)); add(pan); pan = new JPanel(); pan.setBorder(BorderFactory.createEmptyBorder(0,10,10,10)); pan.setLayout(new BoxLayout(pan, BoxLayout.X_AXIS)); pan.add(okBtn = new JButton("OK")); pan.add(cancelBtn = new JButton("Cancel")); add(pan); getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); pack(); okBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { NewCategory.this.setVisible(false); } }); cancelBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { NewCategory.this.setVisible(false); } }); } } public CategoryWeights() { JPanel pan, pan2; setTitle("Category Weights"); pan = new JPanel(); pan.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); pan.setLayout(new BoxLayout(pan, BoxLayout.X_AXIS)); pan.setAlignmentX(LEFT_ALIGNMENT); pan.add(addCat = new JButton("Add Category")); add(pan); /*mSlider = new MThumbSlider(2); mSlider.setValueAt(20, 0); mSlider.setValueAt(45, 1);*/ mSlider = new JSlider(); mSlider.setPreferredSize(new Dimension(600, 20)); mSlider.setMaximumSize(new Dimension(600, 20)); pan2 = new JPanel(); pan = new JPanel(); pan.setLayout(new BoxLayout(pan, BoxLayout.Y_AXIS)); pan.setBorder(BorderFactory.createEtchedBorder()); pan2.add(mSlider); pan.add(pan2); pan2 = new JPanel(); pan2.add(new JLabel("Homework Midterms Final ")); pan.add(pan2); add(pan); pan = new JPanel(); pan.setLayout(new BoxLayout(pan, BoxLayout.Y_AXIS)); pan.add(new CategoryPanel("Homework", 20)); pan.add(new CategoryPanel("Midterms", 25)); pan.add(new CategoryPanel("Final", 55)); pan.setAlignmentX(LEFT_ALIGNMENT); add(pan); pan = new JPanel(); pan.add(applyBtn = new JButton("Apply")); pan.add(okBtn = new JButton("OK")); pan.add(cancelBtn = new JButton("Cancel")); add(pan); getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); pack(); okBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { CategoryWeights.this.setVisible(false); } }); cancelBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { CategoryWeights.this.setVisible(false); } }); addCat.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { if (newCat == null) newCat = new NewCategory(); newCat.setVisible(true); } }); } }