/*A simple GUI for one panel of the NEW dialog box using JAVA. This Program also however doesnot handle any event. The uniqueness of this program is the use of GridBagLayout in java effectively as rows and colums along with the use of panels.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class New extends JFrame {
private JPanel pnl_North,pnl_South,pnl_West,pnl_Center,pnl_2;
private JLabel lbltitle,lblcomment,lblimg,lbltype,lblpath,lblname,lbllocation,lblcheckbox;
private JTextField txtname,txtlocation;
private JCheckBox chkbox;
private JButton btnbrowse;
private GridBagConstraints c =new GridBagConstraints();
private GridBagLayout gbl = new GridBagLayout();
public New(String title){
super(title);
setSize(800,700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLayout(new BorderLayout());
setVisible(true);
addPanel();
}
public JPanel panelInitialize(JPanel pnl){
pnl = new JPanel();
pnl.setLayout(gbl);
pnl.setBorder(BorderFactory.createLineBorder(Color.BLACK));
return pnl;
}
void addPanel(){
pnl_North = panelInitialize(pnl_North);
add(pnl_North,BorderLayout.NORTH);
pnlNorth(pnl_North);
pnl_West = panelInitialize(pnl_West);
add(pnl_West,BorderLayout.WEST);
pnlWest(pnl_West);
pnl_2 = new JPanel();
pnl_2.setLayout(new BorderLayout());
add(pnl_2,BorderLayout.CENTER);
pnl_Center = panelInitialize(pnl_Center);
pnl_2.add(pnl_Center,BorderLayout.CENTER);
pnlCenter(pnl_Center);
pnl_South = panelInitialize(pnl_South);
pnl_2.add(pnl_South,BorderLayout.SOUTH);
pnlSouth(pnl_South);
}
void pnlNorth(JPanel pnl){
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 1;
c.weightx = 0.9;
lbltitle = new JLabel("File Path");
lbltitle.setForeground(Color.BLUE);
pnl.add(lbltitle,c);
c.gridx = 1;
c.gridy = 0;
c.gridheight = 2;
c.weightx=0.1;
c.insets = new Insets(0,50,0,5);
ImageIcon img = new ImageIcon("New logo.png");
lblimg = new JLabel(img);
pnl.add(lblimg,c);
c.gridheight = 1;
c.gridx = 0;
c.gridy = 1;
c.weightx = 0.9;
c.insets = new Insets(0,0,0,0);
lblcomment = new JLabel("Specify the name and path");
pnl.add(lblcomment,c);
}
void pnlWest(JPanel pnl){
c.insets = new Insets(0,5,5,5);
c.fill = GridBagConstraints.BOTH;
c.weighty = 0.1;
c.gridx = 0;
c.gridy = 0;
lbltype = new JLabel("File Type");
pnl.add(lbltype,c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 1;
c.weighty = 0.9;
lblpath = new JLabel("File Path");
pnl.add(lblpath,c);
}
void pnlCenter(JPanel pnl){
c.insets = new Insets(5,5,5,5);
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 0;
lblname = new JLabel("Name:");
pnl.add(lblname,c);
c.gridx = 1;
c.gridy = 0;
c.gridwidth=2;
txtname = new JTextField("",20);
pnl.add(txtname,c);
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 1;
lbllocation = new JLabel("Location:");
pnl.add(lbllocation,c);
c.gridx = 1;
c.gridy = 1;
txtlocation = new JTextField("",20);
pnl.add(txtlocation,c);
c.gridx=2;
c.gridy=1;
btnbrowse = new JButton("...");
pnl.add(btnbrowse,c);
c.insets = new Insets(50,0,0,0);
c.anchor = GridBagConstraints.SOUTH;
c.gridx = 0;
c.gridy = 2;
c.gridwidth=3;
JCheckBox chkbox = new JCheckBox();
chkbox.setLabel("Set as default page");
pnl.add(chkbox,c);
}
void pnlSouth(JPanel pnl){
c.insets = new Insets(5,5,5,5);
c.gridwidth=1;
JButton btn;
String[] name = {"Back","Next","Finish","Cancel","Help"};
for(int i=0;i<5;i++){
c.gridx = i;
btn = new JButton(name[i]);
pnl.add(btn,c);
}
}
public static void main (String[] args) {
New n = new New("New");
n.pack();
}
}
*/
import java.awt.event.*;
import javax.swing.*;
class New extends JFrame {
private JPanel pnl_North,pnl_South,pnl_West,pnl_Center,pnl_2;
private JLabel lbltitle,lblcomment,lblimg,lbltype,lblpath,lblname,lbllocation,lblcheckbox;
private JTextField txtname,txtlocation;
private JCheckBox chkbox;
private JButton btnbrowse;
private GridBagConstraints c =new GridBagConstraints();
private GridBagLayout gbl = new GridBagLayout();
public New(String title){
super(title);
setSize(800,700);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLayout(new BorderLayout());
setVisible(true);
addPanel();
}
public JPanel panelInitialize(JPanel pnl){
pnl = new JPanel();
pnl.setLayout(gbl);
pnl.setBorder(BorderFactory.createLineBorder(Color.BLACK));
return pnl;
}
void addPanel(){
pnl_North = panelInitialize(pnl_North);
add(pnl_North,BorderLayout.NORTH);
pnlNorth(pnl_North);
pnl_West = panelInitialize(pnl_West);
add(pnl_West,BorderLayout.WEST);
pnlWest(pnl_West);
pnl_2 = new JPanel();
pnl_2.setLayout(new BorderLayout());
add(pnl_2,BorderLayout.CENTER);
pnl_Center = panelInitialize(pnl_Center);
pnl_2.add(pnl_Center,BorderLayout.CENTER);
pnlCenter(pnl_Center);
pnl_South = panelInitialize(pnl_South);
pnl_2.add(pnl_South,BorderLayout.SOUTH);
pnlSouth(pnl_South);
}
void pnlNorth(JPanel pnl){
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 1;
c.weightx = 0.9;
lbltitle = new JLabel("File Path");
lbltitle.setForeground(Color.BLUE);
pnl.add(lbltitle,c);
c.gridx = 1;
c.gridy = 0;
c.gridheight = 2;
c.weightx=0.1;
c.insets = new Insets(0,50,0,5);
ImageIcon img = new ImageIcon("New logo.png");
lblimg = new JLabel(img);
pnl.add(lblimg,c);
c.gridheight = 1;
c.gridx = 0;
c.gridy = 1;
c.weightx = 0.9;
c.insets = new Insets(0,0,0,0);
lblcomment = new JLabel("Specify the name and path");
pnl.add(lblcomment,c);
}
void pnlWest(JPanel pnl){
c.insets = new Insets(0,5,5,5);
c.fill = GridBagConstraints.BOTH;
c.weighty = 0.1;
c.gridx = 0;
c.gridy = 0;
lbltype = new JLabel("File Type");
pnl.add(lbltype,c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 1;
c.weighty = 0.9;
lblpath = new JLabel("File Path");
pnl.add(lblpath,c);
}
void pnlCenter(JPanel pnl){
c.insets = new Insets(5,5,5,5);
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 0;
lblname = new JLabel("Name:");
pnl.add(lblname,c);
c.gridx = 1;
c.gridy = 0;
c.gridwidth=2;
txtname = new JTextField("",20);
pnl.add(txtname,c);
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 1;
lbllocation = new JLabel("Location:");
pnl.add(lbllocation,c);
c.gridx = 1;
c.gridy = 1;
txtlocation = new JTextField("",20);
pnl.add(txtlocation,c);
c.gridx=2;
c.gridy=1;
btnbrowse = new JButton("...");
pnl.add(btnbrowse,c);
c.insets = new Insets(50,0,0,0);
c.anchor = GridBagConstraints.SOUTH;
c.gridx = 0;
c.gridy = 2;
c.gridwidth=3;
JCheckBox chkbox = new JCheckBox();
chkbox.setLabel("Set as default page");
pnl.add(chkbox,c);
}
void pnlSouth(JPanel pnl){
c.insets = new Insets(5,5,5,5);
c.gridwidth=1;
JButton btn;
String[] name = {"Back","Next","Finish","Cancel","Help"};
for(int i=0;i<5;i++){
c.gridx = i;
btn = new JButton(name[i]);
pnl.add(btn,c);
}
}
public static void main (String[] args) {
New n = new New("New");
n.pack();
}
}
No comments:
Post a Comment